[Résolu] recherche de valeur dans une plage et renvoi d'une cellule contigüe

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.
jerduv
Fraîchement OOthentifié
Messages : 7
Inscription : 01 mars 2024 09:58

[Résolu] recherche de valeur dans une plage et renvoi d'une cellule contigüe

Message par jerduv »

bonjour,
je cherche un moyen de renvoyé la valeur de la cellule précédente a une cellule contenu dans une plage de plusieurs colonnes et lignes
par exemple si je chercher "marcel" dans la plage a1:d6; "marcel" etant en D2 la formule doit me renvoyer le contenu de la cellule C2
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par micmac le 17 mars 2024 12:55, modifié 3 fois.
libreoffice 24.2 windows 10
Avatar de l’utilisateur
Arnault
Membre hOOnoraire
Membre hOOnoraire
Messages : 102
Inscription : 01 avr. 2011 13:31

Re: recherche d'une valeur dans une plage et renvoi d'une cellule contigu

Message par Arnault »

Bonjour
En partant du postulat (mais que vous ne précisez pas) que vous ne voulez pas déplacer votre colonne C après votre colonne D, la fonction RECHERCHEV ne peut pas résoudre votre problème.

Je vous propose une solution qui récupère le numéro de ligne de la personne cherchée (colonne D) puis qui va rechercher la valeur de la ligne correspondante (colonne C) à saisir en B8

Code : Tout sélectionner

=INDEX(C$1:C$3;EQUIV(B7;$D$1:$D$3;0); )
 Ajout : Je modifie ma formule pour prendre en compte la plage et pas seulement les colonnes C et D mais la solution de Jean-Louis ci-dessous est plus élégante :D  

Code : Tout sélectionner

=SI(ESTERREUR(INDEX(C$1:C$3;EQUIV(B7;$D$1:$D$6;0); ));INDEX(A$1:A$3;EQUIV(B7;$B$1:$B$6;0); );INDEX(C$1:C$3;EQUIV(B7;$D$1:$D$6;0); ))
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par Arnault le 17 mars 2024 12:24, modifié 2 fois.
LibreOffice 24.2 (x64)
OpenOffice 4.1.15
Windows 11 pro 64 23H2
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 5753
Inscription : 02 janv. 2009 23:56

Re: recherche d'une valeur dans une plage et renvoi d'une cellule contigu

Message par Jean-Louis Cadeillan »

Bonjour,
Une formule qui te donnera le contenu de la cellule à gauche d'une cellule qui a un contenu donné (ici le contenu de B7), dans une plage donnée (ici la plage A1:D5):

Code : Tout sélectionner

=INDIRECT(ADRESSE(MAX(SI($A$1:$D$5=B7;LIGNE($A$1:$D$5);""));MAX(SI($A$1:$D$5=B7;COLONNE($A$1:$D$5)-1;""));;;))
La formule est matricielle, elle se valide par Ctrl+Maj+Entrée.
À tester ci-joint.
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_411) et AOO 4.1.15 (avec Java x32 1.8.0_381), Windows 7 Édition Intégrale 64 SP1
jerduv
Fraîchement OOthentifié
Messages : 7
Inscription : 01 mars 2024 09:58

Re: recherche d'une valeur dans une plage et renvoi d'une cellule contigu

Message par jerduv »

Merci a vous d'avoir répondu.
surtout a Jean-Louis Cadeillan qui a trouvé une solution qui me convient parfaitement.
je pense que je vais devoir regarder les fonction matriciel que je ne connaisais pas.
je cloture
libreoffice 24.2 windows 10
Anakin
NéOOphyte
NéOOphyte
Messages : 145
Inscription : 08 nov. 2023 11:40

Re: [Résolu] recherche d'une valeur dans une plage et renvoi d'une cellule contigu

Message par Anakin »

Bonjour Monsieur,

Au cas où vous seriez interessé à une variante, je vous prie de vous pencher sur ce qui suit:

Bien à vous

Anakin
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre Office 6.0.7 sous Ubuntu 18.04.6
jerduv
Fraîchement OOthentifié
Messages : 7
Inscription : 01 mars 2024 09:58

Re: [Résolu] recherche d'une valeur dans une plage et renvoi d'une cellule contigu

Message par jerduv »

Anakin a écrit : 17 mars 2024 13:01 Bonjour Monsieur,

Au cas où vous seriez interessé à une variante, je vous prie de vous pencher sur ce qui suit:

Bien à vous

Anakin
Merci,
mais cela ne me convient pas car cela suppose que j'intercale des colonnes supplémentaires.Dans votre exemple vous avez regroupé les colonnes avec le nom ce qui ne correspond pas a ma demande. Dans mon fichier finale pour un soucis de présentations j'ai 3x2 colonnes. Le choix par validation de donnée n'est pas non plus nécessaire bien que pratique pour l'exemple.
la solution de jean louis est elle plus direct. et me convient parfaitement.
libreoffice 24.2 windows 10