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 :

Passage de variable procedure à userform


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 66

    Informations forums :
    Inscription : Juin 2007
    Messages : 58
    Par défaut Passage de variable procedure à userform
    Bonjour ;

    J’ai une macro A qui fait collecte des données sur une feuille Excel et fait apparaître un userform de choix, qui lance d’autre macro B et C.
    J’aimerai récupérer mes données de A dans B et C
    Comment dois-je faire?

  2. #2
    Membre Expert Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Par défaut
    Bonjour Spoyet

    Tu as deux solutions,

    Soit dans un module, Au dessus du premier sub tu definis des variables publiques

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public Nomvar1 as String, Nomvar2 as double, Nomvar3 as integer
    Elles sont utilisables de n'importe quelle macro. Dans ta premiere macro tu les mets à jour

    Sinon , dans l'userform tu crees des label avec en option visible à False
    tu les charges dans ta premiere macro, elles sont recuperables tant que l'usf reste en memoire

    Bonne journée

  3. #3
    Membre expérimenté Avatar de ilcocodrillo
    Profil pro
    Inscrit en
    Février 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Âge : 19
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 260
    Par défaut
    sinon tu passes les paramètres A,B,C au lancement de ton autre macro dpuis la macro d'origine

    et la macro appellé débute comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sub Macro(byval A as integer,byval B as string,byval C as boolean)

  4. #4
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 66

    Informations forums :
    Inscription : Juin 2007
    Messages : 58
    Par défaut Variable tableau
    Merci pour la réponse;

    Pour les variable simple comme "nblab" ça passe mais pour "nbressai(100)"
    Voila mes lignes de prog

    "En début de module"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public nblab, nbressai(100), nbessai
    "En début de la première macro et du userform"

  5. #5
    Membre Expert Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Par défaut
    re:

    pourquoi static, ce n'est pas utile, le tableau etant deja defini et dimenssionné dans puplic

    Bon apres midi

  6. #6
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 66

    Informations forums :
    Inscription : Juin 2007
    Messages : 58
    Par défaut Re dimension
    De toute façon que ce soit Dim ou Static ça je ne retrouve pas mes valeurs

  7. #7
    Membre Expert Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Par défaut
    re:

    j'ai fait un essai, public essai(100) dimensionne automatiquement une table de 100 postes
    il n'y a aucun besoin de redefinir le tableau. la redefinition du tableau, remet automatiquement les valeur à zero, donc normal que tu perdes tout !!!

    comme je t'ai dit

    au debut d'un module, 1ere ligne, en dehors d'un sub

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Pulic tablo(100) as variant
    ensuite dans n'importe quelle procedure

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for i = 1 to 15 : tablo(i) = range("A" & I):next i
    for i= 16 to 30: tablo(i) = tange("B" & I-15) : next i
    le tableau est rempli

    dans une autre procédure

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msgbox tablo(10) & " " & tablo(25)
    te donnera les 2 valeurs memorisées précedemment

    pas de dim, pas de static, pas de redim, ton tableau est defni par Public

    Bonne soirée, à + sur le forum

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 14/01/2008, 12h13
  2. Passage de variable dans un lien asp
    Par VirginieGE dans le forum ASP
    Réponses: 4
    Dernier message: 27/07/2004, 10h06
  3. [Kylix] passage de variable en Libc
    Par zheng dans le forum EDI
    Réponses: 11
    Dernier message: 06/05/2004, 14h14
  4. Passage de variable par methode post ?
    Par oazar dans le forum Flash
    Réponses: 33
    Dernier message: 16/10/2003, 17h03
  5. [langage] Passage de variables...
    Par martijan dans le forum Langage
    Réponses: 8
    Dernier message: 30/07/2003, 09h48

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