Problème de code

Bonjour tout le monde,

je vais placer ma demande séparément, afin de vous demander votre aide SVP.

je me permets de vous montrer une modification du calendrier astreintes que moi aussi j’utilise, mais sans les numéros de semaines. Mais cela me serait utile aussi.

J’ai réussi à placer les numéros de semaine dans ce calendrier ci-joint. Reste à voir si tout est correct.

Lorsque je lance le « UserForm1 » tout fonctionne, mais en ce qui concerne le placement via la macro « Planifier » des noms et le motif dans le calendrier, il me les place à la fin du mois, hors calendrier, comme vous pouvez voir pour le mois en cours, donc septembre.

Merci de bien vouloir y jeter un oeil pour voir ce qui ne colle pas.

Je vous remercie d’avance.

Cdt Rubis57

CALENDRIER DES ASTREINTES.xlsm (125,8 Ko)

Bonjour,
En bricolant la macro déjà établie, à tester
CALENDRIER DES ASTREINTES (1).xlsm (139,6 Ko)

Avec en plus les acronymes et ses couleurs
CALENDRIER DES ASTREINTES (1).xlsm (141,0 Ko)

1 « J'aime »

Bonjour Mimimathy,

Désolé pour mon retard.

Merci pour ton aide sur ce sujet :+1: :+1:. C’est impeccable comme toujours. Je garde le deuxième.

Par contre, tu veux bien m’expliquer pourquoi avant il copier hors calendrier, de façon que je puisse comprendre cela STP.

A+
Cdt Rubis57

Re,
Non, je ne vais pas t’indiquer où il y a un malaise
Si tu veux progresser, il te suffir d’analyser les deux macros et ce sera à toi de me dire où il y a le « BIN’s »
Cela ne pourra t’être que bénéfique et ce sera une situation que tu contourneras ou approcheras très bien sur un autre programme
C’est comme cela qu’on avance :shushing_face:

Ce n’est pas juste :sob: :sob: :sob:

Bon bah, je vais m’y coller et chercher l’erreur.

A+

Re,

alors si j’ai bien regardé, il n’y a plus le code ci-dessous dans le VBA « Planifier » de ton retour.

couleur = 0
For i = 40 To Range(« E » & Rows.Count).End(xlUp).Row
If Range(« E » & i) = UserForm1.ComboBox2 Then
couleur = Range(« E » & i).Interior.ColorIndex
Exit For
End If
Next

et dans cette ligne ci-dessous tu as modifié le « -1 » en « -2 »

Do While Cells(lignetraitée, COLONNE - 2) <> Début And lignetraitée < 36

Est-ce déja correct ?

Re,

alors je viens de faire des essais et j’ai remarqué que seul le changement du"-2" en « -1 » rectifie le tout.

Mais malgré tout je n’arrive pas à comprendre :see_no_evil:

Re,
Sur ce point, tu as vu le BUG
Comme je ne sais pas comment était concu la feuille avant que tu ajoutes les N° de semaine, je ne peut te dire comment fonctionnait la macro.
Là, pour test, place sur la ligne 1 le N° de colonne (par ex: en F1 le chiffre 6 - CTRL appuyé et clic sur le petit point carré en bas à droite et tire vers la droite pour recopier)
En ajoutant sur la macro, un msgbox pour indiquer le N° de colonne
tu verras le pourquoi du « -1 » (Elle doit tomber sur la colonne contenant une date)

jourtraité = Début
moistraité = Format(jourtraité, "MMMM")
colonne = Split(listecolonne, "/")(UBound(Split(Split(listemois, moistraité)(0), "/"))) * 1
**MsgBox colonne**
lignetraitée = 5
Do While Cells(lignetraitée, colonne - 2) <> Début And lignetraitée < 36

Après pour les couleurs et l’enregistrement des données dans PARAMETRES, la recherche de la dernière ligne remplie ne correspond pas à son emplacement et pour les couleurs, la colonne
de remplissage (« KY »)

dlt = Sheets("PARAMETRES").Range("KY1048576").End(xlUp).Row

Mais voilà, c’est une macro reprise d’un autre classeur, avec un Textbox3 et des abérations comme

Sheets("PARAMETRES").ListObjects(1).ListRows.Add

ou

Début = CDate(Format(UserForm1.TextBox2, "MM/DD/YYYY"))
fin = CDate(Format(UserForm1.TextBox3, "MM/DD/YYYY"))

Là, le format ne sert à rien si tu places CDate, c’est un ou l’autre

Début = CDate(UserForm1.TextBox2))
fin = CDate(UserForm1.TextBox3) 

ou

Début = (Format(UserForm1.TextBox2, "MM/DD/YYYY")
fin = Format(UserForm1.TextBox3, "MM/DD/YYYY")

Mais tu as trouvé la faille. :+1:

Re,

Merci pour cette belle explication. Avec toi tout est bien expliqué. :+1: :+1:

J’ai fais comme tu as indiqué et j’ai vu que c’était bien une colonne avant (colonne - 1).

Je ne serai jamais à ce niveau, mais du moment que j’arrive à comprendre les macros de mon fichier ce sera déjà très bien.

Merci encore à toi et à très bientôt.

Cdt Rubis

1 « J'aime »

Je suis dans la meme situation :grinning:

Mais ont va réussir un jour d’etre au niveau :slightly_smiling_face:

je suis sure qu’un jour Mimi, FFO, Zebulon et Taz pourrons etre fier de savoir que c’est grace a toute leur patience qu’on pourra prendre la releve :grinning:

Bonsoir Johnny,

C’est un vrai virus ! :see_no_evil: :hear_no_evil: :speak_no_evil:
il y a deux ans encore je ne travaillais pas sur Excel ou juste des choses simples tu vois.

Mais grâce aux aides précieuses, aux conseils etc. que j’ai eu de Mimimathy, FFO, Taz et Zebulon, je commence " un peu à comprendre" et comme Mimimathy disait dans la journée " il faut aussi chercher un peu, se creuser la tête" et c’est comme ça qu’on peut essayer de mieux comprendre les codes et les fonctionnements de nos fichiers, car si on travaille tous les jours avec ce fichier il faut savoir un tout petit peu ou chercher s’il y a un bug ou autre.

Et c’est eux ( Mimimathy, FFO, Taz et Zebulon) qui ont construit mon fichier de façon qu’il fonctionne très bien. Moi j’ai juste eu un petit plan au début pour montrer ce que j’aimerai avoir.

Même si je l’ai déja fait à plusieurs reprises, je le fait encore une fois ici, UN TRES GRAND MERCI A VOUS, Mimimathy, FFO, Taz et Zebulon.

Et je suis sûr que j’aurai encore besoin de votre aide.

A bientôt vous tous. :wave: :wave:

Cdt Rubis57