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 :

Construction d'une macro [XL-2016]


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 58
    Par défaut Construction d'une macro
    Bonjour !

    J'espère que cette fois-ci je suis sur le bon emplacement.
    Du coup, j'ai besoins d'aide, je suis débutant dans Excel et ses macros.
    Je suis en train de faire un sommaire d'activité pour une entreprise en stage.(ça consiste à se mettre à jour par rapport à l'entreprise, congé, arrêt maladie.)
    J'ai créé des feuilles sur Excel qui permet de nous identifier avec notre nom prénom et notre matricule.
    Du coup ce que j'aimerais faire, c'est un bouton "IDENTIFIER" qui permet au salarier de s'identifier, et que sur les feuilles(exemple: d'arrêt maladie) cela se met à jour tout seul sans que lui soit obliger de mettre son nom et prénom à chaque fois.

    J'ai créé le bouton, la macro.
    Mais là je dois vous avouez que je ne suis complétement larguer.

    J'espère que vous pourriez m'aider.

    Merci d'avance pour votre aide

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    J'ai créé le bouton, la macro.
    Hé bien ... Et si tu nous la montrais, cette macro, telle que tu l'as créée ?
    En nous précisant sur quelle partie de ce code tu rencontres une difficulté.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 58
    Par défaut euuuh :D
    Enfaites pour le moment j'ai fait ça

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    Sub Bouton7()
    ' S'identifier
     
    ' Définition des variables
            Dim Message_MZ, Title_MZ, Default_MZ, Value_MZ, Num
            'Dim Bouton7
     
        ' Identification de l'utilisateur
     
                    Message_MZ = " Saisir votre nom de famille "
                    Title_MZ = " Identification "
     
     
     
     
        ' Affiche le message, le titre et la valeur par défaut.
                    Value_MZ = InputBox(Message_MZ, Title_MZ, Default_MZ)
                    If Value_MZ = "" Then
                    End If
     
        ' Masquer le bouton
                    Private Sub Form_Current()
                    'Si le nombre de caractères dans le champ=0
                    If Len(Value_MZ) = 0 Then
                    'On met le bouton indisponible
                    Bouton7.Enabled = False
                    Else
                    Bouton7.Enabled = True
                    End If
     
     
     
    End Sub
    Le problème déjà c'est que je n'arrive pas à faire disparaître mon bouton
    Je suis un novice je vous préviens

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 58
    Par défaut Explication
    En faites,
    le but de tout ça, c'est que quand il s'identifie il soit trouver dans le répertoire, puis ensuite le bouton disparaît.
    J'espère que j'explique bien


  5. #5
    Membre Expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 871
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par aguerriera Voir le message
    En faites,
    le but de tout ça, c'est que quand il s'identifie il soit trouver dans le répertoire, puis ensuite le bouton disparaît.
    J'espère que j'explique bien

    j'ai pas tout compris mais ce qui megène le plus c'est la conception.

    Il n'est pas normal qu'un salarié mette à jour le fichier arrêt maladie en voyant les autres arrêt maladie (ceux des collègues) du maoins c'est ce que j'ai compris


    Essaye de donner un MAX d'info pour que l'on puisse t'aider


    @ bientôt

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 58
    Par défaut Salut ! 😁
    Justement c'est pour cela que je veux qu'il ne puisse que s'identifier une fois, en mettant son nom.
    Du coup, vous avez une idée pour faire disparaître le bouton ?
    Merci d'avance 👌

  7. #7
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 58
    Par défaut RE
    Bonjour,
    Du coup, auriez-vous une solution à mon problème ?
    Pour enlevez mon bouton ?

  8. #8
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Bonjour,

    c'est pourtant si simple :   activer l'Enregistreur de macro puis enlever le bouton, une base de code est livrée sur un plateau !

    ___________________________________________________________________________________________________________
    Je suis Paris, Egypte, Stockholm, London, Istanbul, Berlin, Nice, Bruxelles, Charlie, …

  9. #9
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 58
    Par défaut Euh...
    Vous n'avez pas compris je crois.
    Je ne veux pas le supprimer, je veux que une fois qu'il s'est enregistrer, le bouton disparaît tout seul.

  10. #10
    Membre Expert
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 705
    Par défaut
    Quelque chose comme ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub test()
        ActiveSheet.Shapes.Range(Array("Button 1")).Visible = True
    End Sub

  11. #11
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut Euh … En chauffant une paire de neurones !

    Ne pas traduire ce que je n'ai pas écrit ‼   Et pourtant j'ai exactement repris ta formulation ! 

    Les réponses étant donc au niveau de la présentation, si tu penses être incompris
    alors il suffit de prendre le temps d'effectuer une présentation digne de ce nom, claire et exhaustive !

    ___________________________________________________________________________________________________________
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)

  12. #12
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 58
    Par défaut ZEEEN :)
    Je me suis certainement mal exprimé, mais cool.
    Je cherche juste à trouver une solution.



    Effectivement, je recherche quelque chose comme ça, j'ai essayer mais ça me met un code erreur d'exécution '1004' L'élément portant ce nom est introuvable.

    Je suis novice, pour info

  13. #13
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 58
    Par défaut
    Donc,

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    Sub Cherche()
    'déclaration des variables :
        Dim Trouve As Range, PlageDeRecherche As Range
        Dim Valeur_Cherchee As String, AdresseTrouvee As String
        Dim Message_MZ, Title_MZ, Default_MZ, Value_MZ, Num
        Dim ActiveSheet, Shapes, Range
     
                        'Fenêtre texte
     
                    Message_MZ = " Saisir votre nom de famille "
                        Title_MZ = " Identification "
                        Value_MZ = InputBox(Message_MZ, Title_MZ, Default_MZ)
                    If Value_MZ = "" Then
                    End If
     
                    Valeur_Cherchee = Value_MZ                                      'Valeur rechercher
        'dans la première colonne de la feuille active
                    Set PlageDeRecherche = Sheets("Feuil4").Range("A1:A20") 'plage de recherche
                    Set Trouve = PlageDeRecherche.Cells.Find(what:=Valeur_Cherchee, LookAt:=xlWhole)
     
        'Si on ne trouve rien :
                    If Trouve Is Nothing Then
                        AdresseTrouvee = Valeur_Cherchee & "  vous n'êtes pas reconnu, veuillez réessayer "
                    Else
                        AdresseTrouvee = Valeur_Cherchee & " vous êtes connecter"
     
     
                    End If
                        MsgBox AdresseTrouvee
        'vidage des variables
                    Set PlageDeRecherche = Nothing
                    Set Trouve = Nothing
     
     
                ActiveSheet.Shapes.Range(Array("CommandBouton7")).Visible = False
     
     
    End Sub
    Quand j'arrive à 'ActiveSheet...." il me met "Erreur d'exécution 424 Objet requis.

  14. #14
    Membre Expert
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 705
    Par défaut
    ATTENTION, je te conseille VIVEMENT de lire un tuto sur le VBA , car là tu commets une erreur "grave".
    Que fais-tu ici ???
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim ActiveSheet, Shapes, Range
    On déclare des variables et objets que l'on va "construire" soit même. ActiveSheet, Shapes et Range sont des noms "bloqués" par VBA, càd qu'ils sont déjà utilisés pour quelque chose, on ne peut donc pas nommer ses variables ou objets de la même manière. A tout moment je peux utiliser ActiveSheet pour faire référence à la feuille active. Pas besoin de le déclarer avant !! Je dirais même plus, il NE FAUT PAS le déclarer avant, car VBA pensera que tu veux déclarer un objet ou une variable de ce nom.

  15. #15
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 58
    Par défaut Oups :)
    Mais du coup, ça ne règle pas mon problème.
    Il m'affiche toujours le même code d'erreur, 1004

  16. #16
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut




    Juste en consultant l'aide VBA interne il suffit d'indiquer directement le nom du bouton : Shapes("nom") …

  17. #17
    Membre Expert
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 705
    Par défaut
    Est-ce que la feuille active est bien celle où il y a le bouton? Plutôt que d'écrire ActiveSheet, spécifie clairement de quelle feuille tu veux parler :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("ma feuille").Shapes.Range(Array("CommandButton7")).Visible = False
    Chez moi, cela marche très bien...

  18. #18
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 58
    Par défaut MAmaMIaaaah
    Je met ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                        Sheets("SOMMAIRE").Shapes.Range(Array("Bouton7")).Visible = False
    Il me sort un 1004, L'élément portant ce nom est introuable.

    Je ne comprends plus.

  19. #19
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut


    riaolle, l'Array est un peu superfétatoire pour un seul élément !

    Et au lieu du nom on peut utiliser son index …   Sinon le nom est récupérable via la fonction Caller.

  20. #20
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 58
    Par défaut Translate ?
    Je vois bien que vous vous y connaissez mais là je ne comprends pas ?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [VB6] Exécuter une macro Access
    Par Nektanebos dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 22/02/2006, 16h32
  2. Macro utilisant une macro...
    Par Gogoye dans le forum C
    Réponses: 2
    Dernier message: 29/10/2003, 14h22
  3. [VBA-E] [Excel] Lancer une macro à une heure donnée
    Par Lysis dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/10/2002, 12h15
  4. Qu'est-ce qu'une macro ?
    Par karli dans le forum Assembleur
    Réponses: 2
    Dernier message: 01/09/2002, 03h38
  5. Réponses: 2
    Dernier message: 22/07/2002, 12h13

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