Automatisation d'un calcul

Bonjour

Voici une nouvelle question envoyée à l'aide du formulaire de demande d'aide (http://fr.libreoffice.org/get-help/poser-une-question/).
Si vous répondez, merci de penser à utiliser la fonction "répondre à tous" de votre logiciel de courrier électronique de façon que le demandeur reçoive une copie de votre réponse.

Email:: philippejacquot@free.fr
Sujet:: Automatisation d'un calcul
OS:: Windows 10
Version:: 6.0.x
Question:: Distance par longueur Longueurs Distance Total de longueurs Distance Totale
               25 60 1500 60 1500
               25 60 1500 120 3000
               25 60 1500 180 4500
               25 80 2000 260 6500
               25
               25
               25
               25

Bonjour, voilà mon problème, il s'agit ici de longueurs de natation, vous l'aurez compris, le bassin fait 25 mètres, quand je fais 60 longueurs ça fait 1500 mètres et ensuite les longueurs s'additionnent automatiquement ainsi que les distances totales parcourus.
Mais ce que je ne sais pas faire c'est automatiser les calculs de chaque lignes en ne rentrant que le nombre de longueurs, je m'explique:
Disons que sous ma dernière séance où j'ai fait 80 longueurs, je mettais un 1, alors j'aimerais qu'automatiquement le reste de la ligne soit calculée directement soit 2025 mètres, 261 longueurs et 6025 mètres, hors je ne sais pas le faire, pour obtenir les calculs je dois après avoir rentré le nombre de longueurs me mettre dans l'angle droit de chaque cellule et tirer vers le bas pour que le calcul s'effectue.
J'ai cherché partout et je ne trouve pas la réponse, pourtant, il me semble que cela doit être possible et assez simple, non?
Quelqu'un pourrait-il m'aider?
Merci,

Cordialement.

----- Mail original -----

De: "demande aide fr" <demande_aide_fr@libreoffice.org>
À: users@fr.libreoffice.org
Envoyé: Vendredi 13 Juillet 2018 22:53:50
Objet: [fr-users] Automatisation d'un calcul

Bonjour

Voici une nouvelle question envoyée à l'aide du formulaire de demande
d'aide (http://fr.libreoffice.org/get-help/poser-une-question/).
Si vous répondez, merci de penser à utiliser la fonction "répondre à
tous" de votre logiciel de courrier électronique de façon que le
demandeur reçoive une copie de votre réponse.

Email:: philippejacquot@free.fr
Sujet:: Automatisation d'un calcul
OS:: Windows 10
Version:: 6.0.x
Question:: Distance par longueur Longueurs
               Distance Total de longueurs
                               Distance Totale
               25 60
                                         1500 60
                                                                  1500
               25 60
                                         1500 120
                                                           3000
               25 60
                                         1500 180
                                                           4500
               25 80
                                          2000 260
                                                           6500
               25
               25
               25
               25

Bonjour, voilà mon problème, il s'agit ici de longueurs de natation,
vous l'aurez compris, le bassin fait 25 mètres, quand je fais 60
longueurs ça fait 1500 mètres et ensuite les longueurs
s'additionnent automatiquement ainsi que les distances totales
parcourus.
Mais ce que je ne sais pas faire c'est automatiser les calculs de
chaque lignes en ne rentrant que le nombre de longueurs, je
m'explique:
Disons que sous ma dernière séance où j'ai fait 80 longueurs, je
mettais un 1, alors j'aimerais qu'automatiquement le reste de la
ligne soit calculée directement soit 2025 mètres, 261 longueurs et
6025 mètres, hors je ne sais pas le faire, pour obtenir les calculs
je dois après avoir rentré le nombre de longueurs me mettre dans
l'angle droit de chaque cellule et tirer vers le bas pour que le
calcul s'effectue.
J'ai cherché partout et je ne trouve pas la réponse, pourtant, il me
semble que cela doit être possible et assez simple, non?
Quelqu'un pourrait-il m'aider?
Merci,

Cordialement.

bonjour,

je t'envie le résultat au format calc avec la formule du style

c= a x b =>> a=25 b= variable de longueur c=résultat

merci
slt
bernard

Bonjour, si j'ai bien compris:
si 1ere colonne est A, 1ere ligne est 1

Distance par longueur Longueurs Distance Total de longueurs Distance Totale
25 60 =a2*b2 =b2
  =D2*A2
25 60 =a3*b3 =D2+B3 =D3*A3
25 60 =a4*b4 =D3+B4 =D4*A4
25 80 =a5*b5 =D4+B5 =D5*A5

Bonne journée du 14 juillet.

Bonjour,

Voici un exemple:
https://framadrop.org/r/_DvwA2vFVR#Ek2QFqYBqFnMt0hafmzUM5t8/Hz2DZ7YtjG5pdwl5
/8=

Cela répond-il à la question ?

Cordialement,

Michel

PS: Si vous répondez, pensez à utiliser la fonction "répondre à tous" de
votre logiciel de courrier électronique afin que la liste reçoive une copie
de votre réponse.

Bonjour

je crois que Philippe sait faire le calcul, il dit simplement qu'il ne veut pas étirer la formule de la ligne précédente à chaque fois...

Dans ce cas, Philippe, tu as plusieurs solutions de 2 types, selon à quel point tu veux "jouer".

- Créer une macro qui se déclenche à la saisie d'une nouvelle valeur dans la colonne Longueurs (the must, mais pas indispensable sauf si tu veux profiter du 14/07 pour bien jouer. Il y a des gens de la communauté qui pourront t'aiguiller - moi non !)

