Bonjour,
Je tiens à préciser tout d'abord que je suis novice en vba.
Il est sans doute vrai que le titre de mon post n'est pas très explicite, mais je ne savais pas trop comment exprimer mon pb. Voici mon soucis de manière plus détaillé et clair :
A partir d'un userform de saisie, je remplis des lignes d'un tableau excel. Chaque ligne est identifié par un N° et comporte plusieurs champs. Ensuite j'effectue une deuxième saisie de plusieurs champs supplémentaires en complétant mes lignes à partir du N° comme identifiant. Dans mon userform je saisie le n° souhaité dans un textbox puis dans deux autres textbox les info complémentaires et enfin je valide cette saisie par un bouton de commande.
Mais je souhaite introduire dans ma macro un msg qui averti l'utilisateur lorsqu'il a saisie un n° erroné .
Voici le code de ma macro du bouton de commande :
Voila comment réagi ma macro : lorsque je saisie un n° erroné, il m'indique le msg et puis ferme l'userform, mais lorsque que je saisie un n° existant, cela complète bien les champs de la ligne correspondante, mais affiche quand même le msg d'erreur.
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 Private Sub CommandButton1_Click() Sheets("feuil1").Activate n = 9 Do While Cells(n, 3) <> "" 'c'est la boucle que j'utilise pour chercher le n° correspondant dans ma liste (ici la colonne 3) If Cells(n, 3) = TextBox7.Value Then Cells(n, 16).Value = TextBox8 'saisie des champs complémentaires Cells(n, 17).Value = TextBox9 End If n = n + 1 Loop If TextBox7.Value <> Cells(n, 3) Then 'j'introduis une nouvelle condition pour qu'il indique ce msg dès que la valeur saisie colle pas à ma liste MsgBox ("ce n°retour n'existe pas") End If Unload UserForm2 ActiveWorkbook.save End sub
Je sens que mon pb doit pas être bien compliqué, mais j'ai essayé de modifié et testé ma macro , mais sans jamais obtenir le résultat escompté!!
J'ai juste besoin d'un pti coup de !!!!
Est-ce que quelqu'un pourrait m'aider (en espérant que l'explication soit compéhensible) ? merci
Partager