Macro qui lance une macro après chaque fin de mois...

Christian0258

XLDnaute Accro
Bonjour à tout le forum,
Bonne Année à tous.

Je souhaiterais votre aide afin d'écrire une *macro...qui se déclencherais après chaque fin de mois, à l'ouverture du fichier...
quelle que soit l'année :

Explications ;
le 1er janvier la *macro lance ma macro nommée "MoisDéc"
le 1er février la *macro lance ma macro nommée "MoisJanv"
le 1er mars la *macro lance ma macro nommée "MoisFévr"

ect ect

Je vous remercie pour le temps que vous voudrez vouloir m'accorder.
Bien amicalement,
Christian
 
Dernière édition:

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Macro qui lance une macro après chaque fin de mois...

Bonjour Christian

avec ce code ( à condition d'ouvrir le fichier le 1er du mois)

Code:
Private Sub Workbook_Open()
If Day(Now) = 1 Then
    Select Case Month(Now)
        Case 1
            MoisDéc
        Case 2
            MoisJanv
        Case 3
            MoisFévr
        Case 4
            MoisMars
        Case 5
            MoisAvr
        ' la suite pour les autres mois suivant la même logique
        
    End Select
End If
End Sub

à+
Philippe
 

job75

XLDnaute Barbatruc
Re : Macro qui lance une macro après chaque fin de mois...

Bonjour Christian, Philippe,

Si les macros sont bien dans un module standard :

Code:
If Day(Date) = 1 Then Application.Run "Mois" & Format(Date - 1, "mmm")
Sinon il faudrait préciser le nom du module.

A+
 

job75

XLDnaute Barbatruc
Re : Macro qui lance une macro après chaque fin de mois...

Re,

Ben si tu mets tout mon code sur une même ligne le End If provoquera une erreur de compilation.

Tu devrais savoir ça, sinon il est temps de l'apprendre...

A+
 

Christian0258

XLDnaute Accro
Re : Macro qui lance une macro après chaque fin de mois...

Re,

Ben non je ne sais pas, c'est pour ça que je te demande...lol
alors pour apprendre peux-tu me dire comment il faut rédiger ce code.?

Merci, job75, pour ton aide....et ta patience...lol

Bien à toi.
Christian
 

job75

XLDnaute Barbatruc
Re : Macro qui lance une macro après chaque fin de mois...

Re,

Mal dormi cette nuit ?

Code:
Private Sub Workbook_Open()
If Day(Date) = 1 Then Run "Mois" & Format(Date - 1, "mmm")
End Sub
Maintenant si l'on n'ouvre pas le fichier le 1er du mois mais l'un des jours suivants :

Code:
Private Sub Workbook_Open()
If CStr([Mois]) <> Month(Date) Then
  Run "Mois" & Format(Date - Day(Date), "mmm")
  Me.Names.Add "Mois", Month(Date) 'nom défini
  Me.Save 'enregistrement (facultatif)
End If
End Sub
Le nom défini Mois permet de n'exécuter la macro qu'une fois dans le mois.

A+
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 196
Messages
2 086 100
Membres
103 116
dernier inscrit
kutobi87