Jean Eric,
J'ai du mal m'exprimer.
Je ne veux pas un TCD final.
Le principe du TCD est justement que chacun constitue celui (ou ceux) qui lui convient (conviennent) en fonction du type d'analyse recherché.
Je cherche simplement à ce que la liste des champs du TCD qui apparait dans la fenêtre en haut à droite de l'écran se présente dans un ordre cohérent.
Je cherche donc à déplacer les colonnes selon l'ordre qui me convient.
Mais ma boucle ne fonctionne pas.
'---- Titres des colonnes dans l'ordre souhaité
Const Col1 As String = "Activité"
Const Col2 As String = "Sous-activité 1"
Const Col3 As String = "Sous-activité 2"
Const Col4 As String = "Agence CA"
Const Col5 As String = "Agence CP"
etc ...
Const Col 45 As String = "P.Annexe"
'--- Déplacement des colonnes
Dim i As Integer
Const Col As String = "Col"
i = 1
For i = 1 To 45
Col = "Col" & i
'--- Recherche de la colonne à déplacer (Col & i)
Rows("1:1").Select
Selection.Find(What:= & col & i, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.EntireColumn.Select
'--- Couper et coller (en colonne i)
Selection.Cut
Range(Columns(i), Columns(i)).Select
Selection.Insert Shift:=xlToRight
i = i + 1
Next i
Je vois bien que mon Selection.Find avec ma colonne sous la forme & Col & i n'est pas bon.
& Col & i a pour valeur Col1 ou Col2 ou ... Col45 selon la valeur de i, mais pas le titre de la colonne que je cherche.
Qui ne cherche pas ne trouve pas. Mais je cherche et ne trouve pas non plus.
Merci beaucoup pour votre éclairage.