Question VBA
Antoine
-
Antoine -
Antoine -
Bonjour, j'ai un petit souci avec une macro VBA
J'ai un fichier différent chaque semaine, qui s'ouvre directement dans un tableau excel.
Je me retrouve avec plusieurs colonnes dans mon tableau et j'aimerai un petit code VBA pour ne garder que certaines colonnes en reconnaissant le titre de la colonne qui est dans la cellule 1 de chacune de celle ci
Ex:
Colonne
A B C D
Cel 1 Titre Nom Prénom Age Tel
Cel 2 xxx xxx xxx xxx
Ici par exemple je voudrais ne garder que la colonne prénom et âge et supprimer les autres colonnes
Merci d'avance
J'ai un fichier différent chaque semaine, qui s'ouvre directement dans un tableau excel.
Je me retrouve avec plusieurs colonnes dans mon tableau et j'aimerai un petit code VBA pour ne garder que certaines colonnes en reconnaissant le titre de la colonne qui est dans la cellule 1 de chacune de celle ci
Ex:
Colonne
A B C D
Cel 1 Titre Nom Prénom Age Tel
Cel 2 xxx xxx xxx xxx
Ici par exemple je voudrais ne garder que la colonne prénom et âge et supprimer les autres colonnes
Merci d'avance
2 réponses
Bonsoir,
Une petite macro à mettre dans un module.
Agit sur la feuille active du classeur actif.
Dans Array(....) tu dois mettre le nom exact (majuscules, accents,...) des colonnes à conserver.
eric
Une petite macro à mettre dans un module.
Agit sur la feuille active du classeur actif.
Dans Array(....) tu dois mettre le nom exact (majuscules, accents,...) des colonnes à conserver.
Sub suppColonnes()
Dim col As Variant, i As Long, j As Long, ok As Boolean
col = Array("Prénom", "Age")
If MsgBox("Cette macro va supprimer des colonnes. Confirmez-vous ?", vbYesNo) = vbYes Then
For i = [IV1].End(xlToLeft).Column To 1 Step -1
ok = True
If Cells(1, i) = "" Then
ok = False
Else
For j = 0 To UBound(col)
If Cells(1, i) = col(j) Then
ok = False
End If
Next j
End If
If ok Then Columns(i).EntireColumn.Delete
Next i
End If
End Sub
eric