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 :

Désactiver un bouton en code VBA


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
    Directeur Qualité
    Inscrit en
    Novembre 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur Qualité
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2018
    Messages : 17
    Par défaut Désactiver un bouton en code VBA
    Bonjour,
    Petit souci pour un expert mais grand souci pour un débutant en VBA.....
    Sur le 1er onglet "Renseignements" d'un fichier Excel, lorsque je clique sur un bouton "Enregistrement", je lance une macro qui va lire un certain nombre de données dispersées et les enregistrer de manière ordonnée dans un 2ème onglet intitulé "Relevés" selon l'exemple ci-dessous :

    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
    17
    Sub Macro_enregistrement_étanchéité()
    '
    ' Macro_enregistrement_étanchéité Macro
     
    '
        Sheets("Renseignements").Unprotect
        Sheets("Relevés").Unprotect
        Sheets("Renseignements").Range("I37").Select
        Selection.Copy
        Sheets("Relevés").Select
        Range("A1").End(xlDown).Offset(1, 0).Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        Sheets("Renseignements").Select
        Range("J37").Select
        Application.CutCopyMode = False
        Selection.Copy
        Sheets("Relevés").Select
    ...... et qui se termine par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        Sheets("Renseignements").Select
        Range("Q37").Select
        Application.CutCopyMode = False
        Selection.Copy
        Sheets("Relevés").Select
        Range("H1").End(xlDown).Offset(1, 0).Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        Sheets("Renseignements").Protect
        Sheets("Relevés").Protect
        End Sub
    Cette macro fonctionne très bien mais suite à quelques erreurs de précipitation dans le "clic" sur le bouton (Enregistrement des données alors que tous les champs ne sont pas renseignés), je souhaite activer/afficher ou désactiver/rendre invisible le bouton de commande "Enregistrement". La condition étant : Si F29 = 7 (Dans l'onglet "Renseignements") => enregistrement possible.

    Je viens de passer un temps fou à comprendre/tester tous les tutos trouvés sur différents sites mais impossible de faire fonctionner dans mon fichier, tout simplement parce que je ne comprends pas le langage VBA !

    J'ai essayé en modifiant le début de la macro ci-dessus, après avoir déprotéger les feuilles mais ça ne marche pas !
    J'ai essayé de créer la macro suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Worksheet_Change(ByVal Target As Range)
      If Target.Address <> "$F$29" Then Exit Sub
      If Target.Value = "7" Then Me.CommandEnregistrement.Visible = True
      If Target.Value <> "7" Then Me.CommandEnregistrement.Visible = False
    End Sub
    ...et ça ne marche pas !

    Quelqu'un pourrait-il m'aider SVP ?

  2. #2
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 241
    Par défaut
    Bonsoir,

    A mettre en debut de macro
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if [F29]<>7 then exit sub
    Ce qui signifie, si le contenu de la cellule F29 est différent de 7 on quitte la macro, sinon on continue la lecture du programme d'enregistrement.

    Cdlt

  3. #3
    Membre averti
    Homme Profil pro
    Directeur Qualité
    Inscrit en
    Novembre 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur Qualité
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2018
    Messages : 17
    Par défaut
    Ca marche, c'est si simple.... Merci beaucoup

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 13/08/2008, 17h04
  2. Problème Code VBA, ajout non désiré sur bouton
    Par vivicente dans le forum VBA Access
    Réponses: 3
    Dernier message: 12/06/2008, 17h33
  3. bouton d'action et code vba
    Par Homer091 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 16/05/2008, 10h29
  4. [VBA - ACCESS 2002] Cacher/désactiver un bouton
    Par SamLeChiseuji dans le forum IHM
    Réponses: 2
    Dernier message: 12/06/2006, 09h31
  5. [VBA-E] Comment créer un bouton ds une wksheet par un code vba
    Par moicwill dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/05/2006, 17h12

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