Bonjour forum,

J'ai une feuille sur laquelle j'enregistre des données de clients et de véhicules.

Je voudrais que lorsque je parcours la colonne B du tableau, s' il n' y a pas de correspondance entre les lignes et la valeur du Textbox, alors on ajoute une nouvelle ligne au tableau sinon je modifie la ligne trouvée.
Voici le code que j'ai écrit.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
.     Dim X as integer, Y as integer, i as integer
 
X= Sheets("Client").Range( "B" & Rows.Count).End(Xlup).Row
 
For i= 2 to X
 
If Sheets( "Client").Range("B" &  i)<> TextBox1 then 
 
Sheets("Client"). ListObjects(1).Listrows.Add
 
Y= Sheets("Client").Range( "B" & Rows.Count).End(Xlup).Row
 
Sheets("Client").Range("A" & Y)= TextBox1
Sheets(" Client").Range( "B" & Y)= TextBox2
 
Else
 
Sheets ("Client").Range("A" & i)= TextBox1
Sheets ( "Client").Range( "B" & i)= TextBox2
 
End if
Next i
le code fonctionne mais le problème est qu'arrivé sur la 4e ligne du tableau, au lieu d'ajouter une nouvelle ligne, il en ajoute 2. Après il en ajoute 6 ensuite 13, 26 etc ...
J'ai essayé de bloquer la boucle en ajoutant exit for pour vérification et j'ai constaté que c'était la boucle le problème.

Donc comment procéder ? Car quand je sors de la boucle, il ne vérifie plus mais ajoute maintenant une ligne comme je le souhaite.

Merci à vous