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 :

Coder une instruction VB pour une case d'option dans une Frame


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Consultant SAP
    Inscrit en
    Avril 2016
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant SAP
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2016
    Messages : 49
    Par défaut Coder une instruction VB pour une case d'option dans une Frame
    Bonjour,

    Dans ma feuille Excel, j'ai inséré un contrôle ActiveX => Autres contrôles => Microsoft Forms 2.0 Frame.

    Dans cette Frame, j'ai inséré 4 cases d'options.
    Je voudrais coder des instructions VB sur ces cases d'options.

    Je bascule dans la fenêtre VB directement sur la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub NomDeMaFrame_Click()
    .

    Est-ce bien dans cette fonction (relative à la Frame) que je code ce qui concerne les cases d'options ?

    Est-il recommandé de renseigner l'attribut de propriété GroupName avec le nom de ma Frame pour ensuite manipuler les objets en écrivant par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NomDuGroupName.NomDeMaCaseDOption.Value = False
    ?

    Sinon, quelle est la syntaxe adéquate ?

    Merci d'avance pour votre aide.

    Cdt.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2016
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2016
    Messages : 102
    Par défaut frame
    Bonjour,

    Peux tu préciser le contexte d'utilisation de la fenêtre ? En a tu besoin en permanence sur ta feuille ou bien juste en fonction d'une action précise ?

    Personnellement (mais tout dépend du contexte), je m'orienterai plutôt vers l'utilisation d'un userform VBA que j'afficherais par un bouton sur la feuille ou dans une barre d'outils ou encore un événement spécifique.

    l'UF étant à priori plus directement et facilement programmable au niveau des cases d'options.

    Cordialement.

    Bruno

  3. #3
    Membre averti
    Homme Profil pro
    Consultant SAP
    Inscrit en
    Avril 2016
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant SAP
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2016
    Messages : 49
    Par défaut
    Merci pour ta réponse.

    Oui l'idée est d'avoir la frame en permanence dans la feuille pour permettre à l'utilisateur de jongler entre les cases d'option et avoir un affichage différent en fonction de la case choisie.

    Du coup, j'aimerais avoir comment coder en VB pour ces cases sachant qu'elles font partie de la Frame.

    Merci d'avance.

  4. #4
    Membre Expert Avatar de jerome.vaussenat
    Homme Profil pro
    Formateur Bureautique
    Inscrit en
    Janvier 2011
    Messages
    1 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur Bureautique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 629
    Par défaut
    Salut,

    Pour info, je ne suis pas super au point sur les frame dans une feuille de calcul.
    Je te fait part du fruit de ma recherche pour faire avancer le schmilblick. (
    )

    Passe en mode edition du frame.
    Cliques sur tes options, fait afficher les propriétés pour définir le NOM de l'option.

    Par contre là où je pèche c'est le déclencheur. Ce que j'ai trouvé c'est la perte de focus. Ce qui suppose qu'après avoir choisi l'option, il faut sortir du frame ... (en espérant qu'on te propose mieux)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Frame1_LostFocus()
            MsgBox Frame1.ActiveControl.Name
     
    End Sub
    Tu fais un test (if ou select case) sur le .ActiveControl.Name

  5. #5
    Membre averti
    Homme Profil pro
    Consultant SAP
    Inscrit en
    Avril 2016
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant SAP
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2016
    Messages : 49
    Par défaut
    Merci Jérôme.

    Pourquoi ne pas utiliser GotFocus au lieu de LostFocus ?

  6. #6
    Membre Expert Avatar de jerome.vaussenat
    Homme Profil pro
    Formateur Bureautique
    Inscrit en
    Janvier 2011
    Messages
    1 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur Bureautique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 629
    Par défaut
    salut,

    Le get focus va s'executer avant que tu n'ai modifié tes options.

    Je pense que c'est mieux. Je change les options et après j'exécute le code.

Discussions similaires

  1. Réponses: 8
    Dernier message: 18/12/2015, 14h29
  2. [XL-2010] Suppression d'une ligne dans une feuille A tout en garder les infos dans une feuille B
    Par sebastien_ofs dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 20/01/2015, 12h10
  3. Réponses: 13
    Dernier message: 23/05/2013, 20h38
  4. Réponses: 7
    Dernier message: 18/03/2011, 15h09
  5. Réponses: 1
    Dernier message: 31/08/2009, 22h48

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