[Résolu] rechercher une cellule en fonction d'un critère
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.
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.
-
peric
- Fraîchement OOthentifié
- Messages : 7
- Inscription : 06 oct. 2010 19:20
[Résolu] rechercher une cellule en fonction d'un critère
Bonsoir à tous,
je cherche comment "repérer" une cellule :
j'ai 12 colonnes (une par mois) au bas de ces colonnes je fais la somme (recette et dépense). au fur et à mesure des mois ces sommes se remplissent, je voudrais utiliser la dernière somme pour un autre calcul. c'est donc ma première valeur non égale à 0 en partant de la droite. Comment exprimer cela dans une fonction?
janvier février mars avril mai
200€ -150€ 600€ 0,00€ 0,00€
Merci
je cherche comment "repérer" une cellule :
j'ai 12 colonnes (une par mois) au bas de ces colonnes je fais la somme (recette et dépense). au fur et à mesure des mois ces sommes se remplissent, je voudrais utiliser la dernière somme pour un autre calcul. c'est donc ma première valeur non égale à 0 en partant de la droite. Comment exprimer cela dans une fonction?
janvier février mars avril mai
200€ -150€ 600€ 0,00€ 0,00€
Merci
Dernière modification par micmac le 07 oct. 2010 18:15, modifié 1 fois.
Raison : [Résolu] et la coche. La prochaine fois faites-le vous-même.
Raison : [Résolu] et la coche. La prochaine fois faites-le vous-même.
OpenOffice3.2 sous ubuntu 10.4
-
micmac
- RespOOnsable forum

- Messages : 10071
- Inscription : 28 août 2010 08:45
Re: rechercher une cellule en fonction d'un critère
Bonjour et bienvenue,
un exemple de fichier avec notre service Ci-Joint serait le bienvenu (lien en bas de la page lors de la rédaction du message) : http://user.services.openoffice.org/fr/ ... ne-PJ.html
Dans l'attente.
un exemple de fichier avec notre service Ci-Joint serait le bienvenu (lien en bas de la page lors de la rédaction du message) : http://user.services.openoffice.org/fr/ ... ne-PJ.html
Dans l'attente.
Touche Ctrl de Windows = touche cmd⌘ sur Mac
OpenOffice > Outils > Options sur Windows = OpenOffice > Préférences sur macOS
OpenOffice > Outils > Options sur Windows = OpenOffice > Préférences sur macOS
-
peric
- Fraîchement OOthentifié
- Messages : 7
- Inscription : 06 oct. 2010 19:20
Re: rechercher une cellule en fonction d'un critère
Merci,
dans la feuille 2010, je veux utiliser la dernière cellule non égale à 0 de ma ligne solde CME fin de mois (la première en partant de la droite) sachant que chaque mois cette cellule va changer. Cette valeur je l'utilise en q52.
dans la feuille 2010, je veux utiliser la dernière cellule non égale à 0 de ma ligne solde CME fin de mois (la première en partant de la droite) sachant que chaque mois cette cellule va changer. Cette valeur je l'utilise en q52.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
OpenOffice3.2 sous ubuntu 10.4
-
gerard24
- ManitOOu

- Messages : 3160
- Inscription : 06 juil. 2008 17:08
- Localisation : dans le Périgord
Re: rechercher une cellule en fonction d'un critère
Bonsoir,
Avec la formule matricielle suivante :
Cette formule est ç valider par ctrl+maj+entrée.
A+
Avec la formule matricielle suivante :
Code : Tout sélectionner
=INDEX($A$50:$N$50;MAX(($B$50:$N$50<>0)*COLONNE($B$50:$N$50)))A+
-
jjk
- HédOOniste

