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 :

Passer d'un sub à un autre


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti Avatar de I folima Elda
    Homme Profil pro
    Programmeur & Intégrateur
    Inscrit en
    Décembre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Programmeur & Intégrateur

    Informations forums :
    Inscription : Décembre 2007
    Messages : 34
    Par défaut Passer d'un sub à un autre
    Salutation à tous,


    Bon, je viens vous voir mais faut pas me taper :p
    Je suis actuellement en train de faire une petite histoire version "Un livre dont VOUS êtes le héros" (pour ceux qui connaisse ).
    Pour ceux qui connaissent pas, il s'agit d'un système de jeu de rôle ou vous avancer de paragraphe en paragraphe suivant vos choix et vos actions. L'histoire est toujours différentes suivant les joueurs.

    Bref, j'ai décidé de tenter l'expérience en VBA excel, où tout sera automatique. Je me heurte cependant à un problème.
    J'utilise des Goto pour passer de paragraphe en paragraphe (je sais, on va me dire que c'est mal mais je connais pas d'autre moyen). Bref, à un moment, je décide d'utilise un Userform afin de donner le choix au joueur. Cependant, je souhaite retourner dans ma série de paragraphe pour continuer le jeu.
    Je désire donc savoir comment faire pour, quand on clique sur le bonton, qu'il aille à la bonne macro (sub jeu ()) et au paragraphe correspondant (5.

    J'espère que je suis assez explicite. Je donnerai un exemple au besoin. Mais si déjà on pouvais me donner une approche d'idée, ça serai chouette.
    Merci

  2. #2
    Membre émérite
    Inscrit en
    Décembre 2006
    Messages
    897
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 897
    Par défaut
    Il faudrait plus d'explications car il existe de nombreuses manières de rediriger.

    En mode conception (ALT + F11), il suffit de faire un double clic sur le bouton .

    Il apparait une procedure du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub NomBouton_Clic()
       'Code exécuter lors du clic sur le bouton "NomBouton"
    End Sub
    Il suffit de mettre entre ces deux lignes le code pour les instructions à réaliser.

    Pour appeler une autre procédure, entre ces deux lignes, il suffit de taper le nom après le mot "Sub ". Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub TraitementCliqueSurOui
       ' Ici le code généraliste pour un clique sur oui
    End Sub
    
    Sub NomBouton_Clic()
      'Instruction spéfifique à ce bouton nommé MonBouton
       Msgbox "vous avez clique sur le bouton ..."
      ' Lance l'autre procédure généraliste
      TraitementCliqueSurOui
    
    End Sub
    Si ça peut aider.

    ESVBA

  3. #3
    Membre averti Avatar de I folima Elda
    Homme Profil pro
    Programmeur & Intégrateur
    Inscrit en
    Décembre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Programmeur & Intégrateur

    Informations forums :
    Inscription : Décembre 2007
    Messages : 34
    Par défaut
    Bon je vais donner plus d'explication, ça sera plus clair avec un exemple :

    Donc ma feuille excel se présente avec un simple bouton de départ qui actionne le programme ainsi fait. J'enchaîne ensuite sur des Goto pour passer de paragraphe à d'autre

    sub jeu ()
    ligne de code de début de jeu
    introduction
    Goto 1

    1:
    ligne de code
    Goto 3

    2:
    ligne de code
    Userform1.Show

    3:
    ligne de code
    Goto 2

    4:
    ligne de code

    5:
    ligne de code
    Comme vous pouvez le voir, au paragraphe 2, j'appelle une Userform. Cette Userform est constitué simplement d'un texte et de deux boutons. Ce que je souhaite c'est si on clique sur le bouton 1, on aille au paragraphe 5 ci-dessus, si on clique sur le bouton 2, on aille au paragraphe 4.
    J'espère que ça a été plus clair avec cette explication

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 15
    Par défaut
    Bonjour

    Il faut bien distinguer:
    Affecter une macro à un bouton, et dans une procédure exécuter une macro parmi d'autres instructions.

    Pour la 1°, tu dessines un bouton en faisant Affichage, Barres d'outils, formulaires. Tu dessines ton bouton, puis tu affectes une macro existante. si tu as raté l'affectation, ou si tu veux changer, Alt + clic droit sur LE BORD du bouton, clic sur affecter une macro.

    Sinon, pour insérer l'exécution d'une macro ds 1 prog, par ex la macro Ma_Macro_à_Moi, insérer dans 1 macro cette ligne où tu la souhaites:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.Run "Ma_Macro_à_Moi"
    pas oublier les " "

    Euh, paragraphe, c'est pas plutôt dans Word, non?

Discussions similaires

  1. [VBA]Excel Passer d'un classeur à un autre
    Par Angel79 dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 26/01/2006, 17h43
  2. passer des données a une autre page php
    Par questionneuse dans le forum Langage
    Réponses: 10
    Dernier message: 25/01/2006, 01h56
  3. Je veux passer d'un enregistrement à l'autre
    Par GuyLafleur dans le forum VB 6 et antérieur
    Réponses: 20
    Dernier message: 15/01/2006, 11h49
  4. Passer d'un champ à l'autre avec TAB
    Par Sharingan dans le forum MFC
    Réponses: 4
    Dernier message: 11/10/2005, 14h52
  5. [Struts]passer d'une action à l'autre en struts
    Par clement42 dans le forum Struts 1
    Réponses: 1
    Dernier message: 16/08/2005, 08h08

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