[Résolu] Classeur débouchant d'une base ODS = formules

Discussions à propos du tableur Calc.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
malokran
NOOuvel adepte
NOOuvel adepte
Messages : 14
Inscription : 04 juil. 2020 15:21

[Résolu] Classeur débouchant d'une base ODS = formules

Message par malokran »

bonjour
quelqu'un m'aidera-t-il ? je joins un fichier calc dans lequel j'ai une base (factice) et deux feuilles (une attestation et une prescription où j'ai volontairement enlevé des renseignements afin de les anonymiser mais où j'ai laissé les 3 lignes d'élèments "variables" dont une vierge).
le but est d'arriver à éditer l'un ou l'autre de ces documents à partir de la base sachant qu'elle contient parfois des homonymes sur le nom (voir le prénom sur l'original)...
le publipostage aurait été une excellente solution mais dans la mesure où le fichier base comporte de nombreux personnels et que l'édition des documents ne peut concerner qu'un nombre très limité de personnes à la fois, il n'est pas -au final- adapté.
j'espère pouvoir compter sur votre aimable collaboration
très bon dimanche à vous
malokran
PS : pour que votre aide ne soit pas vaine et sans vouloir abuser, pouvez-vous également m'expliquer la formule ???? j'aimerais pouvoir comprendre et refaire seule...
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par micmac le 28 août 2020 06:22, modifié 1 fois.
Raison : Balisage
Windows 10 et open office 4.1.7
Avatar de l’utilisateur
njhub
Membre enthOOusiaste
Membre enthOOusiaste
Messages : 495
Inscription : 18 juin 2017 05:43
Localisation : 976

Re: document calc débouchant d'une base calc = formules ?

Message par njhub »

Bonjour malokran,

Voyez si la solution proposée dans le fichier joint peut vous convenir.

Les variables "Nom" et "Prénom" sont à choisir en feuille Attestation, quelque soit le document à imprimer, Prescription retranscrit les valeurs de Attestation.

En choisissant un "Nom", vous trouverez une liste déroulantes des "Prénom" correspondant, après avoir choisi le "Prénom", le numéro de ligne correspondant apparait en colonne F de la feuille "BASE ", les autres valeurs sont dépendantes de ce numéro de ligne, par des formules du type :

Code : Tout sélectionner

=INDIRECT("$'BASE '.E"&GRANDE.VALEUR(Lignef;1);2)
malokran_FACTIVE.ods
:wink:
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 7.5.9.2.M1 (x64) FR-YT 05/12/23
OS : Windows 11.0
malokran
NOOuvel adepte
NOOuvel adepte
Messages : 14
Inscription : 04 juil. 2020 15:21

Re: document calc débouchant d'une base calc = formules ?

Message par malokran »

Oh un grand merci
ça semble bien correspondre à ce que je veux...
par contre, pouvez-vous me "traduire" les formules svp afin que je puisse comprendre et peut-être refaire toute seule ?
en tous les cas, vraiment, merci merci merci
très bon dimanche à vous
malokran
Windows 10 et open office 4.1.7
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16960
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: document calc débouchant d'une base calc = formules ?

Message par jeanmimi »

Bonjour,
malokran a écrit :le publipostage aurait été une excellente solution mais
Dans un publipostage, il est possible de sélectionner l'enregistrement ou les enregistrements voulus de la Base, avec la touche Ctrl enfoncée.
LibreOffice : Version : 24.2 (x64)(12 avril 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
malokran
NOOuvel adepte
NOOuvel adepte
Messages : 14
Inscription : 04 juil. 2020 15:21

Re: document calc débouchant d'une base calc = formules ?

Message par malokran »

Merci beaucoup Jeanmimi pour cette précision
C'est magique... Du coup, avec mes collègues, nous pourront choisir l'une ou l'autre des solutions.
je vous remercie vraiment d'avoir répondu aussi vite... et je vous souhaite un excellent dimanche
bisous bisous
malokran
Windows 10 et open office 4.1.7
Avatar de l’utilisateur
njhub
Membre enthOOusiaste
Membre enthOOusiaste
Messages : 495
Inscription : 18 juin 2017 05:43
Localisation : 976

Re: document calc débouchant d'une base calc = formules ?

Message par njhub »

Bonjour malokran,

1° la liste déroulante des noms, reprend les valeurs de la zone nommée "NOM"

2° la liste déroulante des prénoms, affiche les prénoms associés au nom choisi précédemment, par la formule en validation de données :

Code : Tout sélectionner

SI(NOM=$D$31;Prénom;"")
qui renvoie les valeurs de la zone nommée "Prénom" quand la zone nommée "NOM" correspond à la valeur choisie en D31.

3° ces deux valeurs choisies, en colonne F de la feuille BASE, apparait le numéro de ligne correspondant simultanément aux deux valeurs "NOM" et "Prénom", les autres valeurs sont dépendantes de ce numéro de ligne, par des formules du type :

Code : Tout sélectionner

=INDIRECT("$'BASE '.B"&GRANDE.VALEUR(Lignef;1);1)
qui renvoie le grade repris dans la ligne de la plus grande valeur de "Lignef"

Code : Tout sélectionner

=INDIRECT("$'BASE '.D"&GRANDE.VALEUR(Lignef;1);1)
qui renvoie la date repris dans la ligne de la plus grande valeur de "Lignef"

Code : Tout sélectionner

=INDIRECT("$'BASE '.E"&GRANDE.VALEUR(Lignef;1);1)
qui renvoie le lieu repris dans la ligne de la plus grande valeur de "Lignef"

Code : Tout sélectionner

GRANDE.VALEUR(Lignef;1)
renvoie la plus grande valeur de la zone nommée "Lignef", on aurait pu utiliser MAX(Lignef) qui donnerait la formule ci-dessous pour le même résultat en grade:

Code : Tout sélectionner

=INDIRECT("$'BASE '.B"&MAX(Lignef);1)
etc...
4° en colonne F de la feuille BASE, apparait le numéro de ligne correspondant simultanément aux deux valeurs "NOM" et "Prénom" par la formule suivante :

Code : Tout sélectionner

=SI(ET(A3=$Attestation.$D$31;C3=$Attestation.$F$31);LIGNE();0)
qui fait apparaitre le numéro de ligne 3 si les nom en A3 et prénom en C3 correspondent aux valeurs choisies en feuille "Attestation" et un zéro masqué dans les autres cas.

Utilisant LibreOffice, je vous invite à consulter l'aide spécifique à votre version de tableur, vous y accéderez par la touche F1 du clavier.

:wink:
LibreOffice 7.5.9.2.M1 (x64) FR-YT 05/12/23
OS : Windows 11.0
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 5752
Inscription : 02 janv. 2009 23:56

Re: document calc débouchant d'une base calc = formules ?

Message par Jean-Louis Cadeillan »

Bonjour,
Une variante qui tient compte de :
malokran a écrit :à partir de la base sachant qu'elle contient parfois des homonymes sur le nom (voir le prénom sur l'original)
J'en ai déduit que la seule combinaison univoque était Grade-Nom-Prénom. Comme avec la solution de njhub, tu saisis le nom par liste déroulante, tu saisis le prénom par liste déroulante réduite aux seuls prénoms correspondant au nom et tu saisis le grade par liste déroulante réduite aux seuls grades correspondant à la combinaison Nom - Prénom, au cas où il y aurait des homonymes.
La recherche de la date et du lieu de naissance se fera sur la combinaison Grade - Nom - Prénom, avec respectivement les formules matricielles suivantes (en C33 et E33 d'Attestation ou de Prescription) :

Code : Tout sélectionner

=MAX(SI(Grade&NOM&Prénom=C31&D31&F31;Né;""))
et

Code : Tout sélectionner

=INDEX(Lieu;MAX(SI(Grade&NOM&Prénom=C31&D31&F31;LIGNE(Lieu);""))-1)
Rappel : une formule matricielle se valide par Maj+Ctrl+Entrée. Ces formules ne nécessitent pas de colonne supplémentaire (comme Lignef).
Ci-joint à tester.
Cordialement
Jean-Louis
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibO 7.6.6.3 (x64 avec Java 1.8.0_401) et AOO 4.1.15 (avec Java x32 1.8.0_381), Windows 7 Édition Intégrale 64 SP1
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 9251
Inscription : 28 août 2010 08:45

Re: [Résolu] Classeur débouchant d'une base ODS = formules

Message par micmac »

Dernière visite le 06 Juil 2020 18:35
Vous avez lu les réponses qui vous ont été adressées. N'ayant plus de nouvelles le sujet est considéré comme résolu.
Touche Ctrl de Windows = touche cmd⌘ sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac