Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Macro pour rechercheV + H sur tableau

16 réponses
Avatar
Céline
bonjour,

pour ma recherche peut-être est-ce plus commode de la faire par le biais
d'une macro, les explications sont sur ma question RECHERCHE V+H, mais en
gros elle consiste à me renvoyer la valeur d'une cellule d'un tableau
correspondant à une recherche de colonne et de ligne et ma valeur est
l'intersection de cette recherche.

Merci
Céline

10 réponses

1 2
Avatar
isabelle
bonjour Céline,

tu pourais combiner les fonctions EQUIV, INDIRECT et ADRESSE

en gros ça donnerais :

=INDIRECT(ADRESSE(EQUIV(E14;plage1;0);EQUIV(D14;plage2;0)))

isabelle



=RECHERCHEV(E14;'grille tarifaire'!B6:G10;RECHERCHEH(D14;'grille
tarifaire'!B6:G10))

bonjour,

pour ma recherche peut-être est-ce plus commode de la faire par le biais
d'une macro, les explications sont sur ma question RECHERCHE V+H, mais en
gros elle consiste à me renvoyer la valeur d'une cellule d'un tableau
correspondant à une recherche de colonne et de ligne et ma valeur est
l'intersection de cette recherche.

Merci
Céline


Avatar
Céline
Merci Isabelle, je vais fouiller, mais j'avoue qu'étant donné que ce sont des
fonctions que je ne connais pas ça va pas être simple pour moi !!!
Par contre il faut que je le fasse (on me demande de le faire) juste par des
fonctions et non pas par macro.

Isa si tu as plus d'aide à me donner encore ce serait super cool !!

Merci
Céline

bonjour Céline,

tu pourais combiner les fonctions EQUIV, INDIRECT et ADRESSE

en gros ça donnerais :

=INDIRECT(ADRESSE(EQUIV(E14;plage1;0);EQUIV(D14;plage2;0)))

isabelle



=RECHERCHEV(E14;'grille tarifaire'!B6:G10;RECHERCHEH(D14;'grille
tarifaire'!B6:G10))

bonjour,

pour ma recherche peut-être est-ce plus commode de la faire par le biais
d'une macro, les explications sont sur ma question RECHERCHE V+H, mais en
gros elle consiste à me renvoyer la valeur d'une cellule d'un tableau
correspondant à une recherche de colonne et de ligne et ma valeur est
l'intersection de cette recherche.

Merci
Céline





Avatar
isabelle
Merci Isabelle, je vais fouiller, mais j'avoue qu'étant donné que ce sont des
fonctions que je ne connais pas ça va pas être simple pour moi !!!
Par contre il faut que je le fasse (on me demande de le faire) juste par des
fonctions et non pas par macro.

Isa si tu as plus d'aide à me donner encore ce serait super cool !!


si tu peut me donner un petit exemple de tes données et leurs dispositions, cela serait plus facile à expliquer.

en attendant voici les méthodes pour ces fonctions :

­RESSE(numéro_de_ligne;numéro_de_colonne)
­RESSE(1;2) retourne la valeur $B$1

si la cellule $B$1 est égale à "zaza"
=INDIRECT(ADRESSE(numéro_de_ligne;numéro_de_colonne))
=INDIRECT($B$1)
ou
=INDIRECT(ADRESSE(1;2))
retourne la valeur "zaza"

la fonction suivante est un peut comme la fonction RECHERCHE
mais elle retourne le numéro de ligne ou de colonne, ou la Valeur_Recherché a été trouvé.
la Plage_De_Recherche doit être une seule ligne ou une seule colonne.

=EQUIV(Valeur_Recherché;Plage_De_Recherche);0)

donc on remplace "numéro_de_ligne" et "numéro_de_colonne" dans cette formule :
=INDIRECT(ADRESSE(numéro_de_ligne;numéro_de_colonne))
par la fonction EQUIV, ce qui donne :

=INDIRECT(ADRESSE(EQUIV(Valeur_Recherché;Plage_De_Recherche);0);EQUIV(Valeur_Recherché;Plage_De_Recherche);0)))

isabelle

Avatar
Céline
Isa,

ça ne marche pas, au mieux il me renvoie une valeur 0 sinon que des #N/A ou
#VALEUR!

Céline




Merci Isabelle, je vais fouiller, mais j'avoue qu'étant donné que ce sont des
fonctions que je ne connais pas ça va pas être simple pour moi !!!
Par contre il faut que je le fasse (on me demande de le faire) juste par des
fonctions et non pas par macro.

Isa si tu as plus d'aide à me donner encore ce serait super cool !!


si tu peut me donner un petit exemple de tes données et leurs dispositions, cela serait plus facile à expliquer.

en attendant voici les méthodes pour ces fonctions :

­RESSE(numéro_de_ligne;numéro_de_colonne)
­RESSE(1;2) retourne la valeur $B$1

si la cellule $B$1 est égale à "zaza"
=INDIRECT(ADRESSE(numéro_de_ligne;numéro_de_colonne))
=INDIRECT($B$1)
ou
=INDIRECT(ADRESSE(1;2))
retourne la valeur "zaza"

la fonction suivante est un peut comme la fonction RECHERCHE
mais elle retourne le numéro de ligne ou de colonne, ou la Valeur_Recherché a été trouvé.
la Plage_De_Recherche doit être une seule ligne ou une seule colonne.

=EQUIV(Valeur_Recherché;Plage_De_Recherche);0)

