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 :

Automatisation de macro après appui sur un bouton.


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2017
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Automatisation de macro après appui sur un bouton.
    Bonsoir à tous,

    Après moult tatonnement j'ai pu créer une feuille excel (COLLABT) qui fait la synthèse des champs de 3 autres feuilles (COLLAB1, COLLAB2 ET COLLAB3) grace à une première macro.
    J'aimerais maintenant pouvoir automatiser l'exécution d'une macro qui sert à supprimer les doublons de ma feuille COLLABT (j'ai le résultat attendu en double, sans trop que je sache pourquoi).
    J'ai déjà enregistré la macro, mais je ne sais pas comment l'automatiser pour qu'elle supprime automatiquement les doublons après (voir même avant) l'affichage des résultats.

    Voici le code de la macro qui s'occupe de la synthèse sur COLLABT

    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
    Sub COLLABT()
    With Sheets("COLLABT")
      .Range("A2:O65536").Delete
      For Each sh In Sheets
        Select Case sh.Name
          Case "COLLAB1", "COLLAB2", "COLLAB3"
     
            For lg = 2 To sh.Range("A65536").End(xlUp).Row
              LgS = .UsedRange.Rows.Count + 1
              .Cells(LgS, 1) = sh.Cells(lg, 1)
              .Cells(LgS, 2) = CDate(sh.Cells(lg, 2))
              .Cells(LgS, 3) = sh.Cells(lg, 3)
              .Cells(LgS, 4) = sh.Cells(lg, 4)
              .Cells(LgS, 5) = sh.Cells(lg, 5)
              .Cells(LgS, 6) = sh.Cells(lg, 6)
              .Cells(LgS, 7) = sh.Cells(lg, 7)
              .Cells(LgS, 8) = sh.Cells(lg, 8)
              .Cells(LgS, 9) = sh.Cells(lg, 9)
              .Cells(LgS, 10) = sh.Cells(lg, 10)
              .Cells(LgS, 11) = sh.Cells(lg, 11)
              .Cells(LgS, 12) = sh.Cells(lg, 12)
              .Cells(LgS, 13) = sh.Cells(lg, 13)
              .Cells(LgS, 14) = sh.Cells(lg, 14)
              .Cells(LgS, 15) = sh.Cells(lg, 15)
     
            Next
        End Select
      Next
    End With
    End Sub
    Le code de la macro de suppression des doublons :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub SupDuplicates()
    '
    ' SupDuplicates Macro
    ' Suppressions de doublons
    '
     
    '
        ActiveSheet.Range("$A$1:$O$45").RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5, 6, 7 _
            , 8, 9, 10, 11, 12, 13, 14, 15), Header:=xlYes
    End Sub
    Voici le résultat de l'exécution de la 1ere macro par le bouton mise à jour :

    Nom : Hgu9g.png
Affichages : 178
Taille : 161,0 Ko

    Le résultat attendu (et celui qui se produit après l'exécution de la suppression des doublons)

    Nom : oX2Wo.png
Affichages : 172
Taille : 90,9 Ko


    Merci d'avance.

  2. #2
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour
    mais je ne sais pas comment l'automatiser pour qu'elle supprime automatiquement les doublons après (voir même avant) l'affichage des résultats
    Il est toujours possible d'automatiser l'outil de suppression des doublons à la fin de ta procédure (l'utilisation de l'enregistreur de macros te permettra d'en connaître le code nécessqaire)

    Il serait toutefois bien mieux de travailler a priori (contrôle avant ajout) plutôt qu'à posteriori.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  3. #3
    Candidat au Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2017
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Comment dois je procéder?

    Merci pour la réponse.

  4. #4
    Membre du Club
    Homme Profil pro
    technicien
    Inscrit en
    Février 2017
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : technicien

    Informations forums :
    Inscription : Février 2017
    Messages : 82
    Points : 48
    Points
    48
    Par défaut
    Bonjour
    Onglet développeur dans excel,
    puis enregistrer une macro (à gauche dans le ruban)
    exécuter manuellement ce que tu souhaites faire
    arrêter l'enregistrement
    regarder le code généré dans le module créé.

    Piste à envisager l'utilisation d'un dictionnaire qui permet de supprimer les doublons? Je laisse les spécialistes répondre....

    a+

  5. #5
    Candidat au Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2017
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Merci mais c'est déjà fait ,j'ai même joint le code de la macro de suppression de doublons dans mon message initial. Le problème est que je ne sais pas comment l'automatiser pour qu'elle se lance toute seule (sans raccourcis).

Discussions similaires

  1. Récuperer heure après appui sur bouton
    Par lg022 dans le forum VB.NET
    Réponses: 2
    Dernier message: 29/04/2008, 10h13
  2. Réponses: 9
    Dernier message: 23/07/2007, 15h24
  3. Intercepter l'appuie sur le bouton "Envoyer" d'Outlook
    Par Charette dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 14/10/2005, 14h24
  4. Comment détecter quand un utilisateur appuie sur le bouton Power ?
    Par Millenod dans le forum API, COM et SDKs
    Réponses: 7
    Dernier message: 22/09/2005, 21h05
  5. Réponses: 2
    Dernier message: 26/07/2005, 15h35

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