- Messages : 1696
- Inscription : 27 oct. 2008 14:30
Re: rechercher une cellule en fonction d'un critère
Bravo Gérard
A partir de ta formule on peut bien sûr proposer une autre formule matricielle plus longue et moins élégante
Un peu d'explication sur ta formule :
(($B$50:$N$50<>0)*COLONNE($B$50:$N$50)) renvoie 1*n°colonne si la cellule est non nulle, zéro sinon, dans la plage B:N
Le MAX() renverra donc finalement le n° de la dernière colonne de cellule non nulle.
et INDEX($Ax:$Gx;MAX()) renvoie la valeur de cette cellule puisque la plage commence à la colonne de n°égal à 1.
A partir de ta formule on peut bien sûr proposer une autre formule matricielle plus longue et moins élégante
Code : Tout sélectionner
=DECALER($A$50:$G$50;0;MAX(($A$50:$G$50<>0)*COLONNE($A$50:$G$50))-1)(($B$50:$N$50<>0)*COLONNE($B$50:$N$50)) renvoie 1*n°colonne si la cellule est non nulle, zéro sinon, dans la plage B:N
Le MAX() renverra donc finalement le n° de la dernière colonne de cellule non nulle.
et INDEX($Ax:$Gx;MAX()) renvoie la valeur de cette cellule puisque la plage commence à la colonne de n°égal à 1.
OpenOffice 3.1.1 sous XP-SP2 et LibreOffice 3.5.0 sous Win 7
-
peric
- Fraîchement OOthentifié
- Messages : 7
- Inscription : 06 oct. 2010 19:20
Re: rechercher une cellule en fonction d'un critère
Bonsoir,
peux-tu expliquer le ctrl+Maj+entrée
pour le moment le résultat est 0!
peux-tu expliquer le ctrl+Maj+entrée
pour le moment le résultat est 0!
OpenOffice3.2 sous ubuntu 10.4
-
gerard24
- ManitOOu

- Messages : 3160
- Inscription : 06 juil. 2008 17:08
- Localisation : dans le Périgord
Re: rechercher une cellule en fonction d'un critère
Si tu as 0, c'est que la validation matricielle n'a pas fonctionné.
Tu saisis la formule dans la barre de formule et à la place de entrée, tu appuies simultanément sur les touches ctrl et maj
et tout en maintenant ces touches enfoncées tu fait entrée.
Si tu copie/colle la formule, colles la dans la barre de formule (et non dans la cellule) avant de valider comme précédemment.
Si ta formule est déjà saisie et validée par entrée (ce qui semble être ton cas), cliques dans la barre de formule,
supprimes un caractère quelconque ( par exemple le = ou la dernière parenthèse) et ressaisis le, valides comme indiqué.
Pour savoir si ta formule est bien matricielle, regardes dans la barre de formule, elle doit être entre accolades comme ceci :
{=ta formule}
A+
Tu saisis la formule dans la barre de formule et à la place de entrée, tu appuies simultanément sur les touches ctrl et maj
et tout en maintenant ces touches enfoncées tu fait entrée.
Si tu copie/colle la formule, colles la dans la barre de formule (et non dans la cellule) avant de valider comme précédemment.
Si ta formule est déjà saisie et validée par entrée (ce qui semble être ton cas), cliques dans la barre de formule,
supprimes un caractère quelconque ( par exemple le = ou la dernière parenthèse) et ressaisis le, valides comme indiqué.
| Ajout : encore + simple si la formule est déjà saisie : Clic dans la cellule, puis sur l'icone f(x) devant la barre de formule et dans l'assistant de fonction : coches la case matrice en bas à gauche. |
{=ta formule}
A+
Dernière modification par gerard24 le 06 oct. 2010 21:11, modifié 1 fois.
-
jjk
- HédOOniste

- Messages : 1696
- Inscription : 27 oct. 2008 14:30
Re: rechercher une cellule en fonction d'un critère
Il faut valider la formule par les 3 touches Ctrl+Maj+Entrée à la fois, puisqu'il s'agit d'une formule matricielle :
tu tapes =INDEX(...) et au lieu de faire Entrée seulement tu fais Ctrl+Maj+Entrée.
Tu peux aussi cocher la case "Matrice" dans l'Assistant fonction.
Celle-ci apparaîtra dans la barre de formules entourée par des accolades {=INDEX(...)}. C'est normal, c'est l'apanage des formules matricielles.
tu tapes =INDEX(...) et au lieu de faire Entrée seulement tu fais Ctrl+Maj+Entrée.
Tu peux aussi cocher la case "Matrice" dans l'Assistant fonction.
Celle-ci apparaîtra dans la barre de formules entourée par des accolades {=INDEX(...)}. C'est normal, c'est l'apanage des formules matricielles.
OpenOffice 3.1.1 sous XP-SP2 et LibreOffice 3.5.0 sous Win 7
-
peric
- Fraîchement OOthentifié
- Messages : 7
- Inscription : 06 oct. 2010 19:20
Re: rechercher une cellule en fonction d'un critère
bonsoir,
merci pour les explications amis ça ne marche pas!
j'ai modifié la plage parce que mes nombres commence à la colonne C:
=DECALER($C$50:$N$50;0;MAX(($C$50:$N$50<>0)*COLONNE($C$50:$N$50))-1)
j'ai appuyé sur CTRL+MAJ+entrée cela OK mais j'ai toujours unrésultat égal à zéro?
merci de me suivre...
merci pour les explications amis ça ne marche pas!
j'ai modifié la plage parce que mes nombres commence à la colonne C:
=DECALER($C$50:$N$50;0;MAX(($C$50:$N$50<>0)*COLONNE($C$50:$N$50))-1)
j'ai appuyé sur CTRL+MAJ+entrée cela OK mais j'ai toujours unrésultat égal à zéro?
merci de me suivre...
OpenOffice3.2 sous ubuntu 10.4
-
gerard24
- ManitOOu

