Bonsoir Sandrine,
ah, la vie de famille qui t'interrompt à tout bout de champ!
Je n'ai pas pris le temps de lire ton 2eme post mais voilà ma réponse à intégrer, sans autre indication, dans un bouton de commande.
Private Sub CmdNettoyage_Click()
'
iFlag = Range("AAA1").End(xlToLeft).Column
'
For x = iFlag To 1 Step -1
If Trim(LCase$(Cells(1, x))) <> "ville" And Trim(LCase$(Cells(1, x))) <> "commentaires" And Trim(LCase$(Cells(1, x))) <> "element" Then
'iFlag2 = Cells(Rows.Count, x).End(xlUp).Row
Range(Cells(1, x), Cells(Rows.Count, x)).Delete shift:=(xlToLeft)
End If
Next
'
End Sub
C'est fort similaire, forcément! Le tout est de savoir si d'autres données (importantes?) sont placées en-dessous de ton tableau à nettoyer (raison de la ligne de code sous apostrophe).
Bien à toi.
+