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
Configuration: Windows XP / Internet Explorer 6.0

2 réponses

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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
  2. Antoine
     
    Merci beaucoup je teste ça tout de suite
    0