Supprimer colonne VBA

nougitch

XLDnaute Occasionnel
Bonjour,

J'ai le code suivant :

Code:
    MaxColumn = Range("IV2").End(xlToLeft).Column
    For z = 1 To MaxColumn Step 1
        If Cells(2, z).Value <> "Instrument type" Then
            MsgBox z
            Columns(z).Delete Shift:=xlToLeft
        End If
    Next

Mais ma colonne ne s'efface pas ?

Merci par avance pour votre aide.
Cdt,
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re : Supprimer colonne VBA

Bonjour

essaies en bouclant à l'envers


Code:
MaxColumn = Range("IV2").End(xlToLeft).Column
    For z = MaxColumn to 1 Step -1
        If Cells(2, z).Value <> "Instrument type" Then
            MsgBox z
            Columns(z).Delete
        End If
    Next
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re : Supprimer colonne VBA

Re

par exemple tu supprimes ta colonne A donc ta colonne B se retrouve en A mais la boucle elle continue à partir de la colonne B et donc tu n'auras pas testé ta colonne B qui est maintenant en A :D

J'aime bien ce genre d'explications :D

Par contre en partant à l'envers il n'y a jamais de problème. C'est la même chose pour la suppression des lignes. Il vaut mieux boucler de bas en haut
 

Régis28

XLDnaute Nouveau
Re : Supprimer colonne VBA

Bonjour,

J'ai essayé d'adapter ces lignes à mon cas :

Si 0 dans une cellule en ligne 3 alors suppression de la colonne entière :

Sub Macro1()
For Z = Range("a3").End(xlToRight).Column To 1 Step -1
If Cells(2, Z).Value = 0 Then
Columns(Z).Delete
End If
Next
End Sub

Mais ça me delete toutes les colonnes indépendament de la valeur...
Pouvez vous m'aider ?
Merci d'avance
Régis28
 

Discussions similaires

Statistiques des forums

Discussions
312 398
Messages
2 088 066
Membres
103 711
dernier inscrit
amin Saadaoui