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
- Copytrans heic for windows - Télécharger - Visionnage & Diaporama
- Excel condition ou - Guide
- Press the esc key for startup menu - Forum Matériel & Système
3 réponses
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.