Contenu | Rechercher | Menus

Annonce

DVD, clés USB et t-shirts Ubuntu-fr disponibles sur la boutique En Vente Libre

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 14/01/2022, à 13:04

steph babat 14

calc, faire une feuille d'anniversaires

Bonjour,

Je désire faire un pense bête pour les anniversaire de la famille et dans la colonne « age » je voudrai avoir : xxans, xxmois, xxjours et je n’y arrive pas

calc anniv

- en F7 j’ai écris le résultat à la main
- en F8 j’ai fait =E8-E3

J’ai essayé avec les fonctions : aujourdhui, maintenant, texte, somme, je ne sais pas comment faire pour avoir la différence entre la date du jour et la date de naissance.

Pouvez vous m’aider merci

Stéph


(64bits)-Ubuntu 18.04.5 LTS_Gnome : 3.28.2 # Processeur : Intel® Core™ i5-8600 CPU @ 3.10GHz (6 cœurs) # Mémoire : 15,6 Gio (2x 8 Gio) # Carte-Graphique : GeForce GTX 1050/PCIe/SSE2

Hors ligne

#2 Le 14/01/2022, à 14:22

MicP

Re : calc, faire une feuille d'anniversaires

Bonjour

Dans la cellule F7 (l'age de mamie)
entre (ou copie/colle) la formule suivante :

=DATEDIF(E7;E$3;"y") & " ans " & DATEDIF(E7;E$3;"ym") & " mois et " & DATEDIF(E7;E$3;"md") & " jours"

puis sélectionne la cellule F7 et clique sur le carré noir qui est en bas à droite de la cellule sélectionnée pour le faire glisser en bas à droite de la cellule F8
ou plus bas si tu as entré d'autres dates de naissance dans les cellules en dessous de E8

Ce qui donne :
Capture-d-cran-2022-01-14-14-24-21.png<- Cliquez sur l'image pour la voir en taille réelle.
J'espère que mamie ne m'en voudra pas de l'avoir fait vieillir d'une journée,
c'était juste pour tester le fonctionnement de la formule entrée smile


Modération : merci d'utiliser des images de petite taille (300x300) ou des miniatures pointant sur ces images.

Dernière modification par cqfd93 (Le 14/01/2022, à 15:52)


Retour utilisable de commande
2.d  Le prompt final : - permet de s'assurer que la commande est allée à son terme,- permet de s'assurer que la réponse du système n'est pas coupée à la fin,- et fournit parfois d'autres informations, détaillées au message #42

Hors ligne

#3 Le 14/01/2022, à 21:20

steph babat 14

Re : calc, faire une feuille d'anniversaires

DATEDIF, je ne l'avais pas trouvé celui là!

Un grand merci MicP pour la formule toute faite, je pensais y passer une partie de la soirée smile

À quoi sert le symbole $ dans la formule? je l'ai enlevé pour tester et ça fait le même résultat...

Encore merci


(64bits)-Ubuntu 18.04.5 LTS_Gnome : 3.28.2 # Processeur : Intel® Core™ i5-8600 CPU @ 3.10GHz (6 cœurs) # Mémoire : 15,6 Gio (2x 8 Gio) # Carte-Graphique : GeForce GTX 1050/PCIe/SSE2

Hors ligne

#4 Le 14/01/2022, à 21:36

MicP

Re : calc, faire une feuille d'anniversaires

EDIT : Tout faux : je me suis planté dans mes explications

… À quoi sert le symbole $ dans la formule? …

S'il n'était pas là, il te faudrait changer 3 en 4 et en 5 pour l'adapter à la formule copiée dans chaque ligne
tandis qu'avec ce caractère, tu n'as plus qu'à sélectionner la cellule F7 et cliquer sur le petit carré noir (qui est en bas à droite de la cellule sélectionnée) pour faire "glisser" ce petit carré noir aussi bas que tu veux
pour copier la même formule dans toutes les cellules et que le 3 (qui indiquait la ligne) change en 4 pour la même formule qui sera copiée dans la ligne 4, etc.

Voir : Adresses et références absolues et relatives

… je l'ai enlevé pour tester et ça fait le même résultat...

Du coup, tu sera obligé de changer le 3 en 4 etc pour chaque ligne dans laquelle tu copiera la formule,
tandis qu'en faisant une copie comme ça, la formule s'adaptera automatiquement au numéro de la ligne.

Voir plus bas

Dernière modification par MicP (Le 14/01/2022, à 22:01)


Retour utilisable de commande
2.d  Le prompt final : - permet de s'assurer que la commande est allée à son terme,- permet de s'assurer que la réponse du système n'est pas coupée à la fin,- et fournit parfois d'autres informations, détaillées au message #42

Hors ligne

#5 Le 14/01/2022, à 21:45

nany

Re : calc, faire une feuille d'anniversaires

Bonjour,



Euh… C’est plutôt l’inverse, le dollar préserve le numéro de ligne lors de la copie.


Petite précision, le petit carré noir est appelé poignée de recopie.

Hors ligne

#6 Le 14/01/2022, à 21:51

sarthi

Re : calc, faire une feuille d'anniversaires

steph babat 14 a écrit :

...

À quoi sert le symbole $ dans la formule? je l'ai enlevé pour tester et ça fait le même résultat...

...

Cela permet un meilleur contrôle des références des cellules. Voir Wiki LibreOfficce Calc : Adresses et références : absolues et relatives

En ligne

#7 Le 14/01/2022, à 21:55

MicP

Re : calc, faire une feuille d'anniversaires

Ah beh oui, je ne sais pas comment je me suis débrouillé, mais je me suis complètement planté dans mes explications,
(j'avais fait ça à 14:44 et j'étais levé depuis 05:00, et je tente de l'expliquer à 21:36, du coup, il va me falloir aller me reposer lol)

C'est bien la cellule E3 dont la ligne va rester constante dans la formule, puisqu'il s'agit de celle qui sert de référence comme date d'aujourd'hui.
(j'aurais dû garder mon fichier de test, je l'avais effacé vers 15:00)

Le lien que j'avais donné l'explique très bien.

Merci nany smile

=======
NOTE :
Si tu veux te passer de la référence à la cellule E3
tu peux remplacer la formule qui est dans la cellule F7 par :

=DATEDIF(E7;AUJOURDHUI();"y") & " ans " & DATEDIF(E7;AUJOURDHUI();"ym") & " mois et " & DATEDIF(E7;AUJOURDHUI();"md") & " jours"

Dernière modification par MicP (Le 14/01/2022, à 22:12)


Retour utilisable de commande
2.d  Le prompt final : - permet de s'assurer que la commande est allée à son terme,- permet de s'assurer que la réponse du système n'est pas coupée à la fin,- et fournit parfois d'autres informations, détaillées au message #42

Hors ligne

#8 Le 15/01/2022, à 13:42

MicP

Re : calc, faire une feuille d'anniversaires

Bonjour

J'ai bien dormi, big_smile
alors ce matin, j'en ai profité pour améliorer un peu ce qui s'affiche dans la colonne age
parce que ça m’agaçait de voir s'afficher "1 ans"  et "1 jours"

Pour simplifier la lisibilité des formules, j'ai inséré les 3 colonnes F, G et H
que j'ai laissées visibles dans la capture d'écran ci-dessous mais qui pourront êtres masquées en réduisant au minimum leur largeur.
(elles sont d'ailleurs masquées sur le document que j'ai rendu accessible en téléchargement)

Capture-d-cran-2022-01-15-13-59-23.png
Ce fichier Libre Office Calc est accessible en cliquant sur le lien suivant PourStephBabat14Ubuntu-fr.ods (16KB)

Formule dans la cellule E3 :

=AUJOURDHUI()

Formule dans la cellule F7 (et toutes les cellules en dessous en adaptant le n° de la ligne concernée) :

=DATEDIF(E7;E$3;"y")

Formule dans la cellule G7 (et toutes les cellules en dessous en adaptant le n° de la ligne concernée) :

=DATEDIF(E7;E$3;"ym")

Formule dans la cellule H7 (et toutes les cellules en dessous en adaptant le n° de la ligne concernée) :

=DATEDIF(E7;E$3;"md")

Formule dans la cellule I7 (et toutes les cellules en dessous en adaptant le n° de la ligne concernée) :

=SI(E7="";"";SI(F7>0;SI(F7=1;"1 an";F7 & " ans");"") & SI(G7+H7>0;SI(F7>0;SI(ET(G7>0;H7>0);", ";" et ");"");"") & SI(G7>0; G7 & " mois";"") & SI(G7>0;SI(H7>0;" et ";"");"") & SI(H7=0;"";SI(H7=1;"1 jour";H7 & " jours")))

Dernière modification par MicP (Le 15/01/2022, à 15:09)


Retour utilisable de commande
2.d  Le prompt final : - permet de s'assurer que la commande est allée à son terme,- permet de s'assurer que la réponse du système n'est pas coupée à la fin,- et fournit parfois d'autres informations, détaillées au message #42

Hors ligne

#9 Le 16/01/2022, à 10:38

steph babat 14

Re : calc, faire une feuille d'anniversaires

Merci pour ces infos et démonstrations, je me sers souvent de Calc avec des formules simples.

Donc si je continue, je dois pouvoir faire une formule qui me donne directement le résultat de la colonne "I"

Et bé on va essayer

merci encore


(64bits)-Ubuntu 18.04.5 LTS_Gnome : 3.28.2 # Processeur : Intel® Core™ i5-8600 CPU @ 3.10GHz (6 cœurs) # Mémoire : 15,6 Gio (2x 8 Gio) # Carte-Graphique : GeForce GTX 1050/PCIe/SSE2

Hors ligne

#10 Le 16/01/2022, à 11:03

MicP

Re : calc, faire une feuille d'anniversaires

Bonjour

J'ai créé un nouveau fichier comme celui que tu présentais dans ton premier message :

Capture-d-cran-2022-01-16-12-15-25.png

Mais j'ai entré dans la cellule F7 la formule suivante :

=SI(E7="";"";SI(DATEDIF(E7;E$3;"y")>0;SI(DATEDIF(E7;E$3;"y")=1;"1 an";DATEDIF(E7;E$3;"y") & " ans");"") & SI(DATEDIF(E7;E$3;"ym")+DATEDIF(E7;E$3;"md")>0;SI(DATEDIF(E7;E$3;"y")>0;SI(ET(DATEDIF(E7;E$3;"ym")>0;DATEDIF(E7;E$3;"md")>0);", ";" et ");"");"") & SI(DATEDIF(E7;E$3;"ym")>0; DATEDIF(E7;E$3;"ym") & " mois";"") & SI(DATEDIF(E7;E$3;"ym")>0;SI(DATEDIF(E7;E$3;"md")>0;" et ";"");"") & SI(DATEDIF(E7;E$3;"md")=0;"";SI(DATEDIF(E7;E$3;"md")=1;"1 jour";DATEDIF(E7;E$3;"md") & " jours")))

Une fois la formule ci-dessus entrée dans la cellule F7,
j'ai utilisé la poignée de recopie pour recopier cette formule dans les cellules qui sont en dessous.

Voici le lien vers le fichier utilisant la formule ci-dessus.

=======
NOTE : La formule entrée dans la cellule F7 est dépendante de la valeur de la cellule E3 qui est à droite de la cellule D3 dans laquelle on voit s'afficher: date du jour :

Si tu veux que la formule de la cellule F7 ne soit dépendante que de la valeur contenue dans la cellule E7
il faudra remplacer dans l'ancienne formule toutes les références à la cellule E3 par le résultat de la fonction AUJOURDHUI()

Dans ce cas, il te faudra changer la formule contenue dans la cellule F7
par la formule suivante :

=SI(E7="";"";SI(DATEDIF(E7;AUJOURDHUI();"y")>0;SI(DATEDIF(E7;AUJOURDHUI();"y")=1;"1 an";DATEDIF(E7;AUJOURDHUI();"y") & " ans");"") & SI(DATEDIF(E7;AUJOURDHUI();"ym")+DATEDIF(E7;AUJOURDHUI();"md")>0;SI(DATEDIF(E7;AUJOURDHUI();"y")>0;SI(ET(DATEDIF(E7;AUJOURDHUI();"ym")>0;DATEDIF(E7;AUJOURDHUI();"md")>0);", ";" et ");"");"") & SI(DATEDIF(E7;AUJOURDHUI();"ym")>0; DATEDIF(E7;AUJOURDHUI();"ym") & " mois";"") & SI(DATEDIF(E7;AUJOURDHUI();"ym")>0;SI(DATEDIF(E7;AUJOURDHUI();"md")>0;" et ";"");"") & SI(DATEDIF(E7;AUJOURDHUI();"md")=0;"";SI(DATEDIF(E7;AUJOURDHUI();"md")=1;"1 jour";DATEDIF(E7;AUJOURDHUI();"md") & " jours")))

Dernière modification par MicP (Le 16/01/2022, à 12:43)


Retour utilisable de commande
2.d  Le prompt final : - permet de s'assurer que la commande est allée à son terme,- permet de s'assurer que la réponse du système n'est pas coupée à la fin,- et fournit parfois d'autres informations, détaillées au message #42

Hors ligne

#11 Hier à 22:45

steph babat 14

Re : calc, faire une feuille d'anniversaires

Salut,

J'adore cette feuille calc, un vrai bonheur.

J'essaie de la faire évoluer et d'avoir dans la colonne suivante (en G) le nombre de mois et jours avant le prochain anniversaire mais ce n'est pas gagné, "datedif" ne sait pas compter en arrière à moins que ce ne soit moi, je n'ai qu'un message "err:502"

Comment dois-je faire

Stéph


(64bits)-Ubuntu 18.04.5 LTS_Gnome : 3.28.2 # Processeur : Intel® Core™ i5-8600 CPU @ 3.10GHz (6 cœurs) # Mémoire : 15,6 Gio (2x 8 Gio) # Carte-Graphique : GeForce GTX 1050/PCIe/SSE2

Hors ligne

#12 Aujourd'hui à 12:33

MicP

Re : calc, faire une feuille d'anniversaires

Bonjour

steph babat 14 a écrit :

… "datedif" ne sait pas compter en arrière …

Oui, et c'est logique puisqu'on n'a pas encore trouvé comment voyager dans le temps,
et d'ailleurs, si tu entres une date de naissance ultérieure à la date actuelle, la cellule correspondant à l'âge indiquera :Erreur 502

Les formules entrées dans la colonne G doivent donc tenir compte de la condition suivante :
si la date d'anniversaire dans l'année en cours est déjà dépassée, alors le prochain anniversaire aura lieu dans l'année suivante.

Capture-d-cran-2022-01-22-12-44-02.png

j'ai entré dans la cellule G7 la formule suivante :

=SI(ESTVIDE(E7);"";SI(DATEDIF(AUJOURDHUI();SI(E7<=AUJOURDHUI();DATE(ANNEE(AUJOURDHUI())+1;MOIS(E7);JOUR(E7));E7);"ym") >0;DATEDIF(AUJOURDHUI();SI(E7<=AUJOURDHUI();DATE(ANNEE(AUJOURDHUI())+1;MOIS(E7);JOUR(E7));E7);"ym") & " mois";"") & SI(ET(DATEDIF(AUJOURDHUI();SI(E7<=AUJOURDHUI();DATE(ANNEE(AUJOURDHUI())+1;MOIS(E7);JOUR(E7));E7);"ym")>0;DATEDIF(AUJOURDHUI();SI(E7<=AUJOURDHUI();DATE(ANNEE(AUJOURDHUI())+1;MOIS(E7);JOUR(E7));E7);"md")>0);" et "; "") & SI(DATEDIF(AUJOURDHUI();SI(E7<=AUJOURDHUI();DATE(ANNEE(AUJOURDHUI())+1;MOIS(E7);JOUR(E7));E7);"md")=0;"12 mois";DATEDIF(AUJOURDHUI();SI(E7<=AUJOURDHUI();DATE(ANNEE(AUJOURDHUI())+1;MOIS(E7);JOUR(E7));E7);"md") &" jour" & SI(DATEDIF(AUJOURDHUI();SI(E7<=AUJOURDHUI();DATE(ANNEE(AUJOURDHUI())+1;MOIS(E7);JOUR(E7));E7);"md")>1; "s";"")))

Une fois la formule ci-dessus entrée dans la cellule G7,
j'ai utilisé la poignée de recopie pour recopier cette formule dans les cellules qui sont en dessous.

Voici le lien vers le fichier (12Ko) utilisant la formule ci-dessus.

=======
[/HUMOUR]

Alors Oui, c'est vrai qu'il y a beaucoup de SI dans ces formules,
mais c'est parce que :

c'est en bûchant qu'on devient bûcheron
et
c'est en sciant que Léonard …

[/HUMOUR]

Dernière modification par MicP (Aujourd'hui à 14:56)


Retour utilisable de commande
2.d  Le prompt final : - permet de s'assurer que la commande est allée à son terme,- permet de s'assurer que la réponse du système n'est pas coupée à la fin,- et fournit parfois d'autres informations, détaillées au message #42

Hors ligne