Bonjour Éric, bonjour le forum,
Une colonne contient maintenant 1 048 576 cellules (65 538 avec la version Excel 2003). Il est donc très vraisemblables que des cellules vides tu en aies un nombre considérable ! Il te faut définir la limite inférieure pour ta recherche et surtout dire de quelle colonne il s'agit. Avec le bout de code que tu daignes fournir on pourrait en déduire qu'il s'agit de la colonne D
Je verrais les choses comme ça :
Sub Macro1()
Dim O as Object 'déclare la variable O (Onglet)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim PL As Range 'déclare la variable PL (PLage)
Dim CEL as Range 'déclare la variable CEL (CELlule)
Set O = Sheets("Feuil1") 'définit l'onglet O (à adapter)
DL = O.Cells(Application.Rows.Count, 4).End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne 4 (=D)
Set PL = O.Range("D1:D" & DL) 'définit la plage PL
For Each CEL In PL 'boucle sur toutes les cellules CEL de la plage PL
If CEL.Value = "" then 'condition : si la cellule CEL est vide
'Left(CEL.Offset(0, -1).Value, 2)... ton code...
End IF 'fin de la condition
Next CEL 'prochaine cellule de la boucle
End Sub