donc on remplace "numéro_de_ligne" et "numéro_de_colonne" dans cette formule :
=INDIRECT(ADRESSE(numéro_de_ligne;numéro_de_colonne))
par la fonction EQUIV, ce qui donne :

=INDIRECT(ADRESSE(EQUIV(Valeur_Recherché;Plage_De_Recherche);0);EQUIV(Valeur_Recherché;Plage_De_Recherche);0)))

isabelle




Avatar
isabelle
montre moi la formule que tu as fais,

isabelle


Isa,

ça ne marche pas, au mieux il me renvoie une valeur 0 sinon que des #N/A ou
#VALEUR!

Céline





Merci Isabelle, je vais fouiller, mais j'avoue qu'étant donné que ce sont des
fonctions que je ne connais pas ça va pas être simple pour moi !!!
Par contre il faut que je le fasse (on me demande de le faire) juste par des
fonctions et non pas par macro.

Isa si tu as plus d'aide à me donner encore ce serait super cool !!


si tu peut me donner un petit exemple de tes données et leurs dispositions, cela serait plus facile à expliquer.

en attendant voici les méthodes pour ces fonctions :

­RESSE(numéro_de_ligne;numéro_de_colonne)
­RESSE(1;2) retourne la valeur $B$1

si la cellule $B$1 est égale à "zaza"
=INDIRECT(ADRESSE(numéro_de_ligne;numéro_de_colonne))
=INDIRECT($B$1)
ou
=INDIRECT(ADRESSE(1;2))
retourne la valeur "zaza"

la fonction suivante est un peut comme la fonction RECHERCHE
mais elle retourne le numéro de ligne ou de colonne, ou la Valeur_Recherché a été trouvé.
la Plage_De_Recherche doit être une seule ligne ou une seule colonne.

=EQUIV(Valeur_Recherché;Plage_De_Recherche);0)

donc on remplace "numéro_de_ligne" et "numéro_de_colonne" dans cette formule :
=INDIRECT(ADRESSE(numéro_de_ligne;numéro_de_colonne))
par la fonction EQUIV, ce qui donne :

=INDIRECT(ADRESSE(EQUIV(Valeur_Recherché;Plage_De_Recherche);0);EQUIV(Valeur_Recherché;Plage_De_Recherche);0)))

isabelle






Avatar
Céline
j'en ai fait plusieurs !!

