Boucle for next avec date

  • Initiateur de la discussion Initiateur de la discussion Chasse
  • 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 !

Chasse

XLDnaute Occasionnel
Bonjour le forum

Je saisi dans un textbox un date

Seulement la boucle ne reconnait pas le format de la textbox.

Je vous met un fichier pour que vous me compreniez mieux
Code:
Private Sub CmdOK_Click()
Dim déb As Object, c As Long, rg As Object, Gest As Object
Set Gest = Sheets("Gestion Absence")

Set rg = Gest.Range("A3" & ":A38").Find(Nom.Value)


For c = 3 To 366

If Cells(3, c) = Me.début.Value Then

Cells(rg.Row, c) = "V"

Else
Cells(3, c).Select

End If
Next
End Sub


Private Sub UserForm_Initialize()
Dim Gest As Object

    Set Gest = Sheets("Gestion Absence")
    
Me.Nom.List = Gest.Range("A3:A" & Gest.Cells(Application.Rows.Count, 1).End(xlUp).Offset(2, 0).Row).Value

début.Value = Format(début.Value, "dd.mm.yyyy")
fin.Value = Format(fin.Value, "dd.mm.yyyy")
début.Text = Format(début.Value, "dd.mm.yyyy")

fin.Text = Format(Date, "dd.mm.yyyy")

End Sub
D'avance merci de votre aide
 

Pièces jointes

Re : Boucle for next avec date

Bonjour le fil, bonjour le forum,

Chasse il y a plusieurs incohérences dans ton code je me permets de te les signaler :
Code:
Private Sub CmdOK_Click()
Dim déb As Object 'cette variable n'est pas utilisée ailleurs dans le code !
Dim c As Long 'Integer est plus que suffisant
Dim rg As Object 'Range
Dim Gest As Object
Dim dif As Range

Set Gest = Sheets("Gestion Absence")
Set rg = Gest.Range("A3" & ":A38").Find(Nom.Value) 'Set rg = Gest.Range("A3:A38").Find(Nom.Value) !
For c = 3 To 366
    If Cells(3, c) = Cdate(Me.début.Value) Then
        Cells(rg.Row, c) = "V"
    Else
        Set dif = Cells(3, c)
        'Cells(3, c).Select 'inutile ça ne fait que ralentir le code
    End If
    dif.Select
Next
End Sub
ou alors
Code:
Private Sub CmdOK_Click()
Dim c As Integer
Dim rg As Range
Dim Gest As Object

Set Gest = Sheets("Gestion Absence")
Set rg = Gest.Range("A3:A38").Find(Nom.Value)
For c = 3 To 366
    If Cells(3, c) = CDate(Me.début.Value) Then
        Cells(rg.Row, c) = "V"
    Else
        Cells(3, c).select
        Exit sub
    End If
Next
End Sub
 
Re : Boucle for next avec date

Bonjour Robert
Je suis en plein chantier et comme j’essaye plusieurs outils, je laisse bêtement traîner ceux donc je n’est pas besoin .
Merci pour l’épuration, ainsi c’est plus lisible .

Bonne fin de journée
 
- 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
4
Affichages
752
Réponses
4
Affichages
737
  • Question Question
XL pour MAC Recherche date
Réponses
5
Affichages
2 K
Retour