Sélection de plusieurs colonnes en fonction des entêtes

Bonjour,

je sais sélectionner une colonne avec une entête ici "CGMOD_P" avec le code suivant repris sur le forum,

Sub Col_Select()
Dim Cel As Range

  Set Cel = Cells.Find(what:="CGMOD_P")
  If Not Cel Is Nothing Then
    Cells(1, Cel.Column).Resize(Cells(Rows.Count, Cel.Column).End(xlUp).Row).Select
  Else
    MsgBox "Pas trouvé le nom "
    Exit Sub
  End If

End Su

J'aimerai le faire avec plusieurs en tête (ex. "CGMOD_P" et "ORD").

Si quelqu'un peut m'aider.

Mercipar avance

Bonjour,

Voir si ça convient :

Sub Col_Select()
Dim Cel As Range
Dim Rech As Variant
Dim X As Byte

Rech = Array("CGMOD_P", "ORD", "TEST_2", "TOTAUX") ' variable tableau
For X = 1 To 4                                     ' boucle sur le nombre
    Set Cel = Cells.Find(what:=Rech(X - 1)) ' variable tableau commence à 0, on doit soustraire 1
    If Not Cel Is Nothing Then
        Cells(1, Cel.Column).Resize(Cells(Rows.Count, Cel.Column).End(xlUp).Row).Select
    Else
        MsgBox "Pas trouvé le nom "
        Exit Sub
    End If
Next X    ' fermer la boucle
End Sub

Gelinotte

Bonjour,

avec une array

Option Explicit

Sub Col_Select()
Dim a, i, trouve, FirstAddress
a = Array("CGMOD_P", "ORD", "autre")
Dim cel As Range
With ActiveSheet.Cells
   For i = 0 To UBound(a)
      Set cel = Cells.Find(what:=a(i))
      If Not cel Is Nothing Then
         FirstAddress = cel.Address
         Do
            Cells(1, cel.Column).Resize(Cells(Rows.Count, cel.Column).End(xlUp).Row).Select
            Selection.Interior.ColorIndex = 14
            Set cel = .FindNext(cel)
            trouve = True
         Loop While Not cel Is Nothing And cel.Address <> FirstAddress
      Else
         trouve = False
      End If
      If Not trouve Then MsgBox "Pas trouvé le nom " & a(i)
   Next i
End With
End Sub

En fait je voudrais que toutes les colonnes restent sélectionnées en même temps adin de les copier

Rechercher des sujets similaires à "selection colonnes fonction entetes"