OVH Cloud OVH Cloud

Petit soucis de formule

4 réponses
Avatar
DJ9B
Bonjour à tous !
Je plante le décor :
J'ai dans une colonne 28 cellules alignées les unes en dessous des autres.
Dans la 1ere (K8) je mets un chiffre compris entre 1 et 52 qui correspond à
une des semaines de l'année.
Dans les 27 autres cellules je voudrai avoir un cadencement de 3 semaines
pour obtenir ceci :
4 cellules de départ
5 =SI(K9=52;"1";K9+1)
6 =SI(K10=52;"1";K10+1)
10 =SI(K11=52;"1";K11+4)
etc...
46
47
48
52
1
2
Ma formule ne fonctionne pas si je met par exemple le chiffre 50 en K8.
Questions :
Comment écrire ma formule correctement ?
ou/et
Comment puis je écrire une boucle pour obtenir le même résultat sous VBA ?

Merci d'avance de réponses ...
--
@ tantôt !
email : http://www.cerbermail.com/?05npeGunAn
Site : http://www.dj9b.fr.st

4 réponses

Avatar
AV
Contraintes par toi définies :
* limitation à 52 semaines
* en K8 saisie d'un numéro de semaine
* K9:K35 une formule pour incrémenter

Je pige pas complètement ton "cadencement" de 3 semaines !
3 semaines après la semaine 52 c'est la semaine 3 non ?
3 semaines après la semaine 50 c'est la semaine 1 non ?
Si tu es d'accord avec ça :
En K9 -->K35 :
=SI(K8>49;INDEX({1;2;3};EQUIV(K8;{50;51;52};0));K8+3)

Si tu veux que, à partir de la semaine 50, on passe à la semaine 1 (c'est là que
je pige pas la logique de l'incrément de 3 semaines) :
En K9 :
=SI(K8>49;1;K8+3)

AV

"DJ9B" <antiSpam!! a écrit dans le message news:

Bonjour à tous !
Je plante le décor :
J'ai dans une colonne 28 cellules alignées les unes en dessous des autres.
Dans la 1ere (K8) je mets un chiffre compris entre 1 et 52 qui correspond à
une des semaines de l'année.
Dans les 27 autres cellules je voudrai avoir un cadencement de 3 semaines
pour obtenir ceci :
4 cellules de départ
5 =SI(K9R;"1";K9+1)
6 =SI(K10R;"1";K10+1)
10 =SI(K11R;"1";K11+4)
etc...
46
47
48
52
1
2
Ma formule ne fonctionne pas si je met par exemple le chiffre 50 en K8.
Questions :
Comment écrire ma formule correctement ?
ou/et
Comment puis je écrire une boucle pour obtenir le même résultat sous VBA ?

Merci d'avance de réponses ...
--
@ tantôt !
email : http://www.cerbermail.com/?05npeGunAn
Site : http://www.dj9b.fr.st





Avatar
DJ9B
Bonjour Alain !
Je te remercie d'abord de ta réponse et je vais essayer d'être plus clair
En fait j'ai créer une boucle qui recherche dans ces cellules si les numéros
de semaines sont présents, si oui une instruction si non une autre
instruction.
Donc je cherche à avoir dans ces cellules un cadencement de 3 semaines comme
ceci
Cellules de départ (K8) j'inscrit la 1ere semaine du cadencement exemple 1
K9 = 2
K10 = 3
on passe 3 semaines et on recommance
K11 = 7
K12 = 8
K13 = 9
et ainsi de suite jusqu'en K35, en tenant compte qu'il y a 52 semaines c'est
là où que ça se complique ;o) !
ce qui donnerai avec 52 en cellule K8 :
K9 = 1
K10 = 2
on passe 3 semaines puis
K11 = 6
K12 = 7
K13 = 8
etc ...
--
@ tantôt !
email : http://www.cerbermail.com/?05npeGunAn
Site : http://www.dj9b.fr.st



Dans le fameux MPFE AV a écrit il y a peu :

Contraintes par toi définies :
* limitation à 52 semaines
* en K8 saisie d'un numéro de semaine
* K9:K35 une formule pour incrémenter

