Re,
La sélection du range se fait avec
For i = 267 To 3 Step -1
For y = 5 To 20
ou i = numéro de colonne et y = numéro de ligne
la range C5:GJ500
correspond donc à
for i = 500 to 5 step -1
for y 3 to 192 où 3 correspond à la colonne C et 192 à GJ
Si tous tes tableaux ont la même forme (nombre de ligne/colonne) et le même emplacement tu peux rester sur ce code, sinon il faudra renommer ton tableau et appliquer le même procédure que dans mon premier code.
Ce code peut s'utiliser dans un module.
tu as deux solution pour celà :
- Sois tu traite feuille par feuille dans ce cas, un bouton sur chaque feuille appelant la macro
- Sois tu le fais par lots, et dans ce cas, il faut rajouter une boucle
Dim Ws As Worksheet
For Each Ws In Worksheets
For i = 267 To 3 Step -1
For y = 5 To 20
If ws.Cells(y, i) = "NoData" Then
ws.Columns(i).EntireColumn.Delete
GoTo 1
End If
Next y
1
Next i
next Ws
End Sub