Problème conditions doubles & while sans wend
lulu93
-
lulu93 -
lulu93 -
Bonjour,
voila je suis débutant en vba, et je souhaiterais faire une programmation sur vb pour un tableau qui est le suivant:
nom age fac appréciaton
fred 20 paris
anna 22 lille
lulu 23 nice
voila en fait il faut que j'associe 2 conditions (age et fac) pour avoir une appréciation donnée, c'est à dire par exemple, si age=20 et fac =paris alors appréciation= bien. Dans vb j'ai essayé la programmation suivante, et j'ai toujours une meme erreur: while sans wend
Sub calcul1()
Dim age As Single, fac As String, i As Integer
i = 2
age = Sheets("Feuil2").Cells(i, 2)
fac = Sheets("Feuil2").Cells(i, 3)
While Not IsEmpty(Sheets(Feuil2).Cells(i, 2))
If (Sheets("Feuil2").Cells(i, 2)) = 20 Then
If (Sheets("Feuil2").Cells(i, 3)) = paris Then
Sheets("Feuil2").Cells(i, 4) = "bien"
ElseIf (Sheets("Feuil2").Cells(i, 2)) = 23 Then
If (Sheets("Feuil2").Cells(i, 3)) = lille Then
Sheets("Feuil2").Cells(i, 4) = "pas bien"
Else
Sheets("Feuil2").Cells(i, 4) = "non concerné"
End If
i = i + 1
Wend
End Sub
j'espère que mon problème est compréhensible,et vous remercie d'avance pour toute aide.
A voir également:
- Problème conditions doubles & while sans wend
- Mise en forme conditionnelle excel plusieurs conditions - Guide
- Libreoffice calc si plusieurs conditions ✓ - Forum LibreOffice / OpenOffice
- Excel reporter des données sur une autre feuille avec conditions - Forum Excel
- Je ne suis pas un robot confidentialité - conditions ✓ - Forum Windows 8 / 8.1
- Transposer des lignes sur une autre feuille sous condition ✓ - Forum Excel
13 réponses
Salut,
Voici, ce qui arrive quand on indente pas son code ;).
Cdt
Voici, ce qui arrive quand on indente pas son code ;).
Sub calcul1()
Dim age As Single, fac As String, i As Integer
i = 2
age = Sheets("Feuil2").Cells(i, 2)
fac = Sheets("Feuil2").Cells(i, 3)
While Not IsEmpty(Sheets(Feuil2).Cells(i, 2))
If (Sheets("Feuil2").Cells(i, 2)) = 20 Then
If (Sheets("Feuil2").Cells(i, 3)) = paris Then
Sheets("Feuil2").Cells(i, 4) = "bien"
EndIf
ElseIf (Sheets("Feuil2").Cells(i, 2)) = 23 Then
If (Sheets("Feuil2").Cells(i, 3)) = lille Then
Sheets("Feuil2").Cells(i, 4) = "pas bien"
Else
Sheets("Feuil2").Cells(i, 4) = "non concerné"
End If
End if
i = i + 1
Wend
End Sub
Cdt
salut,
je viens de corriger mais il me sort une autre erreur: erreur execution 13 incompatibilité de type
help please, et merci pour ta réponse
je viens de corriger mais il me sort une autre erreur: erreur execution 13 incompatibilité de type
help please, et merci pour ta réponse
Salut,
ce n'est pas plutot
ce n'est pas plutot
If (Sheets("Feuil2").Cells(i, 3)) = "paris" Then
If (Sheets("Feuil2").Cells(i, 3)) = "lille" Then??
lami20j
If (Sheets("Feuil2").Cells(i, 3)) = "paris" Then
If (Sheets("Feuil2").Cells(i, 3)) = "lille" Then
Si tout à fait, erreur d'inattention. On n'échappe pas à ton coup d'oeil lol. Bien vu.
If (Sheets("Feuil2").Cells(i, 3)) = "paris" Then
If (Sheets("Feuil2").Cells(i, 3)) = "lille" Then
Si tout à fait, erreur d'inattention. On n'échappe pas à ton coup d'oeil lol. Bien vu.
Sub calcul1()
Dim age As Single, fac As String, i As Integer
i = 2
age = Sheets("Feuil2").Cells(i, 2)
fac = Sheets("Feuil2").Cells(i, 3)
While Not IsEmpty(Sheets(Feuil2).Cells(i, 2))
If (Sheets("Feuil2").Cells(i, 2)) = 20 Then
If (Sheets("Feuil2").Cells(i, 3)) = "paris" Then
Sheets("Feuil2").Cells(i, 4) = "bien"
EndIf
ElseIf (Sheets("Feuil2").Cells(i, 2)) = 23 Then
If (Sheets("Feuil2").Cells(i, 3)) = "lille" Then
Sheets("Feuil2").Cells(i, 4) = "pas bien"
Else
Sheets("Feuil2").Cells(i, 4) = "non concerné"
End If
End if
i = i + 1
Wend
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
salut,
je viens de corriger, mais je vous assure c'est toujours pareil,
ça me rend malade,
mais merci pour vos réponses
je viens de corriger, mais je vous assure c'est toujours pareil,
ça me rend malade,
mais merci pour vos réponses
Salut,
mais je vous assure c'est toujours pareil,
peut être qu'il faut afficher le code entier pas seulement la fonction
mais je vous assure c'est toujours pareil,
peut être qu'il faut afficher le code entier pas seulement la fonction
salut,
lami20j
je ne comprends pas ce ke tu entends par code.
si tu pouvais juste un peu plus m'expliquer....?
merci
lami20j
je ne comprends pas ce ke tu entends par code.
si tu pouvais juste un peu plus m'expliquer....?
merci
Bonsoir,
Ce serait mieux si tu disais en quelle ligne tu as l'erreur...
Tes ages sur ta feuille sont bien numériques et pas textes ?
Essaie de corriger ta feuille si besoin ou remplace
If (Sheets("Feuil2").Cells(i, 2)) = 20 Then
par If CInt(Sheets("Feuil2").Cells(i, 2)) = 20 Then (ou CDbl(...) )
pareil pour l'autre test
eric
Ce serait mieux si tu disais en quelle ligne tu as l'erreur...
Tes ages sur ta feuille sont bien numériques et pas textes ?
Essaie de corriger ta feuille si besoin ou remplace
If (Sheets("Feuil2").Cells(i, 2)) = 20 Then
par If CInt(Sheets("Feuil2").Cells(i, 2)) = 20 Then (ou CDbl(...) )
pareil pour l'autre test
eric
bonsoir eriiic
justement vb ne me montre pas sur quelle ligne se situe l'erreur, mais je viens d'essayer ce tu m'as conseillé et j'ai tout vérifié.
le résultat reste inchangé.
je te remercie énormément quand meme.
justement vb ne me montre pas sur quelle ligne se situe l'erreur, mais je viens d'essayer ce tu m'as conseillé et j'ai tout vérifié.
le résultat reste inchangé.
je te remercie énormément quand meme.
lulu93
"Vb ne montre pas sur quelle ligne se situe l'erreur".
Tu utilises le débuggeur de Vb qui est très bien. Et tu sauras d'où vient l'erreur.
Cdt
"Vb ne montre pas sur quelle ligne se situe l'erreur".
Tu utilises le débuggeur de Vb qui est très bien. Et tu sauras d'où vient l'erreur.
Cdt
Bonsoir,
je viens d'essayer le débuggeur, que je connaissais pas, et il me semble que la procédure coince à partir de while not isempty. le tableau est bien installé sans aucune ligne ou colonne intermédiaire sur la feuil2.
est ce bien la bonne instruction...?
je viens d'essayer le débuggeur, que je connaissais pas, et il me semble que la procédure coince à partir de while not isempty. le tableau est bien installé sans aucune ligne ou colonne intermédiaire sur la feuil2.
est ce bien la bonne instruction...?