- Poser ton calcul à l'avance sur un nombre de ligne largement supérieur au nombre de séances que tu enregistres.

=> Tu vas logiquement obtenir des résultats trés moches tant que la longueur ne sera pas saisie. L'astuce que tu cherches est alors la suivante :

Mets chacun de tes calculs dans une condition. La fonction booléenne que tu peux utiliser est ESTERREUR() ou ESTNA() https://help.libreoffice.org/latest/fr/text/scalc/01/04060104.html?&DbPAR=CALC

Dans ce cas, tu remplaces par exemple la valeur C2 citée par Félix par Si(esterreur(B2);"";a2*b2)

Si c'est le fait d'étirer avec la souris tes calculs qui t'agace, tu peux aussi saisir la formule directement sur l'ensemble de la zone :

  * sélection de la zone où placer le calcul (par colonnes) Souris ou
    Maj  + Flèche (+ CTRL pour le 1 million de lignes, mais je te le
    déconseille) en partant de la première cellule
  * Dans la barre de formule saisie du calcul comme si tu étais dans la
    première ligne
  * Validation par Alt + Entrée

Claire

Bonjour Claire,

(mon grain de sel...)

Mets chacun de tes calculs dans une condition. La fonction booléenne que tu peux utiliser est ESTERREUR() ou ESTNA() https://help.libreoffice.org/latest/fr/text/scalc/01/04060104.html?&DbPAR=CALC

Dans ce cas, tu remplaces par exemple la valeur C2 citée par Félix par Si(esterreur(B2);"";a2*b2)

Depuis quelques versions, il existe une fonction trèèèès utile qui remplace utilement la combinaison de SI() et de ESTERREUR() [et ses copines], c'est SIERREUR().

Pour reprendre ton exemple :
=SIERREUR(A2 * B2;"")
qui soit renvoie la multiplication de A2 par B2, ou, en cas d'erreur, renvoie "" (chaine de longueur nulle).

Plus d'infos dans l'aide
https://help.libreoffice.org/Calc/Information_Functions/fr#SIERREUR

Bien cordialement,

Ah oui ! C'est bien mieux !

Merci !

Claire

Tout d'abord, merci infiniment pour vos réponses mais comme le dit "Ocleyr2lalune", je sais faire la manipulation manuellement et effectivement, ce que je veux faire c'est inscrire un 1 dans la colonne des longueurs et que les calculs se fassent automatiquement sans que j'ai à intervenir sur l'ensemble de la ligne (Distance; Total de longueurs; Distance Totale).
J'ai bien lu vos suggestions mais soit je suis bête (ce qui n'est pas à exclure), soit la réponse que j'attendais n'y figure pas.
pour que vous compreniez mieux, je vous joins le fichier en question, peut-être cela sera-t-il plus clair pour vous.

Voilà une chose qui m'a été suggérée et je crois que c'est peut-être la solution mais je ne sais pas faire quelqu'un saurait il m'aider?

"Créer une macro qui se déclenche à la saisie d'une nouvelle valeur dans la colonne Longueurs (the must, mais pas indispensable sauf si tu veux profiter du 14/07 pour bien jouer. Il y a des gens de la communauté qui pourront t'aiguiller - moi non !)"

Merci encore de vos réponses et d'essayer de me venir en aide.

Bien cordialement,

Philippe.

----- Mail original -----

Bonsoir,

La liste n'accepte pas les pièces jointes, il faut passer par un site de stockage comme framadrop et mettre le lien dans le message
Comme ce lien pour charger le fichier que je mets également en pièce jointe :
https://framadrop.org/r/PkWAHhmXEp#PAL7jCckqRzd/4NBEsgDQxUOr3EiawIUgt48d+29KIY=
C'est pour cela aussi que vous serez le seul à recevoir le fichier que je vous propose.

Si la solution vous convient, les explications suivront.En résumé : les formules ont été établies jusque la ligne 50. Il suffira de copier jusque la ligne 100 ou 1000 selon la quantité de saisies prévues.
A la base : les calculs ne se font que s'il y a un nombre de longueurs saisi. Sous la forme =SI(B2="";""; calcul...)  sachant que "" signifie plus ou moins "rien". ça manque un peu d'élégance mais ça marche .

Bon courage

Christian F

La ligne est trop longue en texte brut, il faut la copier avec son retour à
la ligne - ça fini par /8=

La voici en html:

https://framadrop.org/r/_DvwA2vFVR#Ek2QFqYBqFnMt0hafmzUM5t8/Hz2DZ7YtjG5pdwl5
/8=

Michel