Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Condition avec date pour alimenter un Textbox dans userform

5 réponses
Avatar
Alex
Bonjour =E0 tous,

J'essaie de faire une condition avec des dates afin d'alimenter un
textbox qui indiquera le numero de semaine dans un userform, mais je
n'y parviens pas, et je fais donc appel =E0 vos connaissances pour
r=E9soudre ce probl=E8me.

J'ai =E9crit ceci :

With Me.Semaine

If Range("Fiche!AU1").Value < 10 / 1 / 2011 Then
'AU1 =3D =E0 la date du jour au format JJ/MM/AAAA
Me.Semaine.Value =3D 1
End If
If Range("Fiche!AU1").Value > 10 / 1 / 2011 < 17 / 1 / 2011 Then
Me.Semaine.Value =3D 2
End If
'Etc... jusqu'en 52
And With

Merci par avance de votre aide.
Cordialement.
Alex

5 réponses

Avatar
DanielCo
Bonjour.
Mets les dates entre dièses. Et tu devrais utiliser "elseif pour éviter
de faire systématiquement les 52 tests.
Cordialement.
Daniel


Bonjour à tous,

J'essaie de faire une condition avec des dates afin d'alimenter un
textbox qui indiquera le numero de semaine dans un userform, mais je
n'y parviens pas, et je fais donc appel à vos connaissances pour
résoudre ce problème.

J'ai écrit ceci :

With Me.Semaine

If Range("Fiche!AU1").Value < 10 / 1 / 2011 Then
'AU1 = à la date du jour au format JJ/MM/AAAA
Me.Semaine.Value = 1
End If
If Range("Fiche!AU1").Value > 10 / 1 / 2011 < 17 / 1 / 2011 Then
Me.Semaine.Value = 2
End If
'Etc... jusqu'en 52
And With

Merci par avance de votre aide.
Cordialement.
Alex
Avatar
Modeste
Bonsour®

"Alex" a écrit > J'essaie de faire une condition avec des dates afin
d'alimenter un
textbox qui indiquera le numero de semaine dans un userform, mais je
n'y parviens pas, et je fais donc appel à vos connaissances pour
résoudre ce problème.



une fonction perso pour calculer le no de semaine

Public Function IsoWeekNum(d1 As Date) As Integer
' Provided by Daniel Maher.
Dim d2 As Long
d2 = DateSerial(Year(d1 - Weekday(d1 - 1) + 4), 1, 3)
IsoWeekNum = Int((d1 - d2 + Weekday(d2) + 5) / 7)
End Function

puis
Me.Semaine.Value =Isoweeknum(Range("Fiche!AU1"))
Avatar
Alex
Re Bonjour,
Merci pour vos réponses.

Avec la solution proposée par Modeste, j'ai le message d'erreur
suivant :

Erreur d'Execution 1004
La méthode 'Range ' de l'objet 'Global' a echoué

J'ai bien mis séparement d'une part le Plublic Function IsoweekNum, et
dans mon userformActivate la ligne Me.semaine.value = Iso...

Aurais je comis une erreur ?

Pour la proposition faite par Daniel Co :

Dois je faire #JJ/MM/AAAA# ?
Ou dois je placer le elseif ? Ca remplace les dates ?

Merci par avance de vos réponses
Bien cordialement.
Alex
Avatar
Modeste
Bonsour®

"Alex" a écrit
Avec la solution proposée par Modeste, j'ai le message d'erreur
suivant :
Erreur d'Execution 1004
La méthode 'Range ' de l'objet 'Global' a echoué



Me.Semaine.Value =IsoWeekNum(Sheets("Fiche").Range("AU1"))
Avatar
Alex
Merci cela fonctionne super bien.
Merci encore ca va plus vite que mes 52 conditions lol
Alex