Condition avec date pour alimenter un Textbox dans userform

Le
Alex
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
DanielCo
Le #23040331
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
Modeste
Le #23040511
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"))
Alex
Le #23040761
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
Modeste
Le #23040901
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"))
Alex
Le #23040931
Merci cela fonctionne super bien.
Merci encore ca va plus vite que mes 52 conditions lol
Alex
Publicité
Poster une réponse
Anonyme