Bonjour,
J'aurais besoin d'aide pour solutionner une problematique concernant la fonction "MonthName(Month(Date) - 1)" au mois de janvier.
En effet dans ma macro utilise cette fonction pour m'assurer que la macro en question n'a pas déjà été lancé dans le mois en cours, on travail avec un décalage d'un mois par rapport au mois actuel.
La problématique est qu'a priori VBA ne comprend pas que, au mois de janvier, MonthName(Month(Date) - 1), soit Janvier -1, correspond a décembre.
Ci dessous le code:
Merci de votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 Sub Generate() 'Copie des valeurs de la feuille Compilation vers la feuille Facturation par mois Sheets("Facturation par mois").Activate 'sur la feuille Facturation par mois If ActiveSheet.Range("E" & ActiveSheet.Rows.Count).End(xlUp).Offset(1, -2).Value = MonthName(Month(Date) - 1) And IsEmpty(ActiveSheet.Range("E" & ActiveSheet.Rows.Count).End(xlUp).Offset(1, 0)) = True Then 'Sélection des cellules a copier Sheets("Compilation").Select Range("N53:R53").Select Selection.Copy Sheets("Facturation par mois").Select 'Identification de la cellule de destination ActiveSheet.Range("E" & ActiveSheet.Rows.Count).End(xlUp).Offset(1, 0).Select 'Vérification si la cellule de destination n'est pas fusionné If ActiveCell.MergeCells = True Then ActiveSheet.Range("E" & ActiveSheet.Rows.Count).End(xlUp).Offset(2, 0).Select End If 'Copie des valeurs Selection.PasteSpecial Paste:=xlPasteValues 'Sauvegarde du classeur ThisWorkbook.Save 'Message d'erreur si facturation du mois en cours déjà généré Else: MsgBox "Facturation du mois de " & MonthName(Month(Date) - 1) & " déjà générée." End If End Sub
Cordialement
Partager