Salut ugojoulin,
Salut Xorsankukai,
pour compléter l'excellent code de Xor,
'
Dim Y%
'
For Y = 100 To 3 Step -1 'colonne 3 à 100
If Cells(9, Y) = "%" Or Cells(9, Y) = "" Then Columns(Y).Delete shift:=xlToLeft
Next
'
Tes erreurs ;
- quand on veut supprimer des lignes ou colonnes, on procède à rebrousse-poil ;
Imagine-toi, dans ta boucle FOR NEXT, être sur la colonne, par ex. 10, qui correspond aux critères d'effacement.
Donc, la colonne 10 s'efface... la colonne 11 prend donc la place de la 10... -> NEXT t'envoie vers la colonne 11 qui est en fait l'ex-colonne 12 : tu as ainsi zappé le contrôle de l'ex -colonne 11!
Or Cells(9, Y) = " "
La, tu recherches une ESPACE alors que ton critère est le vide, donc "" !
- enfin, petit détail pour Xor,
shift:=xlToLeft
pour la beauté du geste!
A+