Question VBA

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

2 réponses

eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
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.

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
0
Antoine
 
Merci beaucoup je teste ça tout de suite
0