[Résolu]somme valeurs plusieurs arguments sur 2 feuilles

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.
Avatar de l’utilisateur
JPSonic
Membre OOrganisé
Membre OOrganisé
Messages : 61
Inscription : 13 avr. 2006 11:02
Localisation : France-Reims

[Résolu]somme valeurs plusieurs arguments sur 2 feuilles

Message par JPSonic »

Somme de valeurs sur une feuille récap en fonction d'une liste de plusieurs arguments, present sur 2 feuilles.

Je joins un fichier, je pense, qu'il sera plus explicite.

http://user.services.openoffice.org/fr/ ... 093946.ods

Je cherche à faire la somme de données numériques présentes sur plusieurs feuilles en fonction du NOM et PRENOM présent dans ma feuille récap.
Je me casse les dents pour crée cette formule qui semble plutôt simple sûrement pour vous !!!!
Merci de votre coup de pouce je trop nul ...... :oops:
Dernière modification par JPSonic le 06 déc. 2006 20:51, modifié 1 fois.
open office 3.2 sous windows XP SP2 utilisation professionnelle............
Jeff
GourOOu
GourOOu
Messages : 9628
Inscription : 18 sept. 2006 09:40
Localisation : France

Message par Jeff »

Bonjour,

Comme dit précédemment, pour rechercher des valeurs, plusieurs techniques :
- fonction de base de données
- fonction de recherche

Dans ton exemple, j'ai concaténer Noms et Prénom pour avoir une seule colonne de recherche, puis j'ai appliqué Recherchev avec l'argument de tri à 0.
En E9 l'erreur est juste (je veux dire par là que le tableur à raison et que ta valeur fournie est incohérente ) .

http://user.services.openoffice.org/fr/ ... 080629.ods

A +

EDIT : chaque fonction Recherchev est précédée d'un test pour savoir si la recherche aboutie sur une valeur d'erreur ; si c'est le cas un zéro est affiché. Si tu ne veux pas ce zéro, ne met pas un espace à la place, mais plutôt une nouvelle condition SI qui fait que si la somme des deux Recherchev est égale à 0 alors égale à " ".
Avatar de l’utilisateur
JPSonic
Membre OOrganisé
Membre OOrganisé
Messages : 61
Inscription : 13 avr. 2006 11:02
Localisation : France-Reims

Message par JPSonic »

Merci pour cette réponse si rapide.
Effectivement, il y avait une erreur dans mon exemple comme quoi je suis vraiment mauvais. :cry:
Bon concernant ta solution, le problème c'est que cela rajoute une colonne de plus sur chaque feuille, et je n'ai plus vraiment la place d'insérer cette nouvelle colonne, qui d'ailleurs ne m'apporte pas grand-chose en terme de données.
Une fonction comme "somme.si" aurait été pas mal, mais je ne pense pas que ce soit possible avec deux arguments.
Encore merci, je reste très attentif à toute nouvelle proposition .........encore merci de votre aide a tous sur ce forum.
open office 3.2 sous windows XP SP2 utilisation professionnelle............
Avatar de l’utilisateur
JPSonic
Membre OOrganisé
Membre OOrganisé
Messages : 61
Inscription : 13 avr. 2006 11:02
Localisation : France-Reims

Message par JPSonic »

Jeff, je viens de me pencher un peu plus longuement sur ta proposition.
Un autre problème; c'est que les colonnes contenants des donnees que je souhaite additioner; ne setrouve pas juste à coté de mes colonnes NOM et PRENOM !!! mais bien apres. De plus je reutiliseria cette meme formule, enfin quand elle sera trouvée, pour additionnées d'autre valeurs presentes dans des colonnes différentes.
Merci de votre aide précieuse !!!!!
open office 3.2 sous windows XP SP2 utilisation professionnelle............
Pierre-Yves Samyn
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 11276
Inscription : 02 mai 2006 08:42

Message par Pierre-Yves Samyn »

Bonjour

