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 :

utiliser 2 macros différentes selon le choix des optionbutton [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 241
    Points : 62
    Points
    62
    Par défaut utiliser 2 macros différentes selon le choix des optionbutton
    Bonjour au forum,

    Je souhaite utiliser 2 macros différentes selon le choix des optionbutton dans une frame.
    Frame1 réunie OptionButton (NouveauCtrl et NouvelleTache), si je coche "NouveauCtrl"en validant avec le bouton "CmdOK", c'est la macro "NouveauCtrl " qui est lancer et si c'est NouvelleTache qui est coché, la macro "NouvelleTache" est lancer à l'appui du bouton "CmdOK"

    Ca ne fonctionne pas ce que je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim Ctrl As Control
    For Each Ctrl In Frame1.Controls
         If Ctrl.Object.Value = True Then
             NouveauCtrl 
             Else
             NouvelleTache
             End If
             Exit For
         End If
    Next Ctrl
    End Sub
    Quelqu'un aurait-il une idée ?

    Merci

    Stephanie

  2. #2
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Me.OptionButton1.Value = True Then
    etc

  3. #3
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 616
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 616
    Points : 34 301
    Points
    34 301
    Par défaut
    salut,

    pourquoi utilises-tu une boucle For Each sur tes controls ?

    la solution de kiki29 étant bien plus directe au final
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 241
    Points : 62
    Points
    62
    Par défaut
    bonjour kiki29, jpcheck et au forum

    J'avais proceder de la manière suivante au départ mais ça ne fonctionnait pas.
    Lorsque je cliquer sur Enregistrer (CmdOK) rien ne se passer même pas l'exécution des différentes macros (NouveauRDV et NouvelleTache)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub CmdOK_Click()
    ...
    ...
    If OptionButton1 = True Then NouveauRDV else NouvelleTache
    ...
    ...
    End Sub
    , j'ai essayé ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If OptionButton1 = True Then NouveauRDV Else Exit Sub
    ElseIf OptionButton2 = True Then NouvelleTache
    End If
    c'est pareil, aucune réaction. Les 2 macros fonctionne bien individuellement, le reste du code que j'ai isolé aussi. Je pense que l'erreur de code avec mes choix optionbutton est le problème majeur

    Pourquoi ?

    Merci

    Stephanie
    Images attachées Images attachées  

  5. #5
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, il faut taper la valeur True dans la fenêtre VBE Propriétés : Value
    pour l'OptionButton1 par exemple
    Il y a la FAQ ainsi que [F1] sans oublier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Option Explicit
     
    Private Sub OptionButton1_Click()
        Me.OptionButton1.Value = True
    End Sub
     
    Private Sub OptionButton2_Click()
        Me.OptionButton2.Value = True
    End Sub

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 241
    Points : 62
    Points
    62
    Par défaut Résolu
    re bonjour kiki29, jpcheck et au forum

    Merci kiki29 et jpcheck,

    En faites, c'est une erreur de débutant car je placé end if au mauvais endroit. J'ai aussi modifié les proprietes vbe comme signaler plus haut et tout est ok

    Merci pour votre aide

    Stephanie

  7. #7
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Re, en fait tu devrais rebaptiser un bouton en NouveauRDV et l'autre en AutreChose, tu ajoutes un 3eme Annuler et tu te passes des OptionsBoutons

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

Discussions similaires

  1. Rendu d'affichage des bordures différents selon navigateurs
    Par Arnaud F. dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 15/07/2009, 15h32
  2. Charger des fonts "Externes" selon les choix d'un utilisateur
    Par rigolman dans le forum ActionScript 3
    Réponses: 16
    Dernier message: 09/01/2009, 19h58
  3. [DOM] reorganiser des lignes selon le choix dans un checkbox
    Par mystro7200 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 26/08/2008, 17h39
  4. Réponses: 2
    Dernier message: 07/06/2007, 16h07

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