Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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:
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
 
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+
 
Re : Macro qui lance une macro après chaque fin de mois...

Re,

Remarques :

- mon code fonctionne aussi tel quel sur Word

- sur Excel on peut supprimer "Application." mais pas sur Word.

A+
 
Re : Macro qui lance une macro après chaque fin de mois...

Re,

ce qui donne dans ThisWorkbook;

Private Sub Workbook_Open()
If Day(Date) = 1 Then Run "Mois" & Format(Date - 1, "mmm")
End If
End Sub


c'est ça..?

Merci pour votre aide.
Christian
 
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+
 
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
 
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+
 
Re : Macro qui lance une macro après chaque fin de mois...

Re,

A savoir aussi, le nom défini peut être masqué :

Code:
Me.Names.Add "Mois", Month(Date), Visible:=False 'nom défini masqué
A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
8
Affichages
978
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…