mistercoke
XLDnaute Junior
Bonjour à tous,
Je bute sur un problème de variable, j'ai une valeur1 qui évolue toute les semaines. En fonction de cette dernière je souhaite affecter une valeur2 à une autre variable et une troisième valeur3 toujours en fonction de la valeur1. Mais je dois me planter dans la syntaxe car la valeur1 n'est jamais prise en compte. Si quelqu'un peu 'aiguiller. J'ai essayé avec des " mais idem, sans elseif idem. En faisant en pas a pas (f8), je vois la valeur de periode evolué de vide a 1 puis 2 puis.. jusqu'à 13 et pareil pour semaine.
Je vois pas trop comment traiter la chose : Voici mon code.
'---Définition de la semaine calendaire.(Suivant la semaine Semcal = 1à53)
Semcal = Format(Date, "ww", vbMonday, vbFirstFourDays)
'---Définition de la période
If Semcal = 1 Or 2 Or 3 Or 4 Then
Periode = 1
ElseIf Semcal = 5 Or 6 Or 7 Or 8 Then
Periode = 2
ElseIf Semcal = 9 Or 10 Or 11 Or 12 Then
Periode = 3
ElseIf Semcal = 13 Or 14 Or 15 Or 16 Then
Periode = 4
ElseIf Semcal = 17 Or 18 Or 19 Or 20 Then
Periode = 5
ElseIf Semcal = 21 Or 22 Or 23 Or 24 Then
Periode = 6
ElseIf Semcal = 25 Or 26 Or 27 Or 28 Then
Periode = 7
ElseIf Semcal = 29 Or 30 Or 31 Or 32 Then
Periode = 8
ElseIf Semcal = 33 Or 34 Or 35 Or 36 Then
Periode = 9
ElseIf Semcal = 37 Or 38 Or 39 Or 40 Then
Periode = 10
ElseIf Semcal = 41 Or 42 Or 43 Or 44 Then
Periode = 11
ElseIf Semcal = 45 Or 46 Or 47 Or 48 Then
Periode = 12
ElseIf Semcal = 49 Or 50 Or 51 Or 52 Or 53 Then
Periode = 13
End If
'Définition de la semaine
If Semcal = 1 Or 5 Or 9 Or 13 Or 17 Or 21 Or 25 Or 29 Or 33 Or 37 Or 41 Or 45 Or 49 Then
Semaine = 1
ElseIf Semcal = 2 Or 6 Or 10 Or 14 Or 18 Or 22 Or 26 Or 30 Or 34 Or 38 Or 42 Or 56 Or 50 Then
Semaine = 2
ElseIf Semcal = 3 Or 7 Or 11 Or 15 Or 19 Or 23 Or 27 Or 31 Or 35 Or 39 Or 43 Or 47 Or 51 Then
Semaine = 3
ElseIf Semcal = 4 Or 8 Or 12 Or 16 Or 20 Or 24 Or 28 Or 32 Or 36 Or 40 Or 44 Or 48 Or 52 Then
Semaine = 4
ElseIf Semcal = 53 Then
Semaine = 5
End If
Ensuite je concatene le tout et sa me donne periode/semaine. J'arrive toujours 13/4 au final au lieu de 4/3 pour cette semaine du 15/04/2011.
Je vais chercher mes puces a l'école et je reprend le fil, d'avance merci les exeldiens.🙂
Je bute sur un problème de variable, j'ai une valeur1 qui évolue toute les semaines. En fonction de cette dernière je souhaite affecter une valeur2 à une autre variable et une troisième valeur3 toujours en fonction de la valeur1. Mais je dois me planter dans la syntaxe car la valeur1 n'est jamais prise en compte. Si quelqu'un peu 'aiguiller. J'ai essayé avec des " mais idem, sans elseif idem. En faisant en pas a pas (f8), je vois la valeur de periode evolué de vide a 1 puis 2 puis.. jusqu'à 13 et pareil pour semaine.
Je vois pas trop comment traiter la chose : Voici mon code.
'---Définition de la semaine calendaire.(Suivant la semaine Semcal = 1à53)
Semcal = Format(Date, "ww", vbMonday, vbFirstFourDays)
'---Définition de la période
If Semcal = 1 Or 2 Or 3 Or 4 Then
Periode = 1
ElseIf Semcal = 5 Or 6 Or 7 Or 8 Then
Periode = 2
ElseIf Semcal = 9 Or 10 Or 11 Or 12 Then
Periode = 3
ElseIf Semcal = 13 Or 14 Or 15 Or 16 Then
Periode = 4
ElseIf Semcal = 17 Or 18 Or 19 Or 20 Then
Periode = 5
ElseIf Semcal = 21 Or 22 Or 23 Or 24 Then
Periode = 6
ElseIf Semcal = 25 Or 26 Or 27 Or 28 Then
Periode = 7
ElseIf Semcal = 29 Or 30 Or 31 Or 32 Then
Periode = 8
ElseIf Semcal = 33 Or 34 Or 35 Or 36 Then
Periode = 9
ElseIf Semcal = 37 Or 38 Or 39 Or 40 Then
Periode = 10
ElseIf Semcal = 41 Or 42 Or 43 Or 44 Then
Periode = 11
ElseIf Semcal = 45 Or 46 Or 47 Or 48 Then
Periode = 12
ElseIf Semcal = 49 Or 50 Or 51 Or 52 Or 53 Then
Periode = 13
End If
'Définition de la semaine
If Semcal = 1 Or 5 Or 9 Or 13 Or 17 Or 21 Or 25 Or 29 Or 33 Or 37 Or 41 Or 45 Or 49 Then
Semaine = 1
ElseIf Semcal = 2 Or 6 Or 10 Or 14 Or 18 Or 22 Or 26 Or 30 Or 34 Or 38 Or 42 Or 56 Or 50 Then
Semaine = 2
ElseIf Semcal = 3 Or 7 Or 11 Or 15 Or 19 Or 23 Or 27 Or 31 Or 35 Or 39 Or 43 Or 47 Or 51 Then
Semaine = 3
ElseIf Semcal = 4 Or 8 Or 12 Or 16 Or 20 Or 24 Or 28 Or 32 Or 36 Or 40 Or 44 Or 48 Or 52 Then
Semaine = 4
ElseIf Semcal = 53 Then
Semaine = 5
End If
Ensuite je concatene le tout et sa me donne periode/semaine. J'arrive toujours 13/4 au final au lieu de 4/3 pour cette semaine du 15/04/2011.
Je vais chercher mes puces a l'école et je reprend le fil, d'avance merci les exeldiens.🙂