While avec 3 conditions (condition sur la date ne fonctionne pas)

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 !

taupivin

XLDnaute Junior
Bonjour,

je vous demande de l'aide car je sèche totalement sur mon problème.

Dans un while je teste 3 conditions.
Si toutes les conditions sont rempli je descend d'une ligne sinon je sors du while.

Après divers essais, je m'aperçois que les conditions "cellule différent de vide " et cellule différent de ma variable "nom" fonctionnent. Toutefois la dernière condition, celle de la date n'a pas l'air de fonctionner.

J'ai dù faire une boulette mais je vois pas où.
Merci par avance pour votre aide 🙂

Code:
Dim ligne As Integer
'**********Gestion des dates
Private Sub CommandButton1_Click() 'recule dans le temps
DateDonnées = DateDonnées - 1
Label1.Caption = DateDonnées
End Sub

Private Sub CommandButton2_Click() 'avance dans le temps
DateDonnées = DateDonnées + 1
Label1.Caption = DateDonnées
End Sub

Private Sub CommandButton3_Click() 'incrémentation de la base de données

With Sheets("Base de données")
    While .Cells(ligne, 2) <> nom And .Cells(ligne, 1) <> DateDonnées And .Cells(ligne, 1) <> ""
        ligne = ligne + 1
    Wend
    MsgBox DateDonnées & " " & nom & " " & ligne
    
    .Cells(ligne, 1) = DateDonnées
    .Cells(ligne, 2) = nom
    .Cells(ligne, 3) = TextBox1.Value
    .Cells(ligne, 4) = TextBox2.Value
    .Cells(ligne, 5) = TextBox3.Value
    .Cells(ligne, 6) = TextBox4.Value
    
End With

End Sub

Private Sub UserForm_Initialize()

ligne = 2

DateDonnées = Date 'initialisation de la variable DateDonnées = date du jour
Label1.Caption = DateDonnées
Label2.Caption = nom

With Sheets("Base de données")
    While .Cells(ligne, 2) <> nom And .Cells(ligne, 1) <> DateDonnées And .Cells(ligne, 1) <> ""
        ligne = ligne + 1
    Wend
    
    If .Cells(ligne, 3) = "" Then
        TextBox1.Value = Format("0000", "hh:mm")
    Else: TextBox1.Value = Format(.Cells(ligne, 3), "hh:mm")
    End If
    
    If .Cells(ligne, 4) = "" Then
        TextBox2.Value = Format("0000", "hh:mm")
    Else: TextBox2.Value = Format(.Cells(ligne, 4), "hh:mm")
    End If
    
    If .Cells(ligne, 5) = "" Then
        TextBox3.Value = Format("0000", "hh:mm")
    Else: TextBox3.Value = Format(.Cells(ligne, 5), "hh:mm")
    End If
    
    If .Cells(ligne, 6) = "" Then
        TextBox4.Value = Format("0000", "hh:mm")
    Else: TextBox4.Value = Format(.Cells(ligne, 6), "hh:mm")
    End If
    
End With

End Sub
 

Pièces jointes

Re : While avec 3 conditions (condition sur la date ne fonctionne pas)

Bonjour
Certainement un probleme de format de données
Test cellules sont interprétées comme des date et pas dans ton userform
ajoute cdate(datesdonnées)
Je n'ai pas testé
 
Re : While avec 3 conditions (condition sur la date ne fonctionne pas)

Bonjour sousou,

Tout d'abord merci d'avoir passer du temps sur mon problème 🙂

J'ai tester avec Cdate mais cela ne change rien.
Je déclare ma variable Datedonnées as date donc logiquement cette variable est une date. Je la compare ensuite avec la valeur de ma cellule qui est aussi une date...

Une autre idée ?
 
Re : While avec 3 conditions (condition sur la date ne fonctionne pas)

Bonjour

J'ai pris le temps de regarder ton fichier,
Tes conditions fonctionnent bien, mais je pense que tu t'es trompé en mettant des And
je pense que se sont des or que tu souhaites( si l'une des conditions n'est pas remplis)
Avec un And les trois conditions doivent être remplis.
 
- 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 worksheet_change
Réponses
29
Affichages
252
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
80
Réponses
2
Affichages
423
Retour