Problème d'incrémentation avec VBA
Résolu
glenniria
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
glenniria Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
glenniria Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai fais un formulaire destiné à m'aider sur un jeux de rôle de type papier. Pour chaque action entreprit par les joueurs ils gagne certains points d'Elan. Au départ ils ont 0.
J'ai fait mon tableau avec toute mes données. J'ai créé une ComboBox qui va se modifier au cours de mon incrémentation. J'ai créé aussi un CommandButton pour contrôler mon incrémentation.
Pour résumer, je choisi l'action effectué avec ma ComboBox et dès que j'appuie sur mon bouton, mon programme doit tester la valeur dans le tableau. Selon cette Valeur et le choix fais pas l'utilisateur dans la ComboBox, il doit incrémenter plus ou moins la valeur du Tableau. J'ai essayé un programme mais il ne change pas la valeur du tableau.
J'ai défini mes variables au lancement de la page excel
Private Sub CommandButton2_Click()
If Worksheets("Feuil1").Range("D5") < 50 Then
Select Case ComboBox2.Value
Case 0
Valeur = Worksheets("Feuil1").Range("D5")
Valeur = Valeur + 1
Worksheets("Feuil1").Range("D5") = Valeur
Case 1
Valeur = Worksheets("Feuil1").Range("D5")
Valeur = Valeur + 5
Worksheets("Feuil1").Range("D5") = Valeur
Case 2
Valeur = Worksheets("Feuil1").Range("D5")
Valeur = Valeur + 3
Worksheets("Feuil1").Range("D5") = Valeur
Case 3
Valeur = Worksheets("Feuil1").Range("D5")
Valeur = Valeur + 3
Worksheets("Feuil1").Range("D5") = Valeur
Case 4
Valeur = Worksheets("Feuil1").Range("D5")
Valeur = Valeur + 3
Worksheets("Feuil1").Range("D5") = Valeur
Case 5
Valeur = Worksheets("Feuil1").Range("D5")
Valeur = Valeur + 1
Worksheets("Feuil1").Range("D5") = Valeur
Case 6
Valeur = Worksheets("Feuil1").Range("D5")
Valeur = Valeur + 5
Worksheets("Feuil1").Range("D5") = Valeur
Case 7
Valeur = Worksheets("Feuil1").Range("D5")
Valeur = Valeur - 5
Worksheets("Feuil1").Range("D5") = Valeur
Case 8
Valeur = Worksheets("Feuil1").Range("D5")
Valeur = Valeur - 3
Worksheets("Feuil1").Range("D5") = Valeur
Case 9
Valeur = Worksheets("Feuil1").Range("D5")
Valeur = Valeur - 10
Worksheets("Feuil1").Range("D5") = Valeur
End Select
Else
Select Case ComboBox2.Value
Case 0
Valeur = Worksheets("Feuil1").Range("D5")
Valeur = Valeur + 1
Worksheets("Feuil1").Range("D5") = Valeur
Case 1
Valeur = Worksheets("Feuil1").Range("D5")
Valeur = Valeur + 3
Worksheets("Feuil1").Range("D5") = Valeur
Case 2
Valeur = Worksheets("Feuil1").Range("D5")
Valeur = Valeur + 1
Worksheets("Feuil1").Range("D5") = Valeur
Case 3
Valeur = Worksheets("Feuil1").Range("D5")
Valeur = Valeur + 1
Worksheets("Feuil1").Range("D5") = Valeur
Case 4
Valeur = Worksheets("Feuil1").Range("D5")
Valeur = Valeur - 5
Worksheets("Feuil1").Range("D5") = Valeur
Case 5
Valeur = Worksheets("Feuil1").Range("D5")
Valeur = Valeur - 3
Worksheets("Feuil1").Range("D5") = Valeur
Case 6
Valeur = Worksheets("Feuil1").Range("D5")
Valeur = Valeur - 10
Worksheets("Feuil1").Range("D5") = Valeur
End Select
End If
ComboBox2.Clear
If Worksheets("Feuil1").Range("D5") < 50 Then
ComboBox2.AddItem "Rendre l'espoir à une personne"
ComboBox2.AddItem "Rendre l'espoir à un grand nombre de personnes"
ComboBox2.AddItem "Sauver la vie de Quelqu'un"
ComboBox2.AddItem "Aider quelqu'un qui en a véritablement besoin"
ComboBox2.AddItem "Défaire un mal mineur"
ComboBox2.AddItem "Défaire un grand mal"
Else
ComboBox2.AddItem "Aider quelqu'un en dépit des préjudices personnels"
ComboBox2.AddItem "Risquer sa vie pour sauver quelqu'un"
ComboBox2.AddItem "Redonner l'envie de vivre à quelqu'un qui l'avait perdu"
End If
ComboBox2.AddItem "Perdre l'espoir"
ComboBox2.AddItem "Ignorer quelqu'un qui réellement besoin d'aide"
ComboBox2.AddItem "Réaliser un acte mauvais"
End Sub
J'ai fais un formulaire destiné à m'aider sur un jeux de rôle de type papier. Pour chaque action entreprit par les joueurs ils gagne certains points d'Elan. Au départ ils ont 0.
J'ai fait mon tableau avec toute mes données. J'ai créé une ComboBox qui va se modifier au cours de mon incrémentation. J'ai créé aussi un CommandButton pour contrôler mon incrémentation.
Pour résumer, je choisi l'action effectué avec ma ComboBox et dès que j'appuie sur mon bouton, mon programme doit tester la valeur dans le tableau. Selon cette Valeur et le choix fais pas l'utilisateur dans la ComboBox, il doit incrémenter plus ou moins la valeur du Tableau. J'ai essayé un programme mais il ne change pas la valeur du tableau.
J'ai défini mes variables au lancement de la page excel
Private Sub CommandButton2_Click()
If Worksheets("Feuil1").Range("D5") < 50 Then
Select Case ComboBox2.Value
Case 0
Valeur = Worksheets("Feuil1").Range("D5")
Valeur = Valeur + 1
Worksheets("Feuil1").Range("D5") = Valeur
Case 1
Valeur = Worksheets("Feuil1").Range("D5")
Valeur = Valeur + 5
Worksheets("Feuil1").Range("D5") = Valeur
Case 2
Valeur = Worksheets("Feuil1").Range("D5")
Valeur = Valeur + 3
Worksheets("Feuil1").Range("D5") = Valeur
Case 3
Valeur = Worksheets("Feuil1").Range("D5")
Valeur = Valeur + 3
Worksheets("Feuil1").Range("D5") = Valeur
Case 4
Valeur = Worksheets("Feuil1").Range("D5")
Valeur = Valeur + 3
Worksheets("Feuil1").Range("D5") = Valeur
Case 5
Valeur = Worksheets("Feuil1").Range("D5")
Valeur = Valeur + 1
Worksheets("Feuil1").Range("D5") = Valeur
Case 6
Valeur = Worksheets("Feuil1").Range("D5")
Valeur = Valeur + 5
Worksheets("Feuil1").Range("D5") = Valeur
Case 7
Valeur = Worksheets("Feuil1").Range("D5")
Valeur = Valeur - 5
Worksheets("Feuil1").Range("D5") = Valeur
Case 8
Valeur = Worksheets("Feuil1").Range("D5")
Valeur = Valeur - 3
Worksheets("Feuil1").Range("D5") = Valeur
Case 9
Valeur = Worksheets("Feuil1").Range("D5")
Valeur = Valeur - 10
Worksheets("Feuil1").Range("D5") = Valeur
End Select
Else
Select Case ComboBox2.Value
Case 0
Valeur = Worksheets("Feuil1").Range("D5")
Valeur = Valeur + 1
Worksheets("Feuil1").Range("D5") = Valeur
Case 1
Valeur = Worksheets("Feuil1").Range("D5")
Valeur = Valeur + 3
Worksheets("Feuil1").Range("D5") = Valeur
Case 2
Valeur = Worksheets("Feuil1").Range("D5")
Valeur = Valeur + 1
Worksheets("Feuil1").Range("D5") = Valeur
Case 3
Valeur = Worksheets("Feuil1").Range("D5")
Valeur = Valeur + 1
Worksheets("Feuil1").Range("D5") = Valeur
Case 4
Valeur = Worksheets("Feuil1").Range("D5")
Valeur = Valeur - 5
Worksheets("Feuil1").Range("D5") = Valeur
Case 5
Valeur = Worksheets("Feuil1").Range("D5")
Valeur = Valeur - 3
Worksheets("Feuil1").Range("D5") = Valeur
Case 6
Valeur = Worksheets("Feuil1").Range("D5")
Valeur = Valeur - 10
Worksheets("Feuil1").Range("D5") = Valeur
End Select
End If
ComboBox2.Clear
If Worksheets("Feuil1").Range("D5") < 50 Then
ComboBox2.AddItem "Rendre l'espoir à une personne"
ComboBox2.AddItem "Rendre l'espoir à un grand nombre de personnes"
ComboBox2.AddItem "Sauver la vie de Quelqu'un"
ComboBox2.AddItem "Aider quelqu'un qui en a véritablement besoin"
ComboBox2.AddItem "Défaire un mal mineur"
ComboBox2.AddItem "Défaire un grand mal"
Else
ComboBox2.AddItem "Aider quelqu'un en dépit des préjudices personnels"
ComboBox2.AddItem "Risquer sa vie pour sauver quelqu'un"
ComboBox2.AddItem "Redonner l'envie de vivre à quelqu'un qui l'avait perdu"
End If
ComboBox2.AddItem "Perdre l'espoir"
ComboBox2.AddItem "Ignorer quelqu'un qui réellement besoin d'aide"
ComboBox2.AddItem "Réaliser un acte mauvais"
End Sub
A voir également:
- Problème d'incrémentation avec VBA
- Excel compter cellule couleur sans vba - Guide
- Vba attendre 1 seconde ✓ - Forum VB / VBA
- Find vba - Astuces et Solutions
- Incompatibilité de type vba ✓ - Forum VB / VBA
- Erreur 13 incompatibilité de type VBA excel ✓ - Forum Excel
3 réponses
Bonjour
difficilement compréhensible....
qu'il y a t il dans ton combobox2 au départ: du texte (tes actions), un nombre (0 à...) ?
difficilement compréhensible....
qu'il y a t il dans ton combobox2 au départ: du texte (tes actions), un nombre (0 à...) ?
michel_m
Messages postés
16602
Date d'inscription
Statut
Contributeur
Dernière intervention
3 314
peut -^tre que si les actions à choisir sont remplies initialement, il faudrait utiliser listindex plutôt que value, si oui