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 :

Lancer une macro automatiquement [XL-2019]


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
    Retraité
    Inscrit en
    Mars 2010
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mars 2010
    Messages : 58
    Par défaut Lancer une macro automatiquement
    Bonsoir
    Dans mon fichier joint j'ai deux macros, une pour exécuter le remplissage d'un formulaire, l'autre pour afficher une image.
    Le seul soucis c'est que lorsque je demande le N° Article tout se remplis bien mais pour afficher l'image je dois activer "exécuter la macro"
    J'ai pourtant mis en fin de code "AfficheImage" qui est le nom de la 2° macro.
    Mais cela ne se lance pas
    Comment Faire?
    Merci
    Fichiers attachés Fichiers attachés

  2. #2
    Membre averti
    Homme Profil pro
    Technicien Industrialisation
    Inscrit en
    Avril 2018
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien Industrialisation
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2018
    Messages : 15
    Par défaut
    Salut,

    Je dirais simplement d'appeler ta macro à l'intérieur de ce IF : If Range("D4") = Sheets("Bd").Range("B" & ligne) Then...

  3. #3
    Membre Expert Avatar de mfoxy
    Homme Profil pro
    Automation VBA
    Inscrit en
    Février 2018
    Messages
    752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Automation VBA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2018
    Messages : 752
    Par défaut
    Bonjour,

    c'est logique, lorsque tu modifies ta liste déroulante l'évenement Worksheet_Change est lancer donc

    Elle fonctionne :

    1) Vérifie que tu modifie ta liste déroulante en D4 -> Oui -> Vide range Range("D610") = Oups modification de la feuille, et on appelle a nouveau évenement Worksheet_Change mais là Vérifie que tu modifie ta liste déroulante en D4 = Non donc fin de la macro sans faire la suite du code.

    Essaie ceci dans une copie de ton fichier, explications dans le code.

    Le code pourrait être revu , niveau recherche de l'élément dans la bd, sortie de boucle,... mais suis Out aujourd'hui.

    Bàt


    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
    Private Sub Worksheet_Change(ByVal Target As Range)
    
    Dim ligne As Integer
    
    If Not Intersect(Target, Range("D4")) Is Nothing Then
    
    Application.EnableEvents = False  ' Stop la vérification des évenements
    
        Range("D6:D10") = Empty
        Range("A1") = Empty
        For ligne = 4 To Sheets("Bd").Range("B3").End(xlDown).Row
        
            If Range("D4") = Sheets("Bd").Range("B" & ligne) Then
            
                Range("A1") = Sheets("Bd").Range("F" & ligne)
                Range("D6") = Sheets("Bd").Range("C" & ligne)
                Range("D8") = Sheets("Bd").Range("D" & ligne)
                Range("D10") = Sheets("Bd").Range("E" & ligne)
                
                Exit For    ' PAS DE EXIT SUB on doit sortir de la boucle et pas de la procédure
            End If
        
        Next ligne
        'AfficheImage
        
    Application.EnableEvents = True ' Active la vérification des évenements
    
    End If

  4. #4
    Membre confirmé
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2010
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mars 2010
    Messages : 58
    Par défaut
    Bonsoir
    Merci pour l'aide, mais justement si je viens ici c'est que je ne maîtrise pas les codes, donc qui y a-t-il derrière "then....."

  5. #5
    Membre confirmé
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2010
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mars 2010
    Messages : 58
    Par défaut Vba
    Bonsoir Mfoxy et les autres
    Je ne suis pas pressé à 2 mn, mais je ne suis pas non plus de votre niveau
    Donc
    Pourriez vous prendre svp 2 mn pour m'expliquer ce que vous faites pour m'aider car si vous ne finissez pas vos explications, je ne saurais le faire moi même
    Merci pour l'aide
    Concernant le formulaire, une fois totalement vide il se remplis par le menu déroulant
    Mais si on mets en fin "AfficheImage" il ne fonctionne plus et les cases ne se remplissent plus

    Voila la seule chose que je peux vous dire
    Merci

  6. #6
    Membre Expert Avatar de mfoxy
    Homme Profil pro
    Automation VBA
    Inscrit en
    Février 2018
    Messages
    752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Automation VBA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2018
    Messages : 752
    Par défaut
    Papy,

    As tu fais un copier-coller de mon code ?

    As tu mis un point d'arrêt dans ta procédure, click sur le bord de la fenêtre en face de ta première instruction de traitement) worksheet_change et effectuer un pas à pas (click F8) pour voir le fonctionnement de ton code et voir pq il ne fonctionnait pas ?

    Dans ton code à la fin de ta boucle de remplissage, tu avais mis un Exit Sub donc tu sort de la procédure sans l'achever et donc sans afficher l'image.

    Je pensais que mes explications et dans le commentaire et dans le code était assez exhaustives que pour te faciliter la compréhension , je prendrai soin à l'avenir de prévenir ce genre de détails.

    Je te souhaite une bonne continuation dans ton projet.

    Bat,

    Ps : tu dois retirer " ' " devant affiché image dans mon code.

  7. #7
    Membre Expert
    Inscrit en
    Septembre 2007
    Messages
    1 142
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 142
    Par défaut
    Bonsoir,
    Citation Envoyé par papy_polo67 Voir le message
    j'ai pourtant mis en fin de code "AfficheImage" qui est le nom de la 2° macro.
    Pour que l'affichage se fasse il faut que tu remontes "AfficheImage" avant la ligne "Exit Sub" qui arrête la macro et ne lance donc pas la suite.

  8. #8
    Membre confirmé
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2010
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mars 2010
    Messages : 58
    Par défaut
    Un grand merci à vous tous
    J'ai gardé mon code mais j'ai remonter Affiche image avant le "Eexit Sub"......et cela fonctionne
    Merci
    Au moins un forum ou on réponds à ceux qui posent des question, au lieu de leur demander pkoi il la pose
    Polo

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 04/08/2017, 15h29
  2. Comment lancer une macro automatique lors d'ouverture de fichier EXcel
    Par yassinefeki dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 16/05/2010, 23h48
  3. Réponses: 7
    Dernier message: 14/05/2008, 11h41
  4. Réponses: 1
    Dernier message: 26/08/2007, 20h07
  5. [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

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