VBA 2010-Variable publique se vide?

Résolu
Bonjour,
Suite à la création d'une trop longue procédure j'ai du la scinder en 2 procédures. Les variables que j'utilise dans la 2ième procédure proviennent de la 1ère mais elles se vident.
J'ai donc supprimé la définition par Dim dans la procédure pour les définir par Public avant les procédures (dans la section "Déclarations").
Les calculs de la 1ère procédure se font normalement mais mes variables sont toujours vides dans la 2ième.
Quelqu'un peut m'aider à résoudre ce problème?

Merci pour votre aide

3 réponses

  1. Bonjour

    J'ai donc supprimé la définition par Dim dans LA procédure
    Dans LES 2 procedures, sinon ça ne marche pas.
    1. Merci beaucoup.
      C'était bien sûr trivial. Je pensais l'avoir supprimé de la première procédure à tort.
      Cela fonctionne maintenant normalement.
      PS: on peut donc définir une variable "Public" dans "Déclarations" et dans un module sans avoir de message d'erreur. La déclaration dans le module étant prioritaire.

      Encore merci pour votre réponse rapide
  2. Contributeur
    Bonjour
    par ex
    sub numero2(machin, truc)    
    msgbox machin 'renvoie toto
    .......    
    end sub    
    
    dans ta sub numero1     
    dim tavarA as string, tavarB as integer    
    tavarA="toto"    
    tavarB=1234    
    numero2 tavarA, tavarB    
    .......    
    end sub 


    les 2 procédures peuvent être dans des modules différents
    Michel
    1. Contributeur
      Bonjour tou(te)s
      Tu dis..
      La déclaration dans le module étant prioritaire.
      Absolument pas, la variable dans la procédure est prioritaire
      Si tu déclare une variable Public dans un module ET la même variable dans une procédure la variable de la procédure sera initialisée DANS la procédure mais ne serra pas visible dans les autres.
      Pour que la variable soit vue partout il ne faut la déclarer qu'une seule fois en Public.
      A+
      1. Ooops! Merci pour la correction.
        J'ai inversé procédure et module dans mon texte.