Une autre proposition (reposant aussi sur l'ajout d'une colonne regroupant nom et prénom, colonne que tu peux toujours masquer à l'occasion...)

Ici le principe est... de ne rien faire que ne fait déjà OOo : utilisation de la fonction "consolidation" (dans le menu Données). On indique les plages à consolider, dans les options, on précise sur quelles étiquettes (en-têtes) de ligne / colonne on veut travailler et éventuellement, si on désire lier le résultat aux plages sources (qui ne sont pas forcément contiguës).

Le fait de demander la liaison ajoute de plus un plan assez pratique pour visualiser dans quelle feuille se trouve quelle valeur.

http://user.services.openoffice.org/fr/ ... 040211.ods
Avatar de l’utilisateur
JPSonic
Membre OOrganisé
Membre OOrganisé
Messages : 61
Inscription : 13 avr. 2006 11:02
Localisation : France-Reims

Message par JPSonic »

Encore merci pour cette contribution, mais hélas les résultats ne correspondent pas à ce que je recherchais, les noms sur les deux feuilles ne sont pas forcément dans le meme ordre sur la feuille 2
Merci à vous deux ..... :cry:
open office 3.2 sous windows XP SP2 utilisation professionnelle............
Jeff
GourOOu
GourOOu
Messages : 9628
Inscription : 18 sept. 2006 09:40
Localisation : France

Message par Jeff »

JPSonic a écrit :les colonnes contenants des donnees que je souhaite additioner; ne setrouve pas juste à coté de mes colonnes NOM et PRENOM !!! mais bien apres.
Dans ce cas il faut adapter la fonction Recherchev (les 4 fois où elle apparait).

J'avais bien compris que c'était un classeur test, il faut que tu adapte sur ton classeur véritable.
La colonne en plus, si tu as 255 colonnes, tu peux encore l'insérer, puis la masquer si elle te gêne.

Pour adapter Recherchev, il faut redimensionner la matrice et l'indice de la colonne où sont pioché les montants.
Dans ce que je t'ai envoyé :

Code : Tout sélectionner

RECHERCHEV(C2;$Feuille1.$C$2:$D$1000;2;0)
C2 -> correspond à la colonne des noms/prénoms concaténés en feuille Récapitulatif (critère)
$Feuille1.$C$2:$D$1000 -> matrice dans laquelle s'effectue la recherche
2 -> indice (colonne où l'on va piocher le résultat
0 -> tri

Si tes résultats sont en colonne G :
C2 reste
$Feuille1.$C$2:$G$1000 -> nouvelle matrice de recherche
5 -> nouvel indice de colonne de la matrice
0 -> reste car colonnes non triées

Pour faire plus précis, il faudra joindre le classeur, je le crains...

A + :wink:
Avatar de l’utilisateur
JPSonic
Membre OOrganisé
Membre OOrganisé
Messages : 61
Inscription : 13 avr. 2006 11:02
Localisation : France-Reims

Message par JPSonic »

Encore Jeff, qui vient à mon secours.... merci pour les explications, mais la je sature. Enfin, je vais quand même essayer de comprendre. Je te joins mon fichier : http://user.services.openoffice.org/fr/ ... 070659.ods

Le problème se trouve sur la feuille récap, bon accord, je bricole. Les boutons en haut, c'est encore des tests qu'il me reste à améliorer bien évidemment, mais je suis plutôt nul.........
Par la suite, il faudra une macro pour gérer et remplacer mes boutons.
Le but étant d'avoir les résultats d'une année; somme des deux semestres, par le simple appui d'un bouton. Pour le moment, je cherche.....Un autre souci, la fusion des numéros de semaine et leur coloration, en fonction de si elles sont paires ou impaires. Puis l'ajout, des WE et jours fériés. Voila, il me reste un sacré boulo fin de la réalisation prévue en 2039 !!! en attendant merci à tous, car je rame .....
open office 3.2 sous windows XP SP2 utilisation professionnelle............
Jeff
GourOOu
GourOOu
Messages : 9628
Inscription : 18 sept. 2006 09:40
Localisation : France

Message par Jeff »

Je reconnais que le tableau est plus que conséquent (!)

Je t'ai fait la première colonne (indispo) à titre d'exemple, et pour te guider pour la suite. Faut quand même savoir qu'avec cette méthode, la colonne demandée est en 183ème position dans une matrice, en 186ème dans l'autre.Tu auras ensuite à incrémenter, et la matrice, et les indices (de recherche).

Pour incrementer la matrice, je te conseille de jongler sur les valeurs absolues et relatives (je met en italique, tu trouve avec Rechercher, en cochant tous les termes, forum tableur, un fil qui te détaille ça).
Par ex. dans ce que je te joins, la référence matrice est en valeur absolue en totalité.Met GF puis GI en valeurs relatives, recopie sur les colonnes d'après, ta matrice s' incrémente d'elle même.

Copie ensuite colonne par colonne tes formules de première ligne.
EDIT : Repasse la matrice en valeur absolue en totalité avant la recopie par colonne.

Utilise Edition->Rechercher remplacer (Rechercher du forum pour le mode d'emploi) pour remplacer colonne par colonne les indices (attention cocher dans options Sélection active seulement).

Le fichier : http://user.services.openoffice.org/fr/ ... 103152.ods

J'ai du supprimer en fin de classeur une colonne (apparemment) vide pour insérer la colonne nom/prénom qui peut être masquée ensuite.

Bon courage ! :wink:
Pierre-Yves Samyn
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 11276
Inscription : 02 mai 2006 08:42

Message par Pierre-Yves Samyn »

Bonjour
Jeff a écrit :Je reconnais que le tableau est plus que conséquent (!)
c'est sûr... :lol: du coup 3 remarques

- chapeau Jeff pour ton implication et ta solution
- à voir le résultat souhaité, effectivement la consolidation ne convient pas
- à voir les tableaux, personnellement, je découperais davantage les feuilles semestres pour avoir moins de colonnes dans chaque. Pour éviter les resaisies du bloc "nom, prénom, etc.", il est possible de les avoir "en dur" une seule fois, de les copier, et de faire un collage spécial dans les autres feuille en cochant l'option "Lier".
Jeff
GourOOu
GourOOu
Messages : 9628
Inscription : 18 sept. 2006 09:40
Localisation : France

Message par Jeff »

Pierre-Yves Samyn a écrit :Pour éviter les ressaisies du bloc "nom, prénom, etc.",[...]faire un collage spécial dans les autres feuille en cochant l'option "Lier".
ce qui de plus éviterai des erreurs de ressaisie, donc des erreurs de recherche.

L'emplacement de la colonne que j'ai rajoutée n'est peut être pas judicieux :
- Avantage : permet de ressortir des données sur n'importe quelle colonne
- (Gros) Inconvénients : la saisie d'indice ainsi que la saisie de la matrice de la fonction Recherchev sont périlleuses ; si cette colonne est insérée avant la colonne Indispo, inverser le avantage avec les inconvénients.
Avatar de l’utilisateur
JPSonic
Membre OOrganisé
Membre OOrganisé
Messages : 61
Inscription : 13 avr. 2006 11:02
Localisation : France-Reims

Message par JPSonic »

Un grand merci à vous deux, Jeff et Pierre-Yves Samyn, pour votre patience et implication concernant la réalisation de mon projet.
Jeff, j'ai pris note de tes remarques et de ton aide magistrale sur la réalisation de cette formule.
Effectivement, il me reste pas mal de travail. Mais c'est un outil de travail qui pourra me faciliter la tâche par la suite.
J'ai suivi ton aide concernant les valeurs absolues et relatives, lors de l'incrémentation de la matrice. Je verrais si j'ai bien tout compris, en ayant le résultat final.
Il semble qu'il ne soit pas possible de figer la zone de toutes les colonnes et de ne modifier que la référence de la colonne ????
Pour répondre à Pierre-Yves Samyn, découper les semestres en trimestres; vola une idée, mais au de par, je soutais avoir sur une unique feuille, un calendrier annuel. Chose qui n'est pas réalisable, vu le nombre de colonnes limité par feuille.
D'autre par la liste évolué dans le temps, ajout de personnel ou suppression. De plus dans la liste-elle même, il peut y avoir des changements d'un semestre à un autre, changement de grade et donc par conséquent du numéro d'ordre.
D'où la copie des deux listes dans ma feuille recap, le problème restant les doublons sans changement et ceux ayant comme changement le numéro d'ordre : sûrement la réalisation d'une nouvelle macro qui reprend le principe de mes boutons de test, avec la suppression des lignes identiques doubles et un tri des lignes dont le numéro d'ordre change, pour ne conserver que le numéro le plus petit. La formule de Jeff, faisant référence qu'aux noms et prénoms.
Voila pour les explications, je suis preneur de toute solution, grace à ce forum et à vous deux et peut être d'autre, j'apprends et je progresse. encore Merci
PS : recherche de laide pour la réalisation de la macro de la feuille récap.
open office 3.2 sous windows XP SP2 utilisation professionnelle............
Pierre-Yves Samyn
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 11276
Inscription : 02 mai 2006 08:42

Message par Pierre-Yves Samyn »

Concernant la macro, il faut ouvrir un nouveau fil dans la section macro de ce forum. Il existe déjà beaucoup d'exemples dans cette section. Je te conseille de bien "analyser" ce que tu souhaites, de faire des recherches dans les post-it et avec la fonction Recherche pour voir si certains aspects n'ont pas déjà été traités.

Enfin, de manière générale, je pense qu'il ne faut pas hésiter à ouvrir plusieurs fils pour poser plusieurs questions précises plutôt qu'une grande question...

Bon courage :lol:
Jeff
GourOOu
GourOOu
Messages : 9628
Inscription : 18 sept. 2006 09:40
Localisation : France

Message par Jeff »

JPSonic a écrit :Il semble qu'il ne soit pas possible de figer la zone de toutes les colonnes et de ne modifier que la référence de la colonne ????
Etape détaillée (c'est plus vite fait de faire que de lire :lol: ) :
Voici la formule prélevée en G9 de la feuille Récapitulatif :

Code : Tout sélectionner

=SI(ESTNA(RECHERCHEV(F9;$1er_Semestre.$F$5:$GF$160;183;0));0;RECHERCHEV(F9;$1er_Semestre.$F$5:$GF$160;183;0))
+SI(ESTNA(RECHERCHEV(F9;$2ème_Semestre.$F$5:$GI$160;186;0));0;RECHERCHEV(F9;$2ème_Semestre.$F$5:$GI$160;186;0))
Pour n'incrémenter que les colonne, positionne le curseur sur les références à changer puis, par appuis successifs Maj+F4 (1 seul appui en théorie), fais en sorte d'obtenir que les colonnes Gx soient relatives et F9 en absolue :

Code : Tout sélectionner

=SI(ESTNA(RECHERCHEV($F$9;$1er_Semestre.$F$5:GF$160;183;0));0;RECHERCHEV($F$9;$1er_Semestre.$F$5:GF$160;183;0))
+SI(ESTNA(RECHERCHEV($F$9;$2ème_Semestre.$F$5:GI$160;186;0));0;RECHERCHEV($F$9;$2ème_Semestre.$F$5:GI$160;186;0))
Ensuite, quand tu recopie en H9 (et plus...) tu obtiens (H9) :

Code : Tout sélectionner

=SI(ESTNA(RECHERCHEV($F$9;$1er_Semestre.$F$5:GG$160;183;0));0;RECHERCHEV($F$9;$1er_Semestre.$F$5:GG$160;183;0))
+SI(ESTNA(RECHERCHEV($F$9;$2ème_Semestre.$F$5:GJ$160;186;0));0;RECHERCHEV($F$9;$2ème_Semestre.$F$5:GJ$160;186;0))
La colonne droite de la matrice s'est incrémentée (et elle seule).
Repasse ensuite la référence matrice en valeur absolue EDIT :et la référence de recherche en relative(3appuis en théorie) :

Code : Tout sélectionner

=SI(ESTNA(RECHERCHEV(F9;$1er_Semestre.$F$5:$GG$160;183;0));0;RECHERCHEV(F9;$1er_Semestre.$F$5:$GG$160;183;0))
+SI(ESTNA(RECHERCHEV(F9;$2ème_Semestre.$F$5:$GJ$160;186;0));0;RECHERCHEV(F9;$2ème_Semestre.$F$5:$GJ$160;186;0))
Sélectionne ensuite ta cellule H9, le plus simple étant de cliquer sur H9, puis, sans relacher le bouton de ta souris, glisse sur I9 et reviens sur H9 : seule cette cellule est sélectionnée.
Ensuite Edition->Rechercher/remplacer (pense à cliquer sur Autres options et cocher sélection active seulement !):
Rechercher 183 -> Remplacer par 184 remplacer tout
Rechercher 186 -> Remplacer par 187 remplacer tout

Tu peux quitter Rechercher/remplacer et copier ta fonction le long de ta colonne.
Manip à faire pour chaque colonne, tu peux :cry: un bon coup :!:
JPSonic a écrit :je soutais avoir sur une unique feuille, un calendrier annuel. Chose qui n'est pas réalisable, vu le nombre de colonnes limité par feuille.
Je vais pas te casser le moral, mais dans ce cas, valais mieux inverser lignes et colonnes, vu que tu n'as "que" 256 colonnes, mais que tu as 65 536 lignes... ; tu peux toujours tenter un copier/coller en ayant cocher Transposer, pour que tes lignes devienne colonnes et inversement, mais ça te fait reprendre pas mal de choses, dont cette fonction Recherchev qui doit se transformer en Rechercheh (je pense, je doute que ce soit automatique...)
JPSonic a écrit :le problème restant les doublons

Pour les doublons, en pages Tuto, dans le tuto Matrice je donne une astuces pour gérer les doublons chiffres (pas texte !), ainsi que l'astuce pour qu'une fonction outrepasse ses capacités nominales.

A +
Dernière modification par Jeff le 06 déc. 2006 20:57, modifié 1 fois.
Avatar de l’utilisateur
JPSonic
Membre OOrganisé
Membre OOrganisé
Messages : 61
Inscription : 13 avr. 2006 11:02
Localisation : France-Reims

[Résolu] Somme valeurs plusieurs arguments sur 2 feuilles

Message par JPSonic »

JPSonic a écrit :Somme de valeurs sur une feuille récap en fonction d'une liste de plusieurs arguments, present sur 2 feuilles.

Je joins un fichier, je pense, qu'il sera plus explicite.

http://user.services.openoffice.org/fr/ ... 093946.ods

Je cherche à faire la somme de données numériques présentes sur plusieurs feuilles en fonction du NOM et PRENOM présent dans ma feuille récap.
Je me casse les dents pour crée cette formule qui semble plutôt simple sûrement pour vous !!!!
Merci de votre coup de pouce je trop nul ...... :oops:
open office 3.2 sous windows XP SP2 utilisation professionnelle............