Jump to content

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


Recommended Posts

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!

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...