endive a écrit :
christianwtd a écrit :
endive a écrit :
Bonjours à tous,
Je cherche à créer une formule assez longue et répétitive.
C'est pour la création d'un agenda (c'est aussi pour m'exercer, je
pense qu'il y en à déjas des fait)
j'ai 24 colonne pour 24 h (de D à Z) nommer sur la ligne 5 (5h-6h
; 6h-7h...)
Les jours sont dans la colonne B (un jour par ligne)
Dans la colonne C je voudrais concatener les événements de la
journée avec leur horaire QUE s'il existe:
=CONCATENER(SI(D6=0;"";D$5);SI(D6=0;"";" ");D6;" /
";SI(E6=0;"";E$5);SI(E6=0;"";" ");E6;" / "; etc j'usqu'a Z
ça fonctionne mais la formule est assez fastidieuse à faire à la
main et pour des modifs aussi.
Vu que la chaîne SI(D6=0;"";D$5);SI(D6=0;"";" ");D6;" / "; reviens
24 fois dans la formule avec juste les numéros de colonne qui
change, il est peut être possible "d'automatiser" la formule.
J'ai trouvé la fonction adresse qui me donne dans la colonne voulue
les référence voulu. (en D1 et D2 pour D5 et D6; E1 et E2...)
donc je fait dans D3:
=concatener("SI(";D2;"=0;";"""";";"D$5;");SI(";D6;"=0;"";"
");";D6;";" ";";)
Ce qui ne marche absolument pas, les ; et les " ce mélangeant
j'imagine! :-!
Avez vous des idées pour faire des choses de ce genre?
Je cherche souvent des formules compliqués mais j'arrive peut à les
tester !
Merci
endive
Bonsoir,
CONCATENER est une fonction inutile (sauf compatibilité) qui peut se
remplacer par le symbole &, mais qui assemble des textes et non des
valeurs. Hors, je crois comprendre que tu cherches à faire des
opérations avec des heures.
Ensuite tu empiles des SI les uns dans les autres. Ce n'est pas
interdit, mais tu alourdis la formule à chaque SI supplémentaire.
Dernière précision, la fonction ADRESSE n'est réellement utile
qu'utilisée avec INDIRECT.
Enfin, je n'ai pas compris le but final. Peux-tu donner quelques
précisions afin d'essayer de t'aider.
Bon surf,
Christian
Oui depuis plusieurs essais je me suis rendu compte de la lourdeurs de
la formule voulu!
Pour être plus précis il y avais 2 questions:
1-Il y a t'il un autre moyen lors de la création d'une formule longue
(et lourde) de répété les parties presque semblable?
ex =SI(B2=0;0;B$1+B2)+SI(C2=0;0;C$1+C2)..........+SI(AA2=0;0;AA$1+AA2)
Oui, si c'est c'est uniquement des additions. Toutefois il est peut-être
utile de décomposer tes formules dans plusieurs cellules
dans une cellule : = SI(B2=0;0;B$1+B2)
dans une autre : = SI(C2=0;0;C$1+C2)
etc..., et au final la somme de ces cellules.
J'ai quand même réussi à faire cella mais de façon pas très pratique
(pour le moins!):
Dans une autre feuille (feuille2) j'ai décomposé ma formule ainsi :
En B1: SI(
En C1: B
En D1: 2=0;0;
En E1 : B
En F1: $1+
En G1: B
En H1: 2)+
j'ai ensuite remplis les colonnes en glissant les cellules B1,D1,F1 et
H1 et rempli C1, E1 et G1 d'une suite alphabétique jusqu'à AA.
(J'ai enlevé le + en F26 car c'est la fin de la formule)
Puis en I1 =CONCATENER(A1;B1;C1;D1;E1;F1;G1;H1) Copier jusqu'à I26 .
Puis copier I1:I26 en J1:J26 en collage spécial sans les formules.
Puis en feuille1.A1 =(collage de J1:J26)
et j'ai bien ma formule mais qui n'est pas considéré comme tel!
Alors copié/collé dans un bloc-note et recopié/collé dans la cellule:
sa marche!!!
Bon j'ai passé l'après midi à ça, mais c'est pour apprendre!
Il doit peut être des moyens plus pratique pour faire cella?
Si j'ai bien compris, tu as créé une formule, ou plus exactement le
texte de la formule que tu as ensuite assemblé. Même si c'est du
bricolage, ça prouve que tu te débrouilles puisque ça marche. Mais j'en
reviens à ce que je disais : si tu débutes avec Calc (je me trompe ?),
il ne faut pas hésiter à progresser en détaillant les formules quitte à
les réassembler par la suite, quand tout fonctionne.
2-La création d'un agenda:
En colonne B les dates
En colonne D à AA les 24 heures (avec en ligne 1 :0h-1h; 1h-2h;
......23h-24h)
En colonne C Le concatènage des événements et de leurs horaires* SI*
ils existent.
Si en K10 (soit le 5 février 7h-8h) "petit dej" et en R10 (5 fév
14h-15h) "Sieste"
Je veut en C10 : "7h-8h petit déj / 14h-15h Sieste"
J'ai donc avec la technique décrite fait:
=CONCATENER(SI(D10=0;"";D$1);SI(D10=0;"";" ");D10;" /
";SI(E10=0;"";E$1);SI(E10=0;"";" ");E10;" / "; etc jusqu'à AA
Essayes d'oublier CONCATENER.
Ensuite en D10, qu'est ce qu'il y a dans la cellule ? Du texte ou une
valeur ? Je ne suis pas trop bien.
La formule étant trop grande je l'ai scindé en 3 dans AB;AC et AD que
je re-concatène en C.
Sa marche mais il me semble que j'ai fait très compliqué?
Je voudrait remplacer le " / " de la formule par un retour à la ligne
dans cellule, est ce possible?
Le retour à la ligne ne marche pas, il faut passer par une macro. (sauf
option renvoi ligne automatique)
Merci
Endive
PS: J'ai laissez tombé la fonction ADRESSE :-!
Bon surf,
Christian
--
Visitez http://christianwtd.free.fr/ pour débuter avec Calc, d'OpenOffice.org
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]