=INDIRECT(ADRESSE(EQUIV(D33;'grille tarifaire'!C2:G2);EQUIV('proposition
juin 2006'!E33;'grille tarifaire'!B3:B6)))
là j'ai un renvoi 0

=INDIRECT(ADRESSE(EQUIV(D32;'grille tarifaire'!B2:G6);0)*EQUIV('proposition
juin 2006'!E32;'grille tarifaire'!B2:G6);0)
là j'ai un #N/A

=INDIRECT(ADRESSE(RECHERCHEV(E34;'grille
tarifaire'!B2:G6;);RECHERCHEH('proposition juin 2006'!D34;'grille
tarifaire'!B2:G6;)))
là j'ai un #VALEUR!

Mais tout ça doit être proche du but, c'est bête hein !!!

Céline



montre moi la formule que tu as fais,

isabelle


Isa,

ça ne marche pas, au mieux il me renvoie une valeur 0 sinon que des #N/A ou
#VALEUR!

Céline





Merci Isabelle, je vais fouiller, mais j'avoue qu'étant donné que ce sont des
fonctions que je ne connais pas ça va pas être simple pour moi !!!
Par contre il faut que je le fasse (on me demande de le faire) juste par des
fonctions et non pas par macro.

Isa si tu as plus d'aide à me donner encore ce serait super cool !!


si tu peut me donner un petit exemple de tes données et leurs dispositions, cela serait plus facile à expliquer.

en attendant voici les méthodes pour ces fonctions :

­RESSE(numéro_de_ligne;numéro_de_colonne)
­RESSE(1;2) retourne la valeur $B$1

si la cellule $B$1 est égale à "zaza"
=INDIRECT(ADRESSE(numéro_de_ligne;numéro_de_colonne))
=INDIRECT($B$1)
ou
=INDIRECT(ADRESSE(1;2))
retourne la valeur "zaza"

la fonction suivante est un peut comme la fonction RECHERCHE
mais elle retourne le numéro de ligne ou de colonne, ou la Valeur_Recherché a été trouvé.
la Plage_De_Recherche doit être une seule ligne ou une seule colonne.

=EQUIV(Valeur_Recherché;Plage_De_Recherche);0)

donc on remplace "numéro_de_ligne" et "numéro_de_colonne" dans cette formule :
=INDIRECT(ADRESSE(numéro_de_ligne;numéro_de_colonne))
par la fonction EQUIV, ce qui donne :

=INDIRECT(ADRESSE(EQUIV(Valeur_Recherché;Plage_De_Recherche);0);EQUIV(Valeur_Recherché;Plage_De_Recherche);0)))

isabelle









Avatar
isabelle
j'avais mentionner :

la Plage_De_Recherche doit être une seule ligne ou une seule colonne.


'grille tarifaire'!C2:G2
ne peut pas fonctionner car la Plage_De_Recherche comporte 5 colonnes.

si c'est parce que tu ne sais pas d'avance dans quel colonne tu dois chercher,
ça ne pourra pas fonctionner, même avec la fonction RECHERCHE qui
elle recherche toujours dans la première colonne de la plage.


isabelle


j'en ai fait plusieurs !!

=INDIRECT(ADRESSE(EQUIV(D33;'grille tarifaire'!C2:G2);EQUIV('proposition
juin 2006'!E33;'grille tarifaire'!B3:B6)))
là j'ai un renvoi 0

=INDIRECT(ADRESSE(EQUIV(D32;'grille tarifaire'!B2:G6);0)*EQUIV('proposition
juin 2006'!E32;'grille tarifaire'!B2:G6);0)
là j'ai un #N/A

=INDIRECT(ADRESSE(RECHERCHEV(E34;'grille
tarifaire'!B2:G6;);RECHERCHEH('proposition juin 2006'!D34;'grille
tarifaire'!B2:G6;)))
là j'ai un #VALEUR!

Mais tout ça doit être proche du but, c'est bête hein !!!

Céline




montre moi la formule que tu as fais,

isabelle



Isa,

ça ne marche pas, au mieux il me renvoie une valeur 0 sinon que des #N/A ou
#VALEUR!

Céline






Merci Isabelle, je vais fouiller, mais j'avoue qu'étant donné que ce sont des
fonctions que je ne connais pas ça va pas être simple pour moi !!!
Par contre il faut que je le fasse (on me demande de le faire) juste par des
fonctions et non pas par macro.

Isa si tu as plus d'aide à me donner encore ce serait super cool !!


si tu peut me donner un petit exemple de tes données et leurs dispositions, cela serait plus facile à expliquer.

en attendant voici les méthodes pour ces fonctions :

­RESSE(numéro_de_ligne;numéro_de_colonne)
­RESSE(1;2) retourne la valeur $B$1

si la cellule $B$1 est égale à "zaza"
=INDIRECT(ADRESSE(numéro_de_ligne;numéro_de_colonne))
=INDIRECT($B$1)
ou
=INDIRECT(ADRESSE(1;2))
retourne la valeur "zaza"

la fonction suivante est un peut comme la fonction RECHERCHE
mais elle retourne le numéro de ligne ou de colonne, ou la Valeur_Recherché a été trouvé.
la Plage_De_Recherche doit être une seule ligne ou une seule colonne.

=EQUIV(Valeur_Recherché;Plage_De_Recherche);0)

donc on remplace "numéro_de_ligne" et "numéro_de_colonne" dans cette formule :
=INDIRECT(ADRESSE(numéro_de_ligne;numéro_de_colonne))
par la fonction EQUIV, ce qui donne :

=INDIRECT(ADRESSE(EQUIV(Valeur_Recherché;Plage_De_Recherche);0);EQUIV(Valeur_Recherché;Plage_De_Recherche);0)))

isabelle











Avatar
Céline
Oui
excuse j'avais vu, désolée, mais j'ai fait ensuite tellement de variante,
j'ai fait avec seleument une colonne que j'avais nommée et ça ne changeait
rien.

=INDIRECT(ADRESSE(EQUIV(D33;tbur);EQUIV('proposition juin 2006'!E33;nbur)))

Céline

j'avais mentionner :

la Plage_De_Recherche doit être une seule ligne ou une seule colonne.


'grille tarifaire'!C2:G2
ne peut pas fonctionner car la Plage_De_Recherche comporte 5 colonnes.

si c'est parce que tu ne sais pas d'avance dans quel colonne tu dois chercher,
ça ne pourra pas fonctionner, même avec la fonction RECHERCHE qui
elle recherche toujours dans la première colonne de la plage.


isabelle


j'en ai fait plusieurs !!

=INDIRECT(ADRESSE(EQUIV(D33;'grille tarifaire'!C2:G2);EQUIV('proposition
juin 2006'!E33;'grille tarifaire'!B3:B6)))
là j'ai un renvoi 0

=INDIRECT(ADRESSE(EQUIV(D32;'grille tarifaire'!B2:G6);0)*EQUIV('proposition
juin 2006'!E32;'grille tarifaire'!B2:G6);0)
là j'ai un #N/A

=INDIRECT(ADRESSE(RECHERCHEV(E34;'grille
tarifaire'!B2:G6;);RECHERCHEH('proposition juin 2006'!D34;'grille
tarifaire'!B2:G6;)))
là j'ai un #VALEUR!

Mais tout ça doit être proche du but, c'est bête hein !!!

Céline




montre moi la formule que tu as fais,

isabelle



Isa,

ça ne marche pas, au mieux il me renvoie une valeur 0 sinon que des #N/A ou
#VALEUR!

Céline






Merci Isabelle, je vais fouiller, mais j'avoue qu'étant donné que ce sont des
fonctions que je ne connais pas ça va pas être simple pour moi !!!
Par contre il faut que je le fasse (on me demande de le faire) juste par des
fonctions et non pas par macro.

Isa si tu as plus d'aide à me donner encore ce serait super cool !!


si tu peut me donner un petit exemple de tes données et leurs dispositions, cela serait plus facile à expliquer.

en attendant voici les méthodes pour ces fonctions :

­RESSE(numéro_de_ligne;numéro_de_colonne)
­RESSE(1;2) retourne la valeur $B$1

si la cellule $B$1 est égale à "zaza"
=INDIRECT(ADRESSE(numéro_de_ligne;numéro_de_colonne))
=INDIRECT($B$1)
ou
=INDIRECT(ADRESSE(1;2))
retourne la valeur "zaza"

la fonction suivante est un peut comme la fonction RECHERCHE
mais elle retourne le numéro de ligne ou de colonne, ou la Valeur_Recherché a été trouvé.
la Plage_De_Recherche doit être une seule ligne ou une seule colonne.

=EQUIV(Valeur_Recherché;Plage_De_Recherche);0)

donc on remplace "numéro_de_ligne" et "numéro_de_colonne" dans cette formule :
=INDIRECT(ADRESSE(numéro_de_ligne;numéro_de_colonne))
par la fonction EQUIV, ce qui donne :

=INDIRECT(ADRESSE(EQUIV(Valeur_Recherché;Plage_De_Recherche);0);EQUIV(Valeur_Recherché;Plage_De_Recherche);0)))

isabelle














Avatar
isabelle
le type ;0 à la fin de la fonction EQUIV est important car cela détermine si la valeur retourné sera exact ou non.
=INDIRECT(ADRESSE(EQUIV(D33;tbur;0);EQUIV('proposition juin 2006'!E33;nbur;0)))

voici un extrait de l'aide à ce sujet :

EQUIV(Valeur_Recherché;Plage_De_Recherche;type)

type est le nombre -1, 0 ou 1 qui indique comment Microsoft Excel doit procéder
pour comparer l'argument valeur_cherchée aux valeurs de l'argument matrice_recherche.

Si la valeur de l'argument type est 1, la fonction EQUIV trouve la valeur
la plus élevée qui est inférieure ou égale à celle de l'argument valeur_cherchée.
Les valeurs de l'argument matrice_recherche doivent être placées en ordre
croissant : ...-2, -1, 0, 1, 2, ..., A-Z, FAUX, VRAI.

Si la valeur de l'argument type est 0, la fonction EQUIV trouve la première valeur
exactement équivalente à celle de l'argument valeur_cherchée.
Les valeurs de l'argument matrice_recherche peuvent être placées dans un ordre quelconque.

Si la valeur de l'argument type est -1, la fonction EQUIV trouve la plus petite valeur
qui est supérieure ou égale à celle de l'argument valeur_cherchée.
Les valeurs de l'argument matrice_recherche doivent être placées en ordre
décroissant : VRAI, FAUX, Z-A, ..., 2, 1, 0, -1, -2, ..., et ainsi de suite.

Si l'argument type est omis, la valeur par défaut est 1.

isabelle




Oui
excuse j'avais vu, désolée, mais j'ai fait ensuite tellement de variante,
j'ai fait avec seleument une colonne que j'avais nommée et ça ne changeait
rien.

=INDIRECT(ADRESSE(EQUIV(D33;tbur);EQUIV('proposition juin 2006'!E33;nbur)))

Céline


j'avais mentionner :

la Plage_De_Recherche doit être une seule ligne ou une seule colonne.


'grille tarifaire'!C2:G2
ne peut pas fonctionner car la Plage_De_Recherche comporte 5 colonnes.

si c'est parce que tu ne sais pas d'avance dans quel colonne tu dois chercher,
ça ne pourra pas fonctionner, même avec la fonction RECHERCHE qui
elle recherche toujours dans la première colonne de la plage.


isabelle



j'en ai fait plusieurs !!

=INDIRECT(ADRESSE(EQUIV(D33;'grille tarifaire'!C2:G2);EQUIV('proposition
juin 2006'!E33;'grille tarifaire'!B3:B6)))
là j'ai un renvoi 0

=INDIRECT(ADRESSE(EQUIV(D32;'grille tarifaire'!B2:G6);0)*EQUIV('proposition
juin 2006'!E32;'grille tarifaire'!B2:G6);0)
là j'ai un #N/A

=INDIRECT(ADRESSE(RECHERCHEV(E34;'grille
tarifaire'!B2:G6;);RECHERCHEH('proposition juin 2006'!D34;'grille
tarifaire'!B2:G6;)))
là j'ai un #VALEUR!

Mais tout ça doit être proche du but, c'est bête hein !!!

Céline





montre moi la formule que tu as fais,

isabelle




Isa,

ça ne marche pas, au mieux il me renvoie une valeur 0 sinon que des #N/A ou
#VALEUR!

Céline








Merci Isabelle, je vais fouiller, mais j'avoue qu'étant donné que ce sont des
fonctions que je ne connais pas ça va pas être simple pour moi !!!
Par contre il faut que je le fasse (on me demande de le faire) juste par des
fonctions et non pas par macro.

Isa si tu as plus d'aide à me donner encore ce serait super cool !!


si tu peut me donner un petit exemple de tes données et leurs dispositions, cela serait plus facile à expliquer.

en attendant voici les méthodes pour ces fonctions :

­RESSE(numéro_de_ligne;numéro_de_colonne)
­RESSE(1;2) retourne la valeur $B$1

si la cellule $B$1 est égale à "zaza"
=INDIRECT(ADRESSE(numéro_de_ligne;numéro_de_colonne))
=INDIRECT($B$1)
ou
=INDIRECT(ADRESSE(1;2))
retourne la valeur "zaza"

la fonction suivante est un peut comme la fonction RECHERCHE
mais elle retourne le numéro de ligne ou de colonne, ou la Valeur_Recherché a été trouvé.
la Plage_De_Recherche doit être une seule ligne ou une seule colonne.

=EQUIV(Valeur_Recherché;Plage_De_Recherche);0)

donc on remplace "numéro_de_ligne" et "numéro_de_colonne" dans cette formule :
=INDIRECT(ADRESSE(numéro_de_ligne;numéro_de_colonne))
par la fonction EQUIV, ce qui donne :

=INDIRECT(ADRESSE(EQUIV(Valeur_Recherché;Plage_De_Recherche);0);EQUIV(Valeur_Recherché;Plage_De_Recherche);0)))

isabelle















Avatar
Céline
Isa,

j'ai fait aussi avec 0 ça me renvoi #N/A

=INDIRECT(ADRESSE(EQUIV(E35;nbur;0);EQUIV('proposition juin
2006'!D35;tbur;0)))

Céline


le type ;0 à la fin de la fonction EQUIV est important car cela détermine si la valeur retourné sera exact ou non.
=INDIRECT(ADRESSE(EQUIV(D33;tbur;0);EQUIV('proposition juin 2006'!E33;nbur;0)))

voici un extrait de l'aide à ce sujet :

EQUIV(Valeur_Recherché;Plage_De_Recherche;type)

type est le nombre -1, 0 ou 1 qui indique comment Microsoft Excel doit procéder
pour comparer l'argument valeur_cherchée aux valeurs de l'argument matrice_recherche.

Si la valeur de l'argument type est 1, la fonction EQUIV trouve la valeur
la plus élevée qui est inférieure ou égale à celle de l'argument valeur_cherchée.
Les valeurs de l'argument matrice_recherche doivent être placées en ordre
croissant : ...-2, -1, 0, 1, 2, ..., A-Z, FAUX, VRAI.

Si la valeur de l'argument type est 0, la fonction EQUIV trouve la première valeur
exactement équivalente à celle de l'argument valeur_cherchée.
Les valeurs de l'argument matrice_recherche peuvent être placées dans un ordre quelconque.

Si la valeur de l'argument type est -1, la fonction EQUIV trouve la plus petite valeur
qui est supérieure ou égale à celle de l'argument valeur_cherchée.
Les valeurs de l'argument matrice_recherche doivent être placées en ordre
décroissant : VRAI, FAUX, Z-A, ..., 2, 1, 0, -1, -2, ..., et ainsi de suite.

Si l'argument type est omis, la valeur par défaut est 1.

isabelle




Oui
excuse j'avais vu, désolée, mais j'ai fait ensuite tellement de variante,
j'ai fait avec seleument une colonne que j'avais nommée et ça ne changeait
rien.

=INDIRECT(ADRESSE(EQUIV(D33;tbur);EQUIV('proposition juin 2006'!E33;nbur)))

Céline


j'avais mentionner :

la Plage_De_Recherche doit être une seule ligne ou une seule colonne.


'grille tarifaire'!C2:G2
ne peut pas fonctionner car la Plage_De_Recherche comporte 5 colonnes.

si c'est parce que tu ne sais pas d'avance dans quel colonne tu dois chercher,
ça ne pourra pas fonctionner, même avec la fonction RECHERCHE qui
elle recherche toujours dans la première colonne de la plage.


isabelle



j'en ai fait plusieurs !!

=INDIRECT(ADRESSE(EQUIV(D33;'grille tarifaire'!C2:G2);EQUIV('proposition
juin 2006'!E33;'grille tarifaire'!B3:B6)))
là j'ai un renvoi 0

=INDIRECT(ADRESSE(EQUIV(D32;'grille tarifaire'!B2:G6);0)*EQUIV('proposition
juin 2006'!E32;'grille tarifaire'!B2:G6);0)
là j'ai un #N/A

=INDIRECT(ADRESSE(RECHERCHEV(E34;'grille
tarifaire'!B2:G6;);RECHERCHEH('proposition juin 2006'!D34;'grille
tarifaire'!B2:G6;)))
là j'ai un #VALEUR!

Mais tout ça doit être proche du but, c'est bête hein !!!

Céline





montre moi la formule que tu as fais,

isabelle




Isa,

ça ne marche pas, au mieux il me renvoie une valeur 0 sinon que des #N/A ou
#VALEUR!

Céline








Merci Isabelle, je vais fouiller, mais j'avoue qu'étant donné que ce sont des
fonctions que je ne connais pas ça va pas être simple pour moi !!!
Par contre il faut que je le fasse (on me demande de le faire) juste par des
fonctions et non pas par macro.

Isa si tu as plus d'aide à me donner encore ce serait super cool !!


si tu peut me donner un petit exemple de tes données et leurs dispositions, cela serait plus facile à expliquer.

en attendant voici les méthodes pour ces fonctions :

­RESSE(numéro_de_ligne;numéro_de_colonne)
­RESSE(1;2) retourne la valeur $B$1

si la cellule $B$1 est égale à "zaza"
=INDIRECT(ADRESSE(numéro_de_ligne;numéro_de_colonne))
=INDIRECT($B$1)
ou
=INDIRECT(ADRESSE(1;2))
retourne la valeur "zaza"

la fonction suivante est un peut comme la fonction RECHERCHE
mais elle retourne le numéro de ligne ou de colonne, ou la Valeur_Recherché a été trouvé.
la Plage_De_Recherche doit être une seule ligne ou une seule colonne.

=EQUIV(Valeur_Recherché;Plage_De_Recherche);0)

donc on remplace "numéro_de_ligne" et "numéro_de_colonne" dans cette formule :
=INDIRECT(ADRESSE(numéro_de_ligne;numéro_de_colonne))
par la fonction EQUIV, ce qui donne :

=INDIRECT(ADRESSE(EQUIV(Valeur_Recherché;Plage_De_Recherche);0);EQUIV(Valeur_Recherché;Plage_De_Recherche);0)))

isabelle


















1 2