Boucle While avec VBA (excel)

Fermé
powerVBA - 15 avril 2008 à 15:52
 powerVBA - 15 avril 2008 à 21:50
Bonjour,
je suis novice en VBA et j'ai un projet à faire, j'ai un problème de codage en VBA,

Voici mon tableau excel :

1 Victoire
2 Nul
3 Défaite
4 Nul
5 Défaite

Dans la case en-dessous du 5, je souhaiterais que les chiffres s'additionnent tant que la case de droite n'affiche pas 'Victoire'
En clair, ici le résultat attendu serait 14

Je vois comment écrire le code en "francais" mais pas en VBA

"En Français":

i=0 k=5
Tant que ( Bk) différent de victoire
Faire i=i+Ak k=k-1
Fin tant que

Ecrire en A6 : 14

Pouvez-vous m'aider s'il vous plaît?
Merci
A voir également:

3 réponses

licool Messages postés 133 Date d'inscription lundi 23 janvier 2006 Statut Membre Dernière intervention 6 juillet 2009 73
15 avril 2008 à 18:35
salut,

je n sais pas si j'ai tout compris mais tu n' es pas obligé de le faire en VBA, tu peux utiliser la fonction SI, par exemple si victoire n'est pas inscrit en F10 on fait la somme de A10 à E10 sinon rien, ça donnerait :

=SI(F10= "victoire";"";SOMME(A10:E10))
0
Merci de répondre, mais je suis obligé de faire un programme VBA (c'est un projet à faire en VBA)
utiliser la fonction Si est certainement possible mais cela ne résoud pas mon problème car mon programme doit chercher quand il y a victoire pour ensuite faire la somme des chiffres associés a Nul et Défaite
et je ne sais pas écrire en VBA cette recherche, c'est pour cela que je pensais que l'utiklisation d'un while serait la meilleure solution.
Pour que tu comprenne mieux voici divers exemples:

1 Défaite
2 Victoire
3 Victoire
4 Nul
5 Nul
Ici le programme doit me renvoyer 9

1 Nul
2 Défaite
3 Nul
4 Victoire
5 Défaite
Ici le programme doit me renvoyer 5
0
licool Messages postés 133 Date d'inscription lundi 23 janvier 2006 Statut Membre Dernière intervention 6 juillet 2009 73
15 avril 2008 à 19:47
j ' ai vraiment du mal à comprendre, peux tu envoyer ton tableau stp http://www.cijoint.fr/
0
Voici un exemple je ne peux pas envoyer mon fichier entier il est trop gros
http://www.cijoint.fr/cjlink.php?file=cj200804/cijhwGQ5XZ.xls.

Ce que tu n'as peut-être pas compris c que le programme part du bas et remonte jusqu'à trouver le mot Victoire
0
licool Messages postés 133 Date d'inscription lundi 23 janvier 2006 Statut Membre Dernière intervention 6 juillet 2009 73
15 avril 2008 à 21:17
Ton lien ne marche pas :( , précises comment sont dispositionnées tes lignes et colonnes
0
Un ami vient de m'envoyer la solution que j'attendais; la voici :
Sub essai()
i = 0
k = 5
While Cells(k, 2).Value <> "Victoire"
i = i + Cells(k, 1).Value
k = k - 1
Wend
Cells(6, 1).Value = i
End Sub

Je te remercie du temps que t'as passé pour moi
Cordialement
0