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 :

lien entre de procedures


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Par défaut lien entre de procedures
    Bonjour

    Voici le code

    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
    sub test1()
     
    dim nnom as string
     
    'lignes de codes ou apparait lavariable nnom
     
    call test2
    end sub 
     
    '2eme procedure
    sub test2()
     
    'lignes de codes ou je reutilise ma variable nnom
     
    end sub
    mais il y aune erreur : il me dit qu'il connait pas la varibale nnom dans test2()

    comment faut il faire pour que cela marche sans recopier toute la définition de la variable nnom ?

    merci

  2. #2
    Membre expérimenté
    Inscrit en
    Février 2008
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 208
    Par défaut
    bonjour

    il faut déclarer ta variable en "Public" avant les routines de code
    par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Public nnom as string
     
    sub test1()
     
    'dim nnom as string
    à plus

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Par défaut
    Bonjour,

    j' ai declaré nnom comme une variable publique avant toutes les procédure mais cela ne change rien : il y a toujour l'erreur
    savez vous pourquoi?
    merci

  4. #4
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonsoir,

    Que nous racontes-tu donc ?

    Essaye (nouveau projet avec un bouton de command Command1 sur ta Userform)

    Code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Option Explicit
    Private nnom As String
    Private Sub Command1_Click()
      nnom = "coucou"
      test1
    End Sub
    Private Sub test1()
      MsgBox "je suis dans test1 " & nnom & " et nnom = " & nnom
      test2
    End Sub
     
    Private Sub test2()
      MsgBox "je suis dans test2 " & nnom & " et nnom = " & nnom
    End Sub
    Clique Command1 et tu verras bien ce qui se passe ...

    Ceci étant dit, tu pourrais également te passer d'une variable générale et écrire ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Option Explicit
    Private Sub Command1_Click()
      Dim nnom As String
      nnom = "coucou"
      test1 nnom
    End Sub
    Private Sub test1(nnom As String)
      MsgBox "je suis dans test1 " & nnom & " et nnom = " & nnom
      test2 nnom
    End Sub
     
    Private Sub test2(nnom As String)
      MsgBox "je suis dans test2 " & nnom & " et nnom = " & nnom
    End Sub

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Par défaut
    Bonjour,

    J'ai copié et collé les 2 méthodes et ça marche nikel.
    par contre, quand je les aplique à mon code, j'ai toujours la meme erreur ...

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Ne serait-ce pas parce qu'ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub test1()
     
    dim nnom as string
     
    'lignes de codes ou apparait lavariable nnom
     
    call test2
    Vous redéfinissez la variable "nnom" en variable locale avec Dim ?

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Par défaut
    Bonjour,

    J'ai enlevé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    dim nnom as string

    pour ne plus definir la variable en locale et le problème persiste...

  8. #8
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bon...

    Quel est donc ton code exact ?

    Et pas de fichier joint, s'il te plait (regarde ma signature) ...

  9. #9
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Par défaut
    Peut-être un peu de lecture ici ?
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  10. #10
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Citation Envoyé par moimemessssssssss Voir le message
    Bonjour,

    J'ai enlevé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    dim nnom as string
    pour ne plus definir la variable en locale et le problème persiste...
    Si tu as déclaré ta variable en public, il est impossible que VBA te réclame cette variable sauf... si tu ne l'as pas déclarée au bon endroit.

    Si tu as un userform, tu dois bien l'ouvrir par une procédure qui se trouve dans un module standard.

    Si tu utilises ta variable aussi bien dans ce module que dans l'userform, c'est dans le module standard que tu dois déclarer ta variable en Public.

    Si tu mets Option Explicit dans l'userform, alors tu dois la déclarer dans l'userform. Mais il ne sera pas accessible depuis le module.

    Si tu en as besoin également dans le module, alors passe ta variable en paramètre ainsi que te l'indique ucfoutu dans son deuxième exemple.

    Si tu as lu jusqu'ici, tu devrais comprendre quelle est la solution qui te convient
    A toutes fins utiles

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Par défaut
    Bonsoir,

    j'ai n'ai pas userform et je ne sais pas pourquoi ca ne marche pa
    je croi que je vais peut etre la redefinir au sein de chaque procédure....

Discussions similaires

  1. Réponses: 5
    Dernier message: 27/05/2004, 17h11
  2. Lien entre les vues 'Structure' et l'éditeur
    Par Tifauv' dans le forum Eclipse Platform
    Réponses: 3
    Dernier message: 13/05/2004, 17h06
  3. lien entre les table de paradox
    Par salim_intic1 dans le forum Bases de données
    Réponses: 2
    Dernier message: 13/05/2004, 17h00
  4. Réponses: 3
    Dernier message: 11/04/2004, 02h05
  5. [debutant][servlet]lien entre formulaire et servlet
    Par omega dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 05/03/2004, 09h54

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