Regroupement de 2 macros en 1

Bonjour à toutes et tous

Mes compétences Excel étant limitées aux formules, j'ai effectué une deuxième macro par enregistrement automatique, cela fonctionne, mais ce n'est pas très pratique, il faut que je lance ma première macro et ensuite la deuxième en n'oubliant pas de me positionner sur A1 avant de lancer la deuxième macro

Pouvez-vous m'aidez, s'il vous plait ?

Explications :

La macro Absents, réalisée via Excel-Pratique permet de rajouter sur la 1ère feuille (Heures salariés) les salariés non présent sur la feuille 2 (Salariés).

Ma macro "tri-salariés" permet de trier par ordre décroissant la colonne B (Code Salarié) et de supprimer les lignes 2 et 3 (ne change jamais).

L'idée et de n'avoir qu'une seule macro si possible...

J'espère avoir apporter les explications nécessaires pour votre aide

D'avance Merci

Michel

Bonjour micheldz,

As-tu essayé d'inscrire le nom de ta seconde macro avant le End sub de la première :

Sub absents()
Dim a, i As Long, x As Range, dico As Object
    Set dico = CreateObject("Scripting.Dictionary")
    dico.comparemode = 1
    With Sheets("Heures Salariés").Range("a1")
        a = .CurrentRegion.Value
        For i = 2 To UBound(a, 1)
            dico(a(i, 1)) = Empty
        Next
        With Sheets("Salariés").Range("a1").CurrentRegion
            a = .Value
            For i = 1 To UBound(a, 1)
                If Not dico.exists(a(i, 1)) Then
                    If x Is Nothing Then
                        Set x = .Cells(i, 1).Resize(, 2)
                    Else
                        Set x = Union(x, .Cells(i, 1).Resize(, 2))
                    End If
                End If
            Next
        End With
        If Not x Is Nothing Then
            x.Copy .End(xlDown)(2)
            Set x = Nothing
        Else
            MsgBox "Aucun absent"
        End If
    End With

   Tri_Salaries

    End Sub

Cordialement,

xorsankukai

Merci Xorsankukai, cela fonctionne bien,

Par contre je voulais avoir juste une seule macro

Merci pour ta réponse

Bonsoir,

Pourquoi veux-tu fusionner dans une seule macro ! Mieux vaut toujours plusieurs macros faisant chacune une chose précise, qu'une seule qui regroupe tout !

Et s'agissant d'une procédure de tri, l'autonomiser est toujours un bon choix, on pourra l'appeler dans différents cas, sans avoir à réécrire le code...

Cordialement.

Rechercher des sujets similaires à "regroupement macros"