Bonjour à tous les membres du forum,
Je suis débutant sur VBA, et je sèche sur une erreur d'execution 13:
En gros, j'indexe les résultats de production du jour précédent sur une feuille d'un classeur que j'ai nommé "SYNTHESE", et pour cela je compare la date de la cellule D2 (celle de la sauvegarde du moment), avec la date en E2(logiquement celle de la veille, ou celle d'aujourd'hui si la macro est lancée 2 fois dans la journée). Si la valeur est la même, on change rien, sinon on décale toutes les cellules une colonne à droite et on insère la colonne du jour.
Je dois maintenant vérifier si je suis à la fin du mois
Si non on continue comme au dessus,
Si oui: je dois , s'il n'existe pas, créer un classeur avec comme nom quelque chose comme "relevé_Prod_<Année En Cours>", avec dedans une feuille par mois; et copier les résultats de ma feuille SYNTHESE vers la feuille correspondant au mois.
J'ai commencé par écrire quelques trucs glanés sur le Net, et qui semble fonctionner chez d'autres....Mais pour moi, j'ai une erreur d'execution 13 sur la ligne m = Month(Range("D2")) 'Récupération du mois en cours
Voici le code:
A savoir que la cellule D2 et A1 sont en mode standard sur la feuille excel, j'ai essayé en mode date sur la feuille, idem. Quand je remplace D2 par une cellule vide (en mode standard), le code passe sans erreur.
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 Sub RechercheDernierJourDuMois() Sheets("SYNTHESE").Select m = Month(Range("D2")) 'Récupération du mois en cours A = Year(Range("D2")) 'Récupération de l'année en cours 'Calcul du premier jour du mois suivant date_mois_suivant = DateSerial(A, m + 1, 1) 'Date du dernier jour dernier_jour_mois = date_mois_suivant - 1 Range("A1") = dernier_jour_mois ' je range en A1 la date du dernier jour du mois End Sub
Je ne sais pas aller plus loin, une idée me débloquerait....
Merci
Eric W
Partager