IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Problème VBA sous Excel [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 3
    Par défaut Problème VBA sous Excel
    Bonjour à toutes et à tous,
    J'ai l'exercice suivant à réaliser :
    Exercice 3:
    Écrire un algorithme qui
     permet de saisir un nombre entier n, puis
     affiche tous les entiers x dont le carré est inférieur à n

    J'ai commencé par ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub exercice3()
    Dim n, X As Integer
        n = InputBox("Donne une valeur de n")
     
    If X ^ 2 < n Then
        MsgBox (X)
    End If
    End Sub
    Le problème : j'obtiens uniquement la valeur 0 . Je pense que ma macro fonctionne mais qu'elle se contente de me donner qu'un seul résultat, en l’occurrence le 1ère qu'elle essaye ( le "0"). Je pense que le problème vient de ma variable X mais je ne sais pas trop comment la programmer ...
    Si vous avez une idée merci de me la faire partager.
    Cordialement.

  2. #2
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 562
    Par défaut
    Bonjour

    Il manque une boucle pour tester chaque entier.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 3
    Par défaut
    Comment dois-je procéder ?
    Quelle "balise" utiliser ?
    En cours nous avons vu tant que , est-ce celle ci?
    J'ai déjà essayé mais le résultat est tjrs le même ( 0 ) sauf que là il se répète à l'infini . C'est à dire que lorsque je clique sur ok la fenêtre réapparaît.

  4. #4
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 562
    Par défaut
    Bonjour

    FOR serait plus approprié mais WHILE peut le faire

    Il ne faut pas oublier d'incrémenter X...

    Où se passent tes cours ?

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 3
    Par défaut
    Je pense que j'ai trouvé la solution , cela semble fonctionner correctement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub exercice3()
    Dim n, X As Integer
        n = InputBox("Donne une valeur de n")
    For X = 0 To n
    If X ^ 2 < n Then
    MsgBox (X)
    End If
    Next X
    End Sub
    Merci pour ton aide.
    Mes cours sont à l'Université de Bordeaux IV.
    Juste par curiosité, comment aurais tu fait avec While, j'y arrive qu'avec For ...
    Merci encore !

  6. #6
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 562
    Par défaut
    Bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub exercice3()
    Dim n, X As Integer
        n = InputBox("Donne une valeur de n")
    While X < n
    If X ^ 2 < n Then MsgBox (X)
    X = X+1
    Wend
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de macro en VBA sous excel
    Par Nadounette123 dans le forum Excel
    Réponses: 4
    Dernier message: 26/10/2013, 09h17
  2. Problème de macro en VBA sous excel
    Par Nadounette123 dans le forum Excel
    Réponses: 2
    Dernier message: 19/09/2013, 15h34
  3. [XL-2007] Problème de copié collé en VBA sous Excel
    Par cotmar dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/04/2011, 22h21
  4. [XL-2003] Problème de VBA sous excel 2003 pour excel 97.
    Par blacksun1 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 24/06/2010, 11h44
  5. objet shape en vba sous excel
    Par kernel57 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/11/2005, 15h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo