Aller au contenu

VBA (Excel), comment détecter une mise en forme?


Xevius

Messages recommandés

Bonjour,

Je travaille actuellement sur une macro de récupération de données dans une feuille Excel. certaines lignes ne sont pas utiles et sont donc "rayées" avec le trait diagonal des bordures de cellules.

Le problème c'est que je dois différencier les cellules vides sans la "rayure" et les cellules vides simples. En gros je dois incrémenter un compteur pour chaques cellules vides sans rayures.

Sauf que je n'arrive pas à détecter cette "rayure". J'ai essayé de recuperer la valeur "Cells(i, 2).Borders(xlDiagonalUp).LineStyle" mais cette valeur ne change pas :s

le code donne ça:

For i = Debut To 65536
 If (Cells(i, 2) = "" And .Cells(i, 6) = "") Then
	  Cells(i, 2).EntireRow.Delete
	  i = i - 1
	  If Cells(i, 2).Borders(xlDiagonalUp).LineStyle <> xlContinuous Then
		   Delete = Delete + 1
	  End If
	  Else
		   Info = Info + 1
		   TotalDelete = TotalDelete + Delete
		   Cells(i, 12) = i + TotalDelete
		   Delete = 0
 End If
 If Delete >= 50 Then Exit For
Next i

Ce code permet de regrouper les lignes contenant des données, supprimer les lignes vides, connaitre le nombre d'infos final

il devrait, s'il fonctionnait comme je le voulais, ne pas incrémenter la valeur delete si la case est barrée...

Merci d'avance de votre aide!

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...