Bon j'ai un début de code fonctionnel apparemment mais cela me parait compliqué et je pense qu'il y a plus simple ...
Sheets("Feuil2").Select
Range("A1:G8").Select
nligne = Selection.Rows.Count - 1
ncol = Selection.Columns.Count
For i = 1 To nligne
For j = 1 To ncol
If IsEmpty(Cells(i, j)) Then Cells(i, j).Interior.ColorIndex = 6
Next j
Next i
For i = 1 To nligne
For j = 1 To ncolIf Cells(i, j).Interior.ColorIndex 6 And Cells(i, j) "" Then Cells(i, (j - 1)).Interior.ColorIndex = 7
Next j
Next i
For i = 1 To nligne
For j = 1 To ncolIf Cells(i, j).Interior.ColorIndex 6 Then Cells(i, j).Interior.ColorIndex xlNoneIf Cells(i, j).Interior.ColorIndex 7 And Cells(i, j) "" Then Cells(i, j).Interior.ColorIndex = xlNone
Next j
Next i
sinon pour trouver la derniere ligne du tableau contenant une donnée
faut partir d'en bas et remonter :
Range("A65536").End(xlUp).Row
ou encore:
Si la page n'est pas vide et que tu veux savoir combien de lignes et de colonnes il y a, tu fais comme suit.
Si tu as des données sur 20 lignes et que la ligne 25 est rouge, ça te retournera 20 comme nombre de lignes.
Si tu utilises UsedRange, ça te retournera 25, même chose avec SpecialCells(xlCellTypeLastCell)
Et tu mets ces procédures où bon te semble...
Sub MaSub()
Dim nbLignes As Long, nbColonnes As Long
MsgBox "La dernière ligne contenant des données est la ligne " & nbLignes & vbCrLf & _
"et la dernière colonne contenant des données est la colonne " & Chr(64 + nbColonnes)
End Sub
Et si tu veux savoir combien de lignes il y a dans une colonne particulière (ici B)