Claudius91 Posté(e) dimanche à 15:01 Posté(e) dimanche à 15:01 Bonsoir, Après avoir cherché sur internet une solution, je pensais avoir trouvé, mais cela ne marche pas. Mon problème. j'ai des tableaux identiques sur 12 feuilles d'excel, les onglets sont les mois de l'année : Janv, Fev, Mars,......... Je cherche une macro qui selon le mois séléctionne le nombre de cellule correspondant au nombre de jours du mois. Ci-dessous la macro, mais erreur au niveau de la deuxième ligne Sub Macro20() 'Macro20Macro Dim jours As Long Select Case ws.Name Case "Janv", "Mars", "Mai", "juillet""Aout", "Oct", "Dec": jours = 31 Case "Avril", "Juin", "Sept", "Nov: jours = 30" Case "Fev": jours = 28 End Select Dim place As Range Set Plage = ws.Range("B4:B" & (4 + jours - 1)) End Sub
Longaripa Posté(e) dimanche à 16:13 Posté(e) dimanche à 16:13 (modifié) Bonjour @Claudius91 Une suggestion : Remplacer ws par activesheet mettre une virgule entre juillet et aout mettre dim plaGe As Range (pas dim plaCe ..) Sub Macro1() ' ' Macro1 Macro ' Dim jours As Long Select Case ActiveSheet.Name Case "Janv", "Mars", "Mai", "juillet", "Aout", "Oct", "Dec": jours = 31 Case "Avril", "Juin", "Sept", "Nov: jours = 30" Case "Fev": jours = 28 End Select Dim plage As Range Set plage = ActiveSheet.Range("B4:B" & (4 + jours - 1)) plage.Select End Sub Modifié dimanche à 16:15 par Longaripa
Claudius91 Posté(e) il y a 21 heures Auteur Posté(e) il y a 21 heures Bonjour Longaripa Problème , ne fonctionne pas, en utilisant pas à pas détaillé, la ligne " Dim jours As Long " n'est pas utilisée, de Macro2Macro, directement à Select Case ActiveSheet.Name Sub Macro2() 'Macro2Macro ' ' ' Dim jours As Long Select Case ActiveSheet.Name Case "Janv", "Mars", "Mai", "juillet", "Aout", "Oct", "Dec": jours = 31 Case "Avril", "Juin", "Sept", "Nov: jours = 30" Case "Fev": jours = 28 End Select Dim plage As Range Set plage = ActiveSheet.Range("B4:B" & (4 + jours - 1)) plage.Select End Sub
Longaripa Posté(e) il y a 19 heures Posté(e) il y a 19 heures Bonjour Mais si, ca fonctionne. Les instructions Dim sont exécutées au départ de la procédure, et non pas dans le déroulement. Dans le menu, cliquez sur affichage, puis sur variables locales Dans la fenêtre, on voir que jours et plage sont bien définies au départ.
Claudius91 Posté(e) il y a 18 heures Auteur Posté(e) il y a 18 heures Ok, cela fonctionne Mais pas pour les mois de 30 jours Je remarque des guillemets après le chiffre 30. sont-ils nécessaire ? Par contre impossible de les retirer ils reviennent toujours !!
Claudius91 Posté(e) il y a 18 heures Auteur Posté(e) il y a 18 heures J'ai trouvé. Il manquait les guillemets après Nov. Mis guillemets après Nov, Supprimé ceux après 30 Et tout fonctionne bien Super Merci
Messages recommandés