XL 2021 Calendrier Checkbox; ComboBox

  • Initiateur de la discussion Initiateur de la discussion Mate59
  • Date de début Date de début

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 !

Mate59

XLDnaute Junior
Bonjour,

Je vous joint le fichier qui me pose problème.
Il s'avère que j'ai passé plusieurs heures à essayer sans vraiment trouver la solution.
J'ai détaillé l'ensemble de ce que je souhaite dans le fichier.

Je vous remercie grandement pour votre aide!
 

Pièces jointes

Bonjour Mate59
le problème enfin l'un des Problème est que le Format de tes Dates dans Ton CB2 n'est pas Bon.
les Dates devraient être sous la Forme "lun. 01 Janvier" lorsque tu veux formater la date elle ne se trouve pas dans ton CB2 car manque le Point tu as "lun 01 Janvier" ce qui implique une erreur.
Pourquoi n'utilises-tu pas un calendrier (il y en a plein sur le Forum)
voir le Fichier
Jean marie
 

Pièces jointes

Bonjour,

j'ai avancé et finalement avec ce code j'arrive à faire apparaître CP dans la case voulue mais pour clôturer la date de fin je n'arrive pas à faire entrer CP dans toutes les cases.

VB:
For l = 12 To 743
For c = 4 To 28
'Si CBx1 égal prénom et CBx3 égal date et CBx4 égale am ou pm alors on vise la cellule pour la remplir avec "CP"
If CBx1.Value = Cells(4, c) And CDate(CBx3.Value) = CDate(Cells(l, 2)) And CBx4.Value = Cells(l, 3) Then
Cells(l, c) = "CP"

End If
Next c
Next l
1699970911345.png
 
Bonsoir Mate59
Une première approche (perfectible) qui ne répond pas à tout !
Tu testes et tu me dis.
VB:
Private Sub OK_Click()
Application.ScreenUpdating = False
Dim l As Integer, Col As Integer, ColCible As Byte
     With Worksheets("Feuil1")
                For Col = 4 To 16
                             If Me.CBx1.Value = .Cells(4, Col) Then ColCible = Col: Exit For
                 Next Col
For l = 12 To 743
      If Weekday(CDate(.Cells(l, 2)), vbMonday) < 6 Then
            If CDate(Me.CBx3.Value) = CDate(.Cells(l, 2)) And Me.CBx4.Value = .Cells(l, 3) Then
                                     .Cells(l, ColCible) = "CP"
           
                  ElseIf CDate(.Cells(l, 2)) > CDate(Me.CBx3.Value) And CDate(.Cells(l, 2)) < Me.CBx6.Value Then
                                     .Cells(l, ColCible) = "CP"
           
                  ElseIf CDate(Me.CBx6.Value) = CDate(.Cells(l, 2)) And Me.CBx7.Value = .Cells(l, 3) Then
                                     .Cells(l, ColCible) = "CP"
                           
                            If CDate(Me.CBx6.Value) = CDate(.Cells(l, 2)) Then Exit For
            End If
      End If
Next l
End With
Unload Me
End Sub
Bonne fin de Soirée.
Jean marie
 
Dernière édition:
- 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

Réponses
3
Affichages
139
Réponses
1
Affichages
124
Réponses
15
Affichages
673
  • Résolu(e)
Microsoft 365 transposer
Réponses
6
Affichages
139
Réponses
72
Affichages
1 K
Réponses
7
Affichages
281
Réponses
7
Affichages
218
  • Question Question
XL pour MAC fonction si
Réponses
5
Affichages
226
Retour