XL 2016 macro en fonction du jour de la semaine

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

CYRIL CAMPAS

XLDnaute Junior
Bonjour chers XLnautes !

dans la continuité de ma dernière problématique, je rencontre un nouvel os, mais je pense que pour les personnes expérimentées c'est easy !

je tiens à remercier une nouvelle fois @sylvanu pour son aide plus que précieuse sur mon dernier fichier.

Voici ma problématique :

en fin de réunion, nous nous posons des questions, les réponses sont soit oui soit non. je souhaite traiter cela par MsgBox, et j'aimerai que ca remplisse les cellules en fonction du jour de la semaine.

je sais mettre en place les msgbox mais je n'arrive pas à inclure la condition du jour de la semaine. voici un screenshot de ce que je cherche à remplir

1633679706170.png
1633679706170.png l'idée est de remplir en fonction du jour de la semaine défini en M3.

merci pour votre aide les amis XLnautes.
 
Re,

Il ne s'agit pas de joindre la totalité de votre fichier mais d'un fichier anonymisé et épuré au stricte nécessaire pour comprendre et agir sur la situation.

Peu d'intervenant (dont moi) vont ouvrir un fichier sur un lien externe, vous en connaîtrez certaines raisons en relisant la charte du forum.

Cordialement
 
Re,

Il ne s'agit pas de joindre la totalité de votre fichier mais d'un fichier anonymisé et épuré au stricte nécessaire pour comprendre et agir sur la situation.

Peu d'intervenant (dont moi) vont ouvrir un fichier sur un lien externe, vous en connaîtrez certaines raisons en relisant la charte du forum.

Cordialement
bonjour Hasco, je comprends parfaitement, je vais donc joindre un bout de fichier épuré, nous sommes vendredi je n'arrive plus à réfléchir correctement ;-)
 
Bonjour Cyril, Hasco,
Si c'est pour répondre par Oui ou par Non, ne serait il pas plus simple de mettre dans le tableau des listes déroulantes Oui/Non ?
Sinon en VBA le N° du jour est :
VB:
NoJour = Weekday(TODAY, 2)
Avec 1 pour lundi, et 7 pour dimanche. Ensuite il suffit de ranger à la bonne colonne en faisant un offset pour sauter les premières colonnes.
 
Bonjour Sylvanu,

alors effectivement la liste déroulante est la solution très facile, mais je voulais un truc plus classe !

arrives tu à me préciser ton code pour remplir mes colonnes ?

genre :

si Lundi alors :

je pose ma question n°1 en msg box, si vbyes alors "OUI" en "R5" par exemple sinon "NON"

je pose ma question n°2 en msg box, même topo....

Je ne sais pas comment gérer la macro en fonction du jour...

merci d'avance
 
Re,
Un essai en PJ :
VB:
Sub Questions()
Dim DL%, Nojour%, Colonne%, Titre$, Question$, Réponse%
DL = Range("A65500").End(xlUp).Row
    Nojour = Weekday(TODAY, 2)  ' pour le test mettre NoJour=1 pour le lundi jusqu'à 5 pour le vendredi
    If Nojour > 5 Then Exit Sub ' car samedi ou dimanche
    Colonne = Nojour + 7        ' car lundi en colonne 8 (H)
For Ligne = 7 To DL
    Titre = Format(Now, "dddd dd mmmm yyyy") & " - Question " & Ligne - 6 & " sur " & DL - 6
    Question = Cells(Ligne, "A")
    Réponse = MsgBox(Question, 32 + 3, Titre) ' https://www.excel-pratique.com/fr/vba/boites_de_dialogue
    Select Case Réponse
        Case 6 ' Oui
            Cells(Ligne, Colonne) = "OUI"
        Case 7 ' Non
            Cells(Ligne, Colonne) = "NON"
    End Select
Next Ligne
End Sub
ligne à modifier pour test :
Nojour = Weekday(TODAY, 2) ' pour le test mettre NoJour=1 pour le lundi jusqu'à 5 pour le vendredi
car pas de prise en compte le week end.
 

Pièces jointes

Re,
Un essai en PJ :
VB:
Sub Questions()
Dim DL%, Nojour%, Colonne%, Titre$, Question$, Réponse%
DL = Range("A65500").End(xlUp).Row
    Nojour = Weekday(TODAY, 2)  ' pour le test mettre NoJour=1 pour le lundi jusqu'à 5 pour le vendredi
    If Nojour > 5 Then Exit Sub ' car samedi ou dimanche
    Colonne = Nojour + 7        ' car lundi en colonne 8 (H)
For Ligne = 7 To DL
    Titre = Format(Now, "dddd dd mmmm yyyy") & " - Question " & Ligne - 6 & " sur " & DL - 6
    Question = Cells(Ligne, "A")
    Réponse = MsgBox(Question, 32 + 3, Titre) ' https://www.excel-pratique.com/fr/vba/boites_de_dialogue
    Select Case Réponse
        Case 6 ' Oui
            Cells(Ligne, Colonne) = "OUI"
        Case 7 ' Non
            Cells(Ligne, Colonne) = "NON"
    End Select
Next Ligne
End Sub
ligne à modifier pour test :
Nojour = Weekday(TODAY, 2) ' pour le test mettre NoJour=1 pour le lundi jusqu'à 5 pour le vendredi
car pas de prise en compte le week end.
merci pour ton retour, j'ai essayé ton fichier mais il ne se passe rien en cliquant sur le bouton de la macro !
 
ça fonctionne au top ! par contre je ne peux pas tester pour un autre jour pour voir ? j'ai peur d'abimer quelque chose...
j'essaie de comprendre ton code mais il y a des choses qui m'échappent, je dois creuser!
je suis réellement loin de ton niveau, je suis admiratif !
 
C'est prévu. Vous remplacez Nojour = Weekday(TODAY, 2) par Nojour =1 ce sera le lundi... jusqu'à Nojour =5 pour le vendredi. 6 et 7 sont ignorés car le WE.
ligne à modifier pour test :
Nojour = Weekday(TODAY, 2) ' pour le test mettre NoJour=1 pour le lundi jusqu'à 5 pour le vendredi
car pas de prise en compte le week end.

j'ai peur d'abimer quelque chose...
Quelle importance, vous récupérez le fichier sur ce fil.
De toute façon le meilleur moyen de progresser est de bidouiller.

En PJ une V3 ... avec un peu plus de commentaires.
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 N° de semaine
Réponses
4
Affichages
189
Réponses
9
Affichages
280
Réponses
4
Affichages
146
Réponses
1
Affichages
51
Retour