Lancer telle ou telle macro en fonction du mois cellule A1 feuil1, à la fermeture...

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,

Je souhaiterais votre aide afin d'écrire une macro.
A la fermeture du fichier, je souhaite, en fonction du mois de la cellule A1 au format date fonction AUJOURDHUI(), lancer automatiquement la macro1 (pour janvier), les macro1 et 2 (pour février), les macro2 et 3 (pour mars) ect ect.
J'ai essayé de bidouiller ça dans ThisWorkbook, mais suis nul en VBA...donc ça plante :

Private Sub Workbook_BeforeClose(Cancel As Boolean)

If Range("A1").Value = "janvier" Then 'A1 de la Feuil1 (Base)
Call macro1
If Range("A1").Value = "février" Then
Call macro1
Call macro2
If Range("A1").Value = "mars" Then
Call macro2
Call macro3
'ect
'ect
End If
End Sub

Merci pour votre aide.
A vous lire.
Bien amicalement,
Christian
 
Re : Lancer telle ou telle macro en fonction du mois cellule A1 feuil1, à la fermetu

Bonjour,

Sans ton fichier exemple, difficile d'être certain de la réponse,
mais comme tu dis que ta cellule A1 est au format date avec la formule =aujourdhui

ta macro devrait plutot ressembler à ca: avec un select case

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)

mois=month(Range("A1"))

select case mois
case 1
  call macro1
case 2
  call macro2
case 2
  call macro3
'etc etc...

else case
  msgbox ("erreur pas de macro à lancer")
end select

End Sub
 
Re : Lancer telle ou telle macro en fonction du mois cellule A1 feuil1, à la fermetu

Re, le forum, vgendron,

Merci à toi pour ton aide.
Dis-moi, dans la macro pas besoin de préciser la feuille dans laquelle on prend la cellule A1 pour référence ?

A vous lire.
Merci
Christian
 
Re : Lancer telle ou telle macro en fonction du mois cellule A1 feuil1, à la fermetu

si c'est mieux.. surtout si la fenetre active au moment de la fermeture n'est pas la meme à chaque fois

mois=month(sheets("Base").Range("A1"))
 
Re : Lancer telle ou telle macro en fonction du mois cellule A1 feuil1, à la fermetu

Re, le forum, vgendron,

Merci pour cette ligne de commande.
Autre tite question dans la cellule A1 il faut mettre le format "m" pour obtenir 3 (mars) ou je peux laisser le format "mmm" pour mars.?
Merci
Christian
 
Re : Lancer telle ou telle macro en fonction du mois cellule A1 feuil1, à la fermetu

c'est comme tu veux: la Macro ne s'en occupe pas.. du moment que la cellule contienne une date, elle est capable d'en extraire le numéro du mois. qu'il soit affiché mars March ou 3..
 
Re : Lancer telle ou telle macro en fonction du mois cellule A1 feuil1, à la fermetu

Re, le forum, vgendron,
Je reviens vers vous pour une éventuelle amélioration ?
Quelle condition écrire expl ; case 2 janvier pour ne pas lancer cette macro si la date système 15 est atteinte...?

Private Sub Workbook_BeforeClose(Cancel As Boolean)
mois = Month(Sheets("Saisies").Range("B1"))
select case mois
case 1
call janvier
case 2
call janvier 'ne rien faire si la date système du 15 est atteinte
case 2
call février
case 3
call février 'ne rien faire si la date système du 15 est atteinte
case 3
call mars

ect ect
End Select
End Sub

Merci pour votre aide.
Bien amicalement,
Christian
 
Dernière édition:
Re : Lancer telle ou telle macro en fonction du mois cellule A1 feuil1, à la fermetu

Hello

il suffit de rajouter un test sur le jour système
date système est donnée par Now
day(now) retourne le jour
aujourd'hui. ca donne le 10

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
mois = Month(Sheets("Saisies").Range("B1"))
select case mois

case 1
  if day(now)>=15 then call janvier

case 2
  call février

case 3
call mars


End Select
End Sub
 
- 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

Retour