- Messages : 3160
- Inscription : 06 juil. 2008 17:08
- Localisation : dans le Périgord
Re: rechercher une cellule en fonction d'un critère
Si tu démarres en colonne C, remplaces le -1 par -3 (la colonne C est la 3ème colonne de la feuille).
A+
A+
-
peric
- Fraîchement OOthentifié
- Messages : 7
- Inscription : 06 oct. 2010 19:20
Re: rechercher une cellule en fonction d'un critère
Aîe, Aïe
je ne peux plus entrer dans la barre de formule?
je ne peux plus entrer dans la barre de formule?
OpenOffice3.2 sous ubuntu 10.4
-
gerard24
- ManitOOu

- Messages : 3160
- Inscription : 06 juil. 2008 17:08
- Localisation : dans le Périgord
Re: rechercher une cellule en fonction d'un critère
C'est à dire ? As-tu un message ?peric a écrit :Aîe, Aïe
je ne peux plus entrer dans la barre de formule?
Si tu as le message "impossible de modifier uniquement une partie de la matrice", c'est que la matrice est sur plusieurs cellules.
Fais ctrl+/ (/ du pavé numérique) pour sélectionner la plage de matrice et supprimes tout et recommence.
Normalement ma formule doit renvoyer un résultat unique, pas une plage.
-
peric
- Fraîchement OOthentifié
- Messages : 7
- Inscription : 06 oct. 2010 19:20
Re: rechercher une cellule en fonction d'un critère
Merci pour ton assiduité
Là cela marche sauf que la formule semble aussi se reporter sur les 8 cellules à droite, j'ai fait un essai en O60. Faut-il copier la formule dans une cellule précise?
Merci
Là cela marche sauf que la formule semble aussi se reporter sur les 8 cellules à droite, j'ai fait un essai en O60. Faut-il copier la formule dans une cellule précise?
Merci
OpenOffice3.2 sous ubuntu 10.4
-
peric
- Fraîchement OOthentifié
- Messages : 7
- Inscription : 06 oct. 2010 19:20
Re: rechercher une cellule en fonction d'un critère
Avec la première formle ça marche! Merci pour vos aides
Comment fait-on pour clore le sujet?
Comment fait-on pour clore le sujet?
OpenOffice3.2 sous ubuntu 10.4
-
Jean-Louis Cadeillan
- GourOOu

- Messages : 6090
- Inscription : 02 janv. 2009 23:56
Re: rechercher une cellule en fonction d'un critère
Une variante (à mettre en O50, toujours matricielle) :
A+
Jean-Louis
Code : Tout sélectionner
{=INDEX($C$50:$N$50;EQUIV(1;SI(($C$50:$N$50>0)*(DECALER($C$50:$N$50;0;1)=0);1;0);0))}Jean-Louis
Windows 10 Pro 64, LibO 25.8.6.2 (JRE 1.8.0_481) et AOO 4.1.16 (Adoptium 19.0.2.7)
-
tintin
- Grand Maître de l'OOffice

- Messages : 10181
- Inscription : 18 juil. 2008 15:29
- Localisation : F-Oise
Re: rechercher une cellule en fonction d'un critère
Bonjour,Comment fait-on pour clore le sujet?
Quand votre question a trouvé une solution, il faut ajouter dans le titre du premier message la balise [Résolu].
Merci de respecter la syntaxe [Résolu] : entre crochets, avec un R majuscule et un é. Cette balise est à placer au début du titre. Il faut également cocher la case de l'icône de sujet
Suivez ce sujet pour savoir comment procéder : http://user.services.openoffice.org/fr/ ... c3299.html
Merci de votre collaboration.
AOO 4.1.16 et LibO 25.8.5 / macOS M4 Silicon 26.4 Tahoe
Adoptium-temurinJDK-1.8.0.482 / Firefox/Safari/Thunderbird /Time Machine + clone
Tutoriels du forum pour macOS
Pour sauvegarder vos documents c'est ceinture ET bretelles
Adoptium-temurinJDK-1.8.0.482 / Firefox/Safari/Thunderbird /Time Machine + clone
Tutoriels du forum pour macOS
Pour sauvegarder vos documents c'est ceinture ET bretelles