Comment fusionner deux macros ?

Bonsoir à tous

Pourriez-vous m'aider à Adapter les deux macro dans un seule

Code1

Sub Filtre()

 Dim Nblg As Long

  Application.ScreenUpdating = False
  Range("B15:G38").ClearContents
 With Sheets("Bon")
    If .AutoFilterMode = True Then .AutoFilterMode = False
       Nblg = .Range("A" & Rows.Count).End(xlUp).Row
    .Range("B2:F" & Nblg).AutoFilter field:=5, Criteria1:=Range("E8")
     If Application.Subtotal(103, .Columns("F")) > 1 Then
     .Range("B2:E" & Nblg).SpecialCells(xlCellTypeVisible).Copy Range("B15")
    End If
    If .AutoFilterMode = True Then .AutoFilterMode = False
  End With
End Sub

Code2

Sub compteur()

Dim ws As Worksheet, compteur As Long

Set ws = Worksheets("Bon")
ws.Range("plclear") = ""

If IsNumeric(ws.Range("C16")) Then
    compteur = ws.Range("C16")
    ws.Range("C16") = compteur + 1

    ws.Range("D11") = ""

        Else
    Range("C16") = 1
End If

Range("D4").Select

End Sub

Je vous remercie a tous pour vos réponses

« Bien cordialement. »

Bonjour,

Il existe plusieurs réponses possibles à ta question ... suivant ton attente ...

Si tu veux que l'exécution de tes deux macros s'enchaine ... il suffit à la fin de la macro Filtre() d'ajouter:

Application.Run("compteur")

Bonsoir à tous

Bonsoir James007 et merci pour cette réponse . Malheureusement, je n'ai toujours pas résolu mon problème. ...

Je joins le fichier pour faciliter la compréhension du cas.

« Amicalement. »

23test-compteur.xlsm (158.12 Ko)

Bonsoir,

Merci pour le fichier ...

Mais sans explication complémentaire ... il est difficile de deviner quel est l'obstacle à résoudre ...

Edit : ... surtout que même les deux macros ... potentiellement à fusionner ne sont pas ... toutes les deux ... dans les modules !!!!!

20test-compteur.xlsm (143.16 Ko)

Re

Ah,Excusez-moi Cher James007

Avoir Numérotation automatique de la numéro du facture commencant par 001/2015?

zinelamri a écrit :

Re

Ah,Excusez-moi Cher James007

Avoir Numérotation automatique de la numéro du facture commencant par 001/2015?

Re,

Je constate que la question de l'incrémentation du compteur n'a aucun rapport avec le sujet initial de la discussion ...

ci-dessous le code à tester :

Sub compteur()
Dim ws As Worksheet
Dim compteur As String
Dim an As String

Set ws = Worksheets("Facture ETAB")
compteur = CInt(Left(ws.Range("C16").Value, 3))
an = Right(ws.Range("C16").Value, 4)
compteur = Format(compteur + 1, "000")
ws.Range("C16").Value = compteur & "/" & an

End Sub

Bonjour le forum

Bonjour James007

attends, je crois qu'il y a un malentendu (entre nous).

je voulais fusionner le module " Archiver1 " et le module " compteur " dans même module

(appuyer sur un bouton ''RECAP'' pour archiver et pour numérotation automatique

je vous remercie pour votre patience .

Bien cordialement à tous!!!

Re,

Ci dessous le code :

Sub Archiver1()
Dim ws As Worksheet
Dim dlg As Long
Dim cel As Range
Dim compteur As String
Dim an As String

    Set ws = ThisWorkbook.Worksheets("Facture ETAB")
    If Sheets("Facture ETAB").Range("F2") = "" Then MsgBox "Il manque la date, ou le Nom du client, ou le Numero de la facture ": Exit Sub

    With Sheets("Recap Fac")
        dlg = .Range("A" & Rows.Count).End(xlUp).Row + 1
        .Range("A" & dlg) = ws.Range("F2")
        .Range("B" & dlg) = ws.Range("E13")
        .Range("C" & dlg) = ws.Range("C16")
        .Range("D" & dlg) = ws.Range("E40")
        .Range("E" & dlg) = ws.Range("E41")
        .Range("F" & dlg) = ws.Range("E42")
    End With

' incrémentation du compteur
compteur = CInt(Left(ws.Range("C16").Value, 3))
an = Right(ws.Range("C16").Value, 4)
compteur = Format(compteur + 1, "000")
ws.Range("C16").Value = compteur & "/" & an

End Sub

Bonsoir à tous

Bonsoir James007

Merci beaucoup, c'est exactement ce que je voulais. ...

C'est parfait

encore une fois merci

« Sincères salutations. »

Re,

Merci pour tes remerciements ...

Bonjour et Bon Matin le forum

La moindre des choses c'est remercier tous qui aide les autres

« Amicalement. »

zinelamri a écrit :

Bonjour et Bon Matin le forum

La moindre des choses c'est remercier tous qui aide les autres

« Amicalement. »

Bonjour,

Tu as totalement raison ...

Mais tu seras peut-être étonné de l'apprendre ... ce n'est pas du tout la règle générale ....

Bonjour tous le monde

c'est la moindre des choses, Je voudrais remercier les gens qui m'ont aidé.

« Amicalement. »

Rechercher des sujets similaires à "comment fusionner deux macros"