Boucle For/Condition If après un InputBox
Résolu
GouduriXx
-
Pierre1310 Messages postés 8854 Statut Membre -
Pierre1310 Messages postés 8854 Statut Membre -
Bonjour,
J'ai un soucis, J'ai un problème sur mon problème mais je ne vois pas ce problème.
Voilà la partie qui ne fonctionne pas est en gras. Malgrés que je rentre un chiffre entre 1 et 10 dans la inputbox "form" je n'arrive pas à passer cette condition "form=i", je reçois directement mon message "erreur3".
Pouvez vous me dire où ai-je fais une erreur svp ?
Merci d'avance
J'ai un soucis, J'ai un problème sur mon problème mais je ne vois pas ce problème.
Sub MAJ_Tab() Equipe = InputBox("Dans quelle équipe ?" & Chr(10) & Chr(10) & "1-Equipe Xavier" & Chr(10) & "2-Equipe Olivier", "Qui a été formé", "Veuillez saisir le numéro de l'équipe de l'opérateur formé") If Equipe = 1 Then b = 0 <gras> Form = InputBox("Qui a été formé récemment ?" & Chr(10) & Chr(10) & "1-" & Cells(1, 3) & Chr(10) & "2-" & Cells(1, 4) & Chr(10) & "3-" & Cells(1, 5) & Chr(10) & "4-" & Cells(1, 6) & Chr(10) & "5-" & Cells(1, 7) & Chr(10) & "6-" & Cells(1, 8) & Chr(10) & "7-" & Cells(1, 9) & Chr(10) & "8-" & Cells(1, 10) & Chr(10) & "9-" & Cells(1, 11) & Chr(10) & "10-" & Cells(1, 12), "Opérateur formé", "Entrer le numéro de l'opérateur formé") For i = 1 To 10 If Form = i Then 'pk ça ne marche pas</gras> a = 0 Poste = InputBox("Sur quel poste a t-il été formé ?", "Quelle formation", "Veuillez indiquer le nom du poste comme indiqué dans le tableau") For j = 2 To 18 If Poste = Cells(j, 1) Then Niveau = InputBox("A quel niveau a t'il été formé" & Chr(10) & Chr(10) & "1-Niveau qualifié" & Chr(10) & "2-Niveau professionnel" & Chr(10) & "3-Niveau expert", "Niveau de formation", "Indiquer par 1,2 ou 3 le niveau de formation") If Niveau = 1 Then Cells(j, 3) = 1 Else If Niveau = 2 Then Cells(j, 3) = 2 Else If Niveau = 3 Then Cells(j, 3) = 3 Else Erreur1 = MsgBox("Ce niveau n'existe pas", vbExclamation, "Recommencez") End If End If End If Else a = a + 1 If a = 17 Then Erreur2 = MsgBox("Ce poste n'existe pas ou ne correspond pas à l'orthographe du tableau", vbExclamation, "Recommencez") End If End If Next Else b = b + 1 If b = 10 Then Erreur3 = MsgBox("Cet opérateur n'existe pas", vbExclamation, "Recommencez") End If End If Next Else
Voilà la partie qui ne fonctionne pas est en gras. Malgrés que je rentre un chiffre entre 1 et 10 dans la inputbox "form" je n'arrive pas à passer cette condition "form=i", je reçois directement mon message "erreur3".
Pouvez vous me dire où ai-je fais une erreur svp ?
Merci d'avance
A voir également:
- Boucle For/Condition If après un InputBox
- Downloader for pc - Télécharger - Téléchargement & Transfert
- Excel cellule couleur si condition texte - Guide
- Idm for mac - Télécharger - Téléchargement & Transfert
- Instagram for pc - Télécharger - Divers Communication
- Microsoft store download for pc - Guide
3 réponses
Bonjour,
Tu as essayer de forcer manuellement dans un premier temps?
Essaye ça et regarde si tu vas toujours dans l'erreur3.
Tu as essayer de forcer manuellement dans un premier temps?
Essaye ça et regarde si tu vas toujours dans l'erreur3.
Bonjour,
Une inputbox retourne un String, donc "1", "2" etc... qui sera forcément différent de 1, 2 etc
Essaye ce test :
Avant, j'arrivais jamais à finir mes phrases... mais maintenant je
Une inputbox retourne un String, donc "1", "2" etc... qui sera forcément différent de 1, 2 etc
Essaye ce test :
Sub test() Form = InputBox("Qui a été formé récemment ?" & Chr(10) & Chr(10) & "1-" & Cells(1, 3) & Chr(10) & "2-" & Cells(1, 4) & Chr(10) & "3-" & Cells(1, 5) & Chr(10) & "4-" & Cells(1, 6) & Chr(10) & "5-" & Cells(1, 7) & Chr(10) & "6-" & Cells(1, 8) & Chr(10) & "7-" & Cells(1, 9) & Chr(10) & "8-" & Cells(1, 10) & Chr(10) & "9-" & Cells(1, 11) & Chr(10) & "10-" & Cells(1, 12), "Opérateur formé", "Entrer le numéro de l'opérateur formé") For i = 1 To 10 If Form = CStr(i) Then MsgBox "Condition vérifiée valeur : " & i End If Next End Sub
Avant, j'arrivais jamais à finir mes phrases... mais maintenant je
J'ai testé en mettant "dim i as Byte" et maintenant ça fonctionne !
Merci pour votre aide.
Ca m'apprendra à pas déclarer mes variables.
Bonne fin de journée à vous
Merci pour votre aide.
Ca m'apprendra à pas déclarer mes variables.
Bonne fin de journée à vous
Oui mais pourtant si tu regarde la inputbox qui suit et l'autre boucle for, je n'est pas déclaré ma variable j et pourtant ça fonctionne bien. Depuis hier je me casse la tête pour ça j'aurais du venir direct ici :).
Après les déclarations de variables je gère pas du tous je sais jamais trop comment déclarer ^^
Après les déclarations de variables je gère pas du tous je sais jamais trop comment déclarer ^^
https://www.excel-pratique.com/fr/vba/variables.php
Utilise ça.
N'utilise le variant qu'en dernier recours.
Utilise ça.
N'utilise le variant qu'en dernier recours.
dim i as variant ?
Variant est bien si tu ne sais pas quelle place prendra ta variable.
Le vba est un script donc c'est mieux de l'optimiser pour privilégier la vitesse.