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 :

Variable qui ne retient pas la valeur [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    923
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 923
    Par défaut Variable qui ne retient pas la valeur
    Bonjour à tous,

    j'ai un petit morceau de code vraiment bizarre, où ma variable principal ne change pas son valeur lors qu'elle entre ou sort de la boucle:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    cap_aux = 0
    principal = CDbl(Me.txtSolde.Value)
    AnEnCours = anEntree
    MsgBox ("aw_princ " & AnEnCours & ": " & principal)
    cap_aux = An1(AnEnCours, principal)(0, 2) + An1(AnEnCours, principal)(1, 2) + An1(AnEnCours, principal)(2, 2) + An1(AnEnCours, principal)(3, 2)
    MsgBox ("cap_aux: " & cap_aux)
    pricipal = principal + cap_aux
    MsgBox ("principal: " & pricipal)
    AnEnCours = AnEnCours + 1
    While AnEnCours < anArret
        MsgBox ("w_princ " & AnEnCours & ": " & principal)
        cap_aux = cap_aux + AnComplete(AnEnCours, principal)(0, 2) + AnComplete(AnEnCours, principal)(1, 2) + AnComplete(AnEnCours, principal)(2, 2) + AnComplete(AnEnCours, principal)(3, 2)
        MsgBox ("w_cap_aux: " & cap_aux)
        pricipal = principal + cap_aux
        MsgBox ("w_principal: " & pricipal)
        AnEnCours = AnEnCours + 1
    Wend
    MsgBox ("dw_princ " & AnEnCours & ": " & principal)
    l'exemple:
    Je fais principal (Me.txtSolde.Value)=1000
    il fait cap_aux=8,611111
    et j'ai la MsgBox ("principal: " & pricipal)=1008,611111
    après l'entrée dans le While, le MsgBox ("w_princ " & AnEnCours & ": " & principal) donne principal = 1000,

    pendant le boucle le principal change encore une fois et le principal ensuite le WEnd revient à 1000.

    Est-ce que quelqu'un peut m'aider svp?
    Merci d'avance

  2. #2
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pricipal = principal + cap_aux
    Tu peux ajouter en début de module, option Explicit, c'est bien de déclarer les variables...

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    923
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 923
    Par défaut
    Merci de ta reponse aalex_38.

    Elles sont bien déclares...
    Initialement avant le cap_aux = 0, mais j'ai les mis avant les procedures (comme variables globales) pour voir si ça changait quelque chose, mais elles ne retiennent pas la valeur non plus...

    EDIT: je n'avais pas vu l'erreur de sintaxe!!!!
    Je vais essayer maintenant.

  4. #4
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Content, que tu ai résolu ton problème, comme je te le disais dans le post précédent ajouter option explicit permet une bonne vérification même si tu le mets en commentaire plus tard.
    Une autre solution est de mettre une majuscule lorsque l'on écrit les variables, ainsi elles s'affichent avec la majuscule lorsque tu les écris dans le code et te permettent une vérification rapide.
    c'est dommage de perdre du temps sur ce genre de chose !

    Bonne journée.
    Alex

  5. #5
    Membre très actif
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    923
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 923
    Par défaut
    C'est vrai...
    Je toujours fais ce type de vérification, en utilisant des lettres majuscules, pour voir si elles revient à la bonne case, mais je n'a pas pensé cette possibilité cette fois...

    Encore une fois, merci beaucoup.

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 07/01/2007, 12h03
  2. [Tableaux] Variable qui ne prend pas sa valeur
    Par stephane78 dans le forum Langage
    Réponses: 11
    Dernier message: 19/08/2006, 20h30
  3. [Système] variable qui ne passe pas !!!
    Par azorol dans le forum Langage
    Réponses: 21
    Dernier message: 20/02/2006, 10h53
  4. Query Contains dans Full-Text qui ne retourne pas de valeurs
    Par icebe dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 08/02/2006, 14h04
  5. [Tableaux] variable qui ne passe pas
    Par oceane751 dans le forum Langage
    Réponses: 5
    Dernier message: 31/12/2005, 02h56

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