VBA BOUCLE IF
Résolu/Fermé
gregg1712
Messages postés
45
Date d'inscription
Statut
Membre
Dernière intervention
-
gregg1712 Messages postés 45 Date d'inscription Statut Membre Dernière intervention -
gregg1712 Messages postés 45 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
________________________________________________________
If Montant >= 20000 And Salaire >= 2000 Then
Carte = "Gold"
If Langue = fr Then
Pub = "Envoyé une publicité en Francais d'un investissement avec un Taux de 4%"
ElseIf Langue = nl Then
Pub = "Envoyé une publicité en Néerlandais d'un investissement avec un Taux de 4%"
Else
Pub = "Envoyé une publicité en Anglais d'un investissement avec un Taux de 4%"
End If
ElseIf Montant >= 10000 And Salaire >= 1000 Then
Carte = "Silver"
If Langue = fr Then
Pub = "Envoyé une publicité en Francais d'un investissement avec un Taux de 3%"
ElseIf Langue = nl Then
Pub = "Envoyé une publicité en Néerlandais d'un investissement avec un Taux de 3%"
Else
Pub = "Envoyé une publicité en Anglais d'un investissement avec un Taux de 3%"
End If
Else
Carte = "Copper"
If Langue = fr Then
Pub = "Envoyé une publicité en Francais d'un investissement avec un Taux de 2%"
ElseIf Langue = nl Then
Pub = "Envoyé une publicité en Néerlandais d'un investissement avec un Taux de 2%"
Else
Pub = "Envoyé une publicité en Anglais d'un investissement avec un Taux de 2%"
End If
End If
_____________________________________________________________
Donc On entre le Montant et le salaire avec des InputBox
On entre pour la Langue soit fr soit nl soit en avec aussi des InputBox
--> Et selon leur réponce ca envois tel ou tel message
Pour le revois de la carte ca fonctionne, parcontre pour la Pub, la langue ne marche pas, mais le Taux bien ...
Vous auriez une idée ? :)
________________________________________________________
If Montant >= 20000 And Salaire >= 2000 Then
Carte = "Gold"
If Langue = fr Then
Pub = "Envoyé une publicité en Francais d'un investissement avec un Taux de 4%"
ElseIf Langue = nl Then
Pub = "Envoyé une publicité en Néerlandais d'un investissement avec un Taux de 4%"
Else
Pub = "Envoyé une publicité en Anglais d'un investissement avec un Taux de 4%"
End If
ElseIf Montant >= 10000 And Salaire >= 1000 Then
Carte = "Silver"
If Langue = fr Then
Pub = "Envoyé une publicité en Francais d'un investissement avec un Taux de 3%"
ElseIf Langue = nl Then
Pub = "Envoyé une publicité en Néerlandais d'un investissement avec un Taux de 3%"
Else
Pub = "Envoyé une publicité en Anglais d'un investissement avec un Taux de 3%"
End If
Else
Carte = "Copper"
If Langue = fr Then
Pub = "Envoyé une publicité en Francais d'un investissement avec un Taux de 2%"
ElseIf Langue = nl Then
Pub = "Envoyé une publicité en Néerlandais d'un investissement avec un Taux de 2%"
Else
Pub = "Envoyé une publicité en Anglais d'un investissement avec un Taux de 2%"
End If
End If
_____________________________________________________________
Donc On entre le Montant et le salaire avec des InputBox
On entre pour la Langue soit fr soit nl soit en avec aussi des InputBox
--> Et selon leur réponce ca envois tel ou tel message
Pour le revois de la carte ca fonctionne, parcontre pour la Pub, la langue ne marche pas, mais le Taux bien ...
Vous auriez une idée ? :)
2 réponses
Bonjour gergg1712
je ne vois pas comment tu as déclaré te variables mais y a un truc qui me chiffonne :
Quand tu écris
fr c'est une variable ou une donnée récupérée par ta box ?
car si tel est le cas, fr est une chaine de caractère (String) et pour être reconnue en tant que tel, tu dois écrire :
pareil pour nl => "nl"
essaye et dis voir...
@+
Phoe
je ne vois pas comment tu as déclaré te variables mais y a un truc qui me chiffonne :
Quand tu écris
If Langue = fr Then
fr c'est une variable ou une donnée récupérée par ta box ?
car si tel est le cas, fr est une chaine de caractère (String) et pour être reconnue en tant que tel, tu dois écrire :
If Langue = "fr" Then
pareil pour nl => "nl"
essaye et dis voir...
@+
Phoe
Mais un dernier truc quand je rajoute à la fin:
ActiveCell.Offset(1, -3).Select
Pour aller à la ligne en bas, ca ne marche pas, ca marque une erreur 404
ActiveCell.Offset(1, -3).Select
Pour aller à la ligne en bas, ca ne marche pas, ca marque une erreur 404
ca doit être mes
ActiveCell.Offset(0, 0).Value = Nom
ActiveCell.Offset(0, 1).Value = Langue
ActiveCell.Offset(0, 2).Value = Montant
ActiveCell.Offset(0, 3).Value = Salaire
ActiveCell.Offset(0, 4).Value = Carte
ActiveCell.Offset(0, 5).Value = Pub
Qui empeche un
ActiveCell.Offset(1, -3).Select
a la fin
L'ordre ou l'on place les Active.Offeset change la donne ? :)
ActiveCell.Offset(0, 0).Value = Nom
ActiveCell.Offset(0, 1).Value = Langue
ActiveCell.Offset(0, 2).Value = Montant
ActiveCell.Offset(0, 3).Value = Salaire
ActiveCell.Offset(0, 4).Value = Carte
ActiveCell.Offset(0, 5).Value = Pub
Qui empeche un
ActiveCell.Offset(1, -3).Select
a la fin
L'ordre ou l'on place les Active.Offeset change la donne ? :)
C'est surtout que les premiers ActiveCell.Offset ne te font pas changer de cellules (si tu es en A1 avant tes premiers activeCell, tu écris le nom en A1, la langue en A2, le montant en A3 etc.)
Tandis que ton ActiveCell.Offset(,).Select change la cellule. Du coup si tu es en A1 au départ, tu veut te retrouver ligne 2, colonne -2, ce qui ne fonctionne pas.
Il faut voir ce que tu veux faire après avoir entré les valeurs dans tes cellules. Tu veux passer à la ligne ?
Tandis que ton ActiveCell.Offset(,).Select change la cellule. Du coup si tu es en A1 au départ, tu veut te retrouver ligne 2, colonne -2, ce qui ne fonctionne pas.
Il faut voir ce que tu veux faire après avoir entré les valeurs dans tes cellules. Tu veux passer à la ligne ?
Voici le reste du code pour mieux comprendre mon problème:
https://imageshack.com/
le ActiveCell.Offset(1,-3).Select te décalera d'une ligne en dessous, et de 3 colonnes vers la gauche.
Si tu te trouves en colonne 1, 2 ou 3, tu voudras accéder à la colonne -2, -1 ou 0, ce qui est impossible.
Cordialement.