Je pige pas complètement ton "cadencement" de 3 semaines !
3 semaines après la semaine 52 c'est la semaine 3 non ?
3 semaines après la semaine 50 c'est la semaine 1 non ?
Si tu es d'accord avec ça :
En K9 -->K35 :
=SI(K8>49;INDEX({1;2;3};EQUIV(K8;{50;51;52};0));K8+3)

Si tu veux que, à partir de la semaine 50, on passe à la semaine 1
(c'est là que je pige pas la logique de l'incrément de 3 semaines) :
En K9 :
=SI(K8>49;1;K8+3)

AV

"DJ9B" <antiSpam!! a écrit dans le message news:

Bonjour à tous !
Je plante le décor :
J'ai dans une colonne 28 cellules alignées les unes en dessous des
autres. Dans la 1ere (K8) je mets un chiffre compris entre 1 et 52
qui correspond à une des semaines de l'année.
Dans les 27 autres cellules je voudrai avoir un cadencement de 3
semaines pour obtenir ceci :
4 cellules de départ
5 =SI(K9R;"1";K9+1)
6 =SI(K10R;"1";K10+1)
10 =SI(K11R;"1";K11+4)
etc...
46
47
48
52
1
2
Ma formule ne fonctionne pas si je met par exemple le chiffre 50 en
K8. Questions :
Comment écrire ma formule correctement ?
ou/et
Comment puis je écrire une boucle pour obtenir le même résultat sous
VBA ?

Merci d'avance de réponses ...
--
@ tantôt !
email : http://www.cerbermail.com/?05npeGunAn
Site : http://www.dj9b.fr.st




Avatar
Alain CROS
Bonjour.

Essaye comme ça, il me semble que ça fonctionne comme tu l'attends.
En K9 =SI(MOD(LIGNE()-8;3)=0;SI(K8+4>52;MOD(K8+4;52);K8+4);SI(K8+1>52;MOD(K8+1;52);K8+1))
puis tu tire en K35.

Alain CROS.

"DJ9B" <antiSpam!! a écrit dans le message de news: uUq$
Donc je cherche à avoir dans ces cellules un cadencement de 3 semaines comme
ceci
Cellules de départ (K8) j'inscrit la 1ere semaine du cadencement exemple 1
K9 = 2
K10 = 3
on passe 3 semaines et on recommance
K11 = 7
K12 = 8
K13 = 9
et ainsi de suite jusqu'en K35, en tenant compte qu'il y a 52 semaines c'est
là où que ça se complique ;o) !
ce qui donnerai avec 52 en cellule K8 :
K9 = 1
K10 = 2
on passe 3 semaines puis
K11 = 6
K12 = 7
K13 = 8
etc ...


Avatar
DJ9B
Parfait Alain c'est exactement ce que je cherchais à faire !
Sur ce coup là, je peux dire merci Alain et à l'autre ;o)


--
@ tantôt !
email : http://www.cerbermail.com/?05npeGunAn
Site : http://www.dj9b.fr.st



Dans le fameux MPFE Alain CROS a écrit il y a peu :

Bonjour.

Essaye comme ça, il me semble que ça fonctionne comme tu l'attends.
En K9

=SI(MOD(LIGNE()-8;3)=0;SI(K8+4>52;MOD(K8+4;52);K8+4);SI(K8+1>52;MOD(K8+1;52)

;K8+1))
puis tu tire en K35.

Alain CROS.

"DJ9B" <antiSpam!! a écrit dans le message de news:
uUq$
Donc je cherche à avoir dans ces cellules un cadencement de 3
semaines comme ceci
Cellules de départ (K8) j'inscrit la 1ere semaine du cadencement
exemple 1 K9 = 2
K10 = 3
on passe 3 semaines et on recommance
K11 = 7
K12 = 8
K13 = 9
et ainsi de suite jusqu'en K35, en tenant compte qu'il y a 52
semaines c'est là où que ça se complique ;o) !
ce qui donnerai avec 52 en cellule K8 :
K9 = 1
K10 = 2
on passe 3 semaines puis
K11 = 6
K12 = 7
K13 = 8
etc ...