Calendrier annuel de gestion de congés

Bonjour,

J'ai besoin de votre aide pour finir la macro qui créer mon planning de gestion de congés.

J'ai une erreur sur :

Sheets("CalConfig").Select

Voici mon fichier complet :

Bonjour leon8121,

De quelle procédure ?

Tu as une procédure "DupliquerFeuille" et une procédure "DupliquerLigne" où celle ligne "Sheets("CalConfig").Select"

EDIT : ton problème vient d'une faute d'orthographe à priori, tu as un "S" en trop à la fin de ActiveSheet :

ActiveSheets.Copy

la bonne orthographe :

ActiveSheet.Copy

Globalement, plutôt que d'écrire

Sheets("CalConfig").Select
ActiveSheet.Copy Before:=Sheets("Stat")

Ecris plutôt :

[code]Sheets("CalConfig").Copy Before:=Sheets("Stat")

[/code]

c'est le code de l'enregistrement, je commence donc je ne suis pas encore au stade de l'épurer

Et donc, est-ce que la correction de la faute d'orthographe a résolu ton problème ?

ActiveSheets.Copy à corriger en ActiveSheet.Copy

Oui mais y'en a d'autres, maintenant ça bloque sur :

ActiveSheet.Name = Range("AO2").Value

peut-etre parce que "AO2" contient une formule ?

c'est le résultat que je souhaite obtenir, qui est spécifique au format de la cellule que j'ai choisi, c'est une date, mis au format personnalisé "mmm"

ah oui c'est ça, ça me récupère une date au format jj/mm/aaaa alors qu'avec mon format personnalisé j'ai "janv"

Y'a-t-il un moyen pour récupérer cette valeur ? car je souhaite m'en servir afin de renommer mes feuilles.

R-Salut Leon !

Oui tout est possible en VBA, c'est ça qu'on aime ^^

remplace :

 ActiveSheet.Name = Range("AO2").Value

par:

 ActiveSheet.Name = MonthName(Month(Range("AO2").Value)) '<--- ça donne "février" 

ou si tu veux l'année avec :

ActiveSheet.Name = MonthName(Month(Range("AO2").Value)) & " " & Year(Range("AO2").Value) '<--- ça donne "février 2015"

Ouai on peut tout faire, le plus dur c'est de savoir comment ^^

Vu qu'il va y avoir bcp de feuille je ne voulais pas afficher le nom complet mais son abréviation Janv, Fév, Mars, Avr, [...] Sept...

Mais en attendant la réponse, j'vais essayer avec ton code, de toute façon, j'ai encore d'autre point de blocage

Voilà avec une abbréviation du mois

ActiveSheet.Name = Left(MonthName(Month(Range("AO2").Value)), 4)

Ça ne correspond pas exactement au format de cellule qu'Excel propose, dommage, mais tant pis, j'vais faire avec.

Rechercher des sujets similaires à "calendrier annuel gestion conges"