Bonjour,
Suis coincé sur un point :
je recherche dans chaque cellule de la ligne n°17 d'un tableau ( de colonne 1 à 65) si j'ai chaque libellé contenu dans le array motcherche. Si je trouve, je nomme dans le tableau 1 dimension colonne (k) = lettre de la colonne où j'ai trouvé le libellé.
Ex : si colonne Q contient "envoi prévu PT", le résultat sera colonne(1) = "Q" . et ainsi de suite.
J'ai programmé le reste en mettant colonne(1) à chaque fois que je veux utiliser la lettre "Q". Mais à chaque nouvelle colonne insérée dans mon tableau, les numéros changent à partir de l'insertion.
Je souhaiterais donc pouvoir utiliser non pas colonne(k) = Q mais passer par une variable dont le nom serait le premier élément du array : exemple : envoi prévu PT = Q et ainsi de suite, ce qui me permettrait de replacer directement dans le programme par la suite là où je veux utiliser la lettre Q par la variable dont le nom sera le libellé de l'élément de l'array reconnu, dans l'exemple "envoi prévu PT" .
J'espère être claire ...
Merci beaucoup pour votre aide
Suis coincé sur un point :
je recherche dans chaque cellule de la ligne n°17 d'un tableau ( de colonne 1 à 65) si j'ai chaque libellé contenu dans le array motcherche. Si je trouve, je nomme dans le tableau 1 dimension colonne (k) = lettre de la colonne où j'ai trouvé le libellé.
Ex : si colonne Q contient "envoi prévu PT", le résultat sera colonne(1) = "Q" . et ainsi de suite.
J'ai programmé le reste en mettant colonne(1) à chaque fois que je veux utiliser la lettre "Q". Mais à chaque nouvelle colonne insérée dans mon tableau, les numéros changent à partir de l'insertion.
Je souhaiterais donc pouvoir utiliser non pas colonne(k) = Q mais passer par une variable dont le nom serait le premier élément du array : exemple : envoi prévu PT = Q et ainsi de suite, ce qui me permettrait de replacer directement dans le programme par la suite là où je veux utiliser la lettre Q par la variable dont le nom sera le libellé de l'élément de l'array reconnu, dans l'exemple "envoi prévu PT" .
J'espère être claire ...
Merci beaucoup pour votre aide
Code:
Option Explicit
Dim semaine As Variant
Dim Nb_Lignes As Integer
Dim i As Integer
Dim dates As Date
Dim annéeencours As Variant
Dim moiscolonneQ As Variant
Dim mois As Integer
Dim colonne(1 To 22) As String
Sub repérage_colonnes()
Dim i As Integer
Dim j As Integer
Dim z As Integer
Dim NumCol As Integer
Dim texte As String
Dim essai As String
Dim k As Integer
Dim motcherche As Variant
k = 1
NumCol = 0
motcherche = Array("envoi prévu PT", "envoi réel mail PT", "ecart PT", "retard PT", "mois PT", "saisie1", "finsaisie1", "Ecart saisie1", "saisie2", "finsaisie2", "Ecart saisie2", "mois DATA", "S rés. prél.", "S envoi rés. prél.", "Ecart rés. prél.", "retard rés. prél.", "Mois rés. prél.", "S RP", "S envoi DRAFT RP", "Ecart RP", "Retard RP", "Mois RP")
For i = 1 To 65
NumCol = Cells(17, i).Column
texte = Cells(17, i).Value
'MsgBox NumCol
'MsgBox texte
For j = 0 To UBound(motcherche, 1)
essai = motcherche(j)
MsgBox essai
If Cells(17, i).Value Like essai Then
colonne(k) = NumCol2Lettre(NumCol)
MsgBox colonne(k)
k = k + 1
End If
Next
Next
Public Function NumCol2Lettre(ByVal NumCol As Long) As String
NumCol2Lettre = Split(Cells(, NumCol).Address, "$")(1) '$A$1
End Function