As tu peur de tester?
Oui quand on a une date dans une cellule formatée en mmmm, le mmmm exprime le mois dans la langue de ton environnement.
Cordialement.
J'utilise toujours le point comme séparateur décimal dans mes tests.
Ca tourne même mieux sans le code dans le Workbook_Open, je le supprime donc, merci !
Avez-vous une idée pour le planning restant dans la feuille Ajout_Années?
Cordialement
Supprime le
Tu as tout simplement lancé ta procédure "construction" avec la feuille active: Ajout_Années
En temps normal, ta procédure "construction" étant lancé avec l'évènement Change de la feuille Tasklist. C'est à dire Tasklist étant LA feuille active.
PS. Pour "le discours maladroit" imaginé, je ne crois pas en arriver là! Loin de donner des leçons derrière un clavier. Simplement je vous encourage à aller de l'avant du moment qu'on est tous des novices (certes à des degrés plus ou moins profonds). C'est avec la pratique, la documentation et l'analyse calme qu'on arrive à avancer. L'ego est à laisser de côté
Cordialement.
J'utilise toujours le point comme séparateur décimal dans mes tests.
Bonjour,
J'ai compris mon erreur pour le lancement de la procédure construction mais je ne vois pas si cette erreur risque d'être récurrente... En clair, est ce que je dois adapter mon code pour être certain que la fonction construction ne se lance plus sur l'onglet Ajout_Années?
Cordialement
Pour être tranquille (quant à l'évolution de ton code) modifie ta sub Construction en indiquant la feuille à laquelle se rapportent les plages.
Pour cela on utilise le nom de la feuille Task list ou bien son CodeName Feuil4 avec le With/End With et pour chaque Range ou Column, les suffixer d'un point
Explication avec exemple
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 '.... With Feuil4 'With Worksheets("Tasks list") With .Columns("J:FO") .Clear .ColumnWidth = 2 End With 'Range("J3:FP5").Clear DateDep = DateSerial(.Range("F2"), Month(.Range("F3")), 1) SemDep = numSem(DateDep) If SemDep > 51 Then SemDep = 1 LaDate = 7 * SemDep + DateSerial(.Range("F2"), 1, 1) - Weekday(DateSerial(.Range("F2"), 1, 3)) ' Jeudi de cette semaine ' Si le Jeudi de la semaine de départ n'est pas dans le mois demandé on rajoute 1 à la semaine de départ If Month(LaDate) <> Month(.Range("F3")) Then SemDep = SemDep + 1: LaDate = LaDate + 7 SemFin = numSem(DateAdd("yyyy", 3, DateDep)) ColDep = 10 ColFin = ColDep For I = .Range("F2") To .Range("F2") + 2 If I = .Range("F2") Then '....suite End With End Sub
inscrit Toto en A1 de LA feuille active
Code : Sélectionner tout - Visualiser dans une fenêtre à part Range("A1")="Toto"
inscrit Tata en A1 de la feuille Feuil1 et on la colorie en rouge quelque soit la feuille active
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Worksheets("Feuil1").Range("A1") = "Tata" Worksheets("Feuil1").Range("A1").Font.Color = 255
Avec with/end with on simplifie l'écriture comme ceci
Plus tard quand on tu vas travailler simultanément avec plusieurs classeurs, il faudra aussi indiquer à quelle classeurappartient la feuille
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 With Worksheets("Feuil1") .Range("A1") = "Tata" .Range("A1").Font.Color = 255 End With
Cordialement.
J'utilise toujours le point comme séparateur décimal dans mes tests.
Merci pour le code et l'exemple, ça permet de bien comprendre le système.
Le code semble fonctionner nickel, merci beaucoup pour votre aide.
Je marque la discussion comme résolue.
Merci pour l'aide,
Bonne après-midi
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager