Bonjour,
avec l'instruction Find vous pouvez chercher une valeur dans une plage et elle vous retourne un objet Range s'il y a bien une valeur à trouver.
Donc la plage correspondrait à la ligne des entêtes de vos colonnes :
Set Plage = Range("A1:Z1")
On définie Trouve comme un objet Range et il recevra le résultat de la recherche :
Dim Trouve As Range
On définie Valeur qui correspond à la valeur cherchée, le nom de l'entête de la colonne :
Dim Valeur As String
Et voilà on a à peu tout ce qu'il nous faut, ensuite une fois qu'on a trouvé la valeur cherchée, indirectement on connait la colonne grâce à Trouve.Column.
Le code complet avec une entête égale à LouReeD et une insertion entre la colonne B et C :
Sub Test()
Dim Trouve As Range, Valeur As String, Plage As Range
' définition d ela plage
Set Plage = Range("A1:Z1")
' définition de la valeur de l'entête
Valeur = "LouReeD"
' on attribue à Trouve le résultat de la recherche
Set Trouve = Plage.Find(Valeur)
' si Trouve est différent de rien = on a trouver "LouReeD" dans la plage de recherche
If Not Trouve Is Nothing Then
' on coupe la colonne de cette entête
Columns(Trouve.Column).Cut
' on l'insert entre la colonne B et C en donc on prend C
Columns("C:C").Insert Shift:=xlToRight
End If
End Sub
@ bientôt
LouReeD