Re,
Non c'est pas exactement ça. Quand j'ai construit l'UserForm au début je n'avais pas prévu les trois TextBoxes correspondant à la ListBox1. je les ai donc rajoutées après et c'est pour cela quelles portent les numéros 18 à 20
Les 3 colonnes de la ListBox1 s'alimente via le tableau des valeurs TV donc indépendamment des TextBoxes 18 à 20 avec :
For I = 2 To DL 'boucle sur toutes les lignes I du tableau des valeurs TV (en partant de la seconde)
If TV(I, 1) = Me.ComboBox1 Then 'condition : si la donnée ligne I colonne 1 de TV est égale à la valeur de la ComboBox1
Ligne = I 'définit la ligne Ligne
With Me.ListBox1 'prend en compte la ListBox1
.AddItem 'ajoute un élément
.Column(0, .ListCount - 1) = TV(I, 14) 'récupère dans la colonne 0 de la ListBox1 la donnée ligne I colonne 14 de TV
.Column(1, .ListCount - 1) = TV(I, 15) 'récupère dans la colonne 1 de la ListBox1 la donnée ligne I colonne 15 de TV
.Column(2, .ListCount - 1) = TV(I, 16) 'récupère dans la colonne 2 de la ListBox1 la donnée ligne I colonne 16 de TV
End With 'fin de la prise en compte de la ListBox1
End If 'fin de la condition
Next I 'prochaine ligne de la boucle
En revanche, pour alimenter toutes les TextBoxes c'est la propriéte [Tag] de la TextBox qui permet de récupérer la valeur quelque soit l'ordre. Cette propriété correspond à la colonne du tableau.
'alimentation des TextBoxes
For I = 1 To 20 'boucle sur les 20 TextBoxes
Me.Controls("TextBox" & I) = "" 'efface l'ancienne valeur
Me.Controls("TextBox" & I) = GT.Cells(Ligne, Me.Controls("TextBox" & I).Tag) 'reçupère la valeur de la Ligne
Next I 'prochaine TextBox de la boucle
Pour mieux comprendre, sélectionne la propriété [Tag] dans la fenêtre des propriétés puis clique une à une dans les différentes TextBoxes et regarde cette propriété... Tu vois, l'ordre n'a plus d'importance et cela permet de renseigner les contrôles via une boucle comme cela permet de renvoyer les valeur des contrôles dans le tableau via une autre boucle.
J'espère que c'est clair.
Bon maintenant c'est moi qui ai une question.
Quand tu ajoutes un données qui est déjà dans la liste.
Est-ce que obligatoirement les colonnes B à M, Q à U restent inchangées et seules les colonne N à P peuvent changer ou
N'importe quelle colonne peut-être modifiée ?