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

equiv (match) en code

4 réponses
Avatar
patrick
bonjour,
je suis confronfé à un problème
si la cellule cherchee contient du texte instruction1 marche
mais la 2eme renvoie une erreur
'instruction1
rep = Evaluate("MATCH(" & """" & cellule & """" & ",plage2 ,0)")

pour du numerique c'est l'instruction2 qui marche et la 1ere
qui renvoie une erreur
'instruction2
rep = Evaluate("MATCH(" & cellule & ",plage2 ,0)")

j'aimerais bien comprendre le pourquoi
merci
patrick

4 réponses

Avatar
Pierre Fauconnier
Bonjour

La syntaxte de MATCH est MATCH("Blabla",Plage,0)

Comme tu insères cette syntaxe dans une chaine de caractères, requise par
EVALUATE, tu dois doubler les guillemets à l'intérieur de la chaîne pour que
VBA les intérprète comme des caractères et non comme des signes de début et
de fin de chaîne.

Tu pourrais raccourcir un poil
EVALUATE("MATCH(""" & cellule & """, plage2,0)")

Ok?


--
Pierre Fauconnier ()
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci



"patrick" a écrit dans le message de
news: 4281ccae$
bonjour,
je suis confronfé à un problème
si la cellule cherchee contient du texte instruction1 marche
mais la 2eme renvoie une erreur
'instruction1
rep = Evaluate("MATCH(" & """" & cellule & """" & ",plage2 ,0)")

pour du numerique c'est l'instruction2 qui marche et la 1ere
qui renvoie une erreur
'instruction2
rep = Evaluate("MATCH(" & cellule & ",plage2 ,0)")

j'aimerais bien comprendre le pourquoi
merci
patrick




Avatar
patrick
Re
merci Pierre
j'ai essaye avec ta formule raccourci
cela fonctionne seulement avec du texte
on ne peut pas faire une seule instruction
pour les 2 cas.
J'avoue , j'ai du mal à comprendre

patrick

"Pierre Fauconnier" a écrit dans le
message news:
Bonjour

La syntaxte de MATCH est MATCH("Blabla",Plage,0)

Comme tu insères cette syntaxe dans une chaine de caractères, requise par
EVALUATE, tu dois doubler les guillemets à l'intérieur de la chaîne pour
que

VBA les intérprète comme des caractères et non comme des signes de début
et

de fin de chaîne.

Tu pourrais raccourcir un poil
EVALUATE("MATCH(""" & cellule & """, plage2,0)")

Ok?


--
Pierre Fauconnier ()
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin (
proverbe

zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci



"patrick" a écrit dans le message de
news: 4281ccae$
bonjour,
je suis confronfé à un problème
si la cellule cherchee contient du texte instruction1 marche
mais la 2eme renvoie une erreur
'instruction1
rep = Evaluate("MATCH(" & """" & cellule & """" & ",plage2 ,0)")

pour du numerique c'est l'instruction2 qui marche et la 1ere
qui renvoie une erreur
'instruction2
rep = Evaluate("MATCH(" & cellule & ",plage2 ,0)")

j'aimerais bien comprendre le pourquoi
merci
patrick








Avatar
Pierre Fauconnier
Bonjour

Utilise ceci

Dim ValeurCherchee As Variant
Dim Plage As Range

set Plage = ...
valeurcherchee = """MArtine""" ' Valeur texte

ou

valeurcherchee = 76 ' Valeur numérique

Evaluate("match(" & ValeurCherchee & "," & Plage.Address & ",0)")


Ok?


--
Pierre Fauconnier ()
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"patrick" a écrit dans le message de
news: 4281d31e$
Re
merci Pierre
j'ai essaye avec ta formule raccourci
cela fonctionne seulement avec du texte
on ne peut pas faire une seule instruction
pour les 2 cas.
J'avoue , j'ai du mal à comprendre

patrick

"Pierre Fauconnier" a écrit dans le
message news:
Bonjour

La syntaxte de MATCH est MATCH("Blabla",Plage,0)

Comme tu insères cette syntaxe dans une chaine de caractères, requise par
EVALUATE, tu dois doubler les guillemets à l'intérieur de la chaîne pour
que

VBA les intérprète comme des caractères et non comme des signes de début
et

de fin de chaîne.

Tu pourrais raccourcir un poil
EVALUATE("MATCH(""" & cellule & """, plage2,0)")

Ok?


--
Pierre Fauconnier ()
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin (
proverbe

zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci



"patrick" a écrit dans le message de
news: 4281ccae$
bonjour,
je suis confronfé à un problème
si la cellule cherchee contient du texte instruction1 marche
mais la 2eme renvoie une erreur
'instruction1
rep = Evaluate("MATCH(" & """" & cellule & """" & ",plage2 ,0)")

pour du numerique c'est l'instruction2 qui marche et la 1ere
qui renvoie une erreur
'instruction2
rep = Evaluate("MATCH(" & cellule & ",plage2 ,0)")

j'aimerais bien comprendre le pourquoi
merci
patrick












Avatar
patrick
Merci de ces précisions
ça commence à s'éclaircir
je vais me faire plusieurs exemples
pour l'assimiler

@+
patrick

"Pierre Fauconnier" a écrit dans le
message news:
Bonjour

Utilise ceci

Dim ValeurCherchee As Variant
Dim Plage As Range

set Plage = ...
valeurcherchee = """MArtine""" ' Valeur texte

ou

valeurcherchee = 76 ' Valeur numérique

Evaluate("match(" & ValeurCherchee & "," & Plage.Address & ",0)")


Ok?


--
Pierre Fauconnier ()
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin (
proverbe

zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"patrick" a écrit dans le message de
news: 4281d31e$
Re
merci Pierre
j'ai essaye avec ta formule raccourci
cela fonctionne seulement avec du texte
on ne peut pas faire une seule instruction
pour les 2 cas.
J'avoue , j'ai du mal à comprendre

patrick

"Pierre Fauconnier" a écrit dans le
message news:
Bonjour

La syntaxte de MATCH est MATCH("Blabla",Plage,0)

Comme tu insères cette syntaxe dans une chaine de caractères, requise
par



EVALUATE, tu dois doubler les guillemets à l'intérieur de la chaîne
pour



que
VBA les intérprète comme des caractères et non comme des signes de
début



et
de fin de chaîne.

Tu pourrais raccourcir un poil
EVALUATE("MATCH(""" & cellule & """, plage2,0)")

Ok?


--
Pierre Fauconnier ()
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin (
proverbe

zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci



"patrick" a écrit dans le message
de



news: 4281ccae$
bonjour,
je suis confronfé à un problème
si la cellule cherchee contient du texte instruction1 marche
mais la 2eme renvoie une erreur
'instruction1
rep = Evaluate("MATCH(" & """" & cellule & """" & ",plage2 ,0)")

pour du numerique c'est l'instruction2 qui marche et la 1ere
qui renvoie une erreur
'instruction2
rep = Evaluate("MATCH(" & cellule & ",plage2 ,0)")

j'aimerais bien comprendre le pourquoi
merci
patrick