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 :

Bogue avec CommandButton.Visible


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur
    Inscrit en
    Décembre 2018
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Décembre 2018
    Messages : 98
    Par défaut Bogue avec CommandButton.Visible
    Bonjour,

    J'ai un bogue et je ne sais pas d'où il vient car je passe par le même chemin dans mon code.

    J'explique :

    A l'ouverture d'Excel, je sélection grâce à un UserForm le dossier dans lequel je veux travailler (Par exemple le premier).
    Une fois sélectionné le nom du dossier arrive dans mon second UserForm, une question est posé quand je clique sur Non, il ne se passe rien c'est normal.
    Le reste du code pas de problème
    Par contre si je sélectionne mon second dossier, la question est posé et je clique non et le bouton apparait et ça ne devrait pas.

    J'ai mis Q car à la sortie de Mon UserForm il me reposé la question. Je n'ai pas le choix de mettre change, car c'est une information que je mets dedans, si vous avait une autre idée, dit moi.

    Si quelqu'un à une idée je suis preneur.

    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
    16
     
     Public Q As Integer
    Private Sub TextBox21_Change()
     
    If Q <> "1" Then
     
            If MsgBox("Nouveau dossier à créer?", vbYesNo + vbQuestion + vbDefaultButton2, "Dossier") = vbYes Then
                CommandButton6.Visible = True
                Q = "1"
            Else
                CommandButton6.Visible = False
                Q = "1"
            End If
        End If
     
    End Sub
    Voici le code qui fait apparaitre le bouton, je n'ai pas mis le reste du code, dit moi si il vous faut autre choses pour m'aider.

    Merci

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    Je pense que ce n'est pas opportun de gérer cela dans l'événement Change du textbox, car cet événement est déclenché à chaque modification du textbox...

    Pour ce qui est de rendre le bouton visible ou invisible, vu que cette propriété est booléenne, tu peux faire plus court
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    commandbutton6.visible = (MsgBox("Nouveau dossier à créer?", vbYesNo + vbQuestion + vbDefaultButton2, "Dossier") = vbYes)
    A mon avis, tu devrais expliquer en français (sans jargon vba ou excel) ce que tu souhaites réaliser et donner une copie d'écran de ton userform. Comme dit dans une autre discussion, nomme tes contrôles avec des noms parlants, sinon, tu ne vas jamais t'y retrouver.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur
    Inscrit en
    Décembre 2018
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Décembre 2018
    Messages : 98
    Par défaut
    Salut,

    Merci Pierre.

    Il n'y a pas que ce petit bout de code dans le change, mais je ne vois pas quoi mettre comme évènement pour lancer le code qu'il y a dedans comme je viens mettre le nom du dossier dans le TextBox.

    Et il faut absolument que cette question soit posé à ce moment là. C'est pour ça que j'ai mis ma variable Q en public. Pour éviter de repasser par cette question quand je sort du mon Userform et que j'efface tous.

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 410
    Par défaut
    Bonjour.

    As-tu essayé avec l'événement AfterUpdate ?

    Et tu n'as pas besoin de déclarer ta variable public si tu ne t'en sers que dans ce module.
    Un simple Dim suffit. Public Ou Global c'est quand tu veux que ta variable soit visible de tous les modules de ton appli, pas seulement celui où elle est déclarée.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

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

Discussions similaires

  1. parametre est null avec commandButton
    Par Jacobian dans le forum JSF
    Réponses: 2
    Dernier message: 31/10/2008, 15h57
  2. Réponses: 7
    Dernier message: 20/10/2008, 21h40
  3. pb avec commandButton
    Par kam81 dans le forum JSF
    Réponses: 1
    Dernier message: 11/10/2008, 14h27
  4. Réponses: 4
    Dernier message: 23/01/2008, 11h35
  5. Affichage d'un formulaire avec display, visibility ou autre
    Par cluis dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 13/07/2007, 14h03

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