Problème dans la réalisation d'une macro VBA

  • Initiateur de la discussion Initiateur de la discussion barych
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

B

barych

Guest
Bonjour à tous,

Je rencontre un soucis dans la résolution d'un exercice, voici l'énoncé :

Faites une macro qui demande à l’utilisateur d’informer successivement des valeurs entières. Quand l’utilisateur rentre une valeur vide, la macro s’arrête et doit afficher la moyenne des valeurs informées. La quantité de valeurs informées n’est pas connue d’avance.

J'ai pensé à utilisé loop until mais je bloque lorsqu'il faut rentrer la valeur vide et que la macro doit s'arrêter.

Merci d'avance 🙂
 

Pièces jointes

Re : Problème dans la réalisation d'une macro VBA

Bonjour barych, et bienvenue,

Voici une solution parmi d'autres:

Code:
Sub Moyennne()
Dim Compteur As Integer, Fin As Boolean, Valeur, SommeValeur As Integer

While Fin = False
  Valeur = InputBox("Quel est la valeur?")
  If Valeur = "" Then
    Fin = True
    Else
    SommeValeur = SommeValeur + CInt(Valeur)
    Compteur = Compteur + 1
    moyenne = SommeValeur / Compteur
  End If
Wend
[A2] = moyenne
MsgBox [A2]
End Sub
Cordialement.
 
Re : Problème dans la réalisation d'une macro VBA

Merci beaucoup Papou - net pour ton aide et ta réactivité !

Juste une précision, pourriez-vous m'expliquer ce que signifie While Fin ainsi que Wend a fin que je puisse comprendre la logique.

Cordialement.
 
Re : Problème dans la réalisation d'une macro VBA

Merci beaucoup Papou - net pour ton aide et ta réactivité !

Juste une précision, pourriez-vous m'expliquer ce que signifie While Fin ainsi que Wend a fin que je puisse comprendre la logique.

Cordialement.

RE:

Une boucle While...Wend tourne tant qu'une condition est (ou n'est pas) remplie. Ici, la condition est fixée par la valeur booléenne Fin

While (Tant que)
Fin = False
Wend (Recommence au début)

A l'initialisation (Dim) la variable drapeau (ou Flag) Fin est égale à False par défaut.

La boucle tourne tant que Fin = False.
Si Valeur est vide, Fin bascule à True et, de ce fait, les instructions après Else sont sautées et la boucle s'arrête illico.

Espérant avoir été limpide dans mes explications.

Cordialement.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

S
Réponses
2
Affichages
1 K
A
Réponses
12
Affichages
1 K
AnjyD
A
Réponses
10
Affichages
1 K
A
Réponses
2
Affichages
1 K
AlbertReporter
A
Retour