Problème de macro lié a RECHERCHEV

Bonjour, je rencontre un problème persistant quant à l'utilisation de la formule RECHERCHEV dont j'espere quelqu'un viendra à bout.

J'ai quelques commandes qui s'opèrent bien puis voici la commande qui pose problème dans VBA :

Code_Postal = "=RECHERCHEV(LC(1);Feuil1!L12C2:L500C4;2;vrai)".

NB : Cette formule fait bel et bien ce que je souhaite inutile que je le détail ici car le problème est ailleurs, j'y viens.

Voici alors ce qui s'affiche dans ma cellule :

#NOM? et dans le détai:l =RECHERCHEV('LC'(1);Feuil1!'L12C2':'L500C4';2;VRAI)

Vous remarquerez alors la présence de guillemets qui sont l'essence même de mon problème. En effet quand je les retire manuellement tout s'effectue parfaitement.

Il n'y a donc pas de soucis avec ma formule et pourtant quand ma macro s'éxecute je n'ai jamais le résultat de la formule car des guillemets s'immiscent autour de l'adresse des cellules.

Merci d'avance.

Es-tu sûr qu'il ne faille pas mettre FAUX ?

=RECHERCHEV(LC(1);Feuil1!L12C2:L500C4;2;Faux)

Bon, si ce n'est pas le problème, passons.

Pour les guillemets, je te conseille de taper la formule en étant en apprentissage de macro. Tu auras la bonne écriture.

Mets un extrait de ton fichier ...

Merci pour ta réponse mais le problème ne vient pas de là.

J'obtient toujours #NOM? et que je regarde le détail de la cellule :

=RECHERCHEV('LC'(1);Feuil1!'L12C2':'L500C4';2;FAUX)

Toujours ces maudits guillemets qui bloque l'exécution de la formule ...

Mets un bout de fichier

ou

Tape la formule ne apprentissage ...

Je ne peux malheureusement pas mettre un bout de fichier.

Qu'entendez-vous par taper la formule "en apprentissage de macro" ??

Bonjour, Salut Steelson !

J'ai toujours vu des crochets dans les formules en style L1C1, là où tu mets des parenthèses ?

Et en principe on affecte une formule avec .Formula, ici : .FormulaR1C1Local, bien que VBA ou Excel soit un peu laxiste en ce domaine...

Cordialement.

Bonjour, merci de votre réponse.

Les crochets n'ont pas fonctionné et encore une fois je précise que la formule fonctionne parfaitement quand je l'effectue directement dans la feuille de calcul mais en passant par la macro elle ne s'exécute pas correctement.

Bonjour MFerrand,

je suis extrêmement surpris en effet de ne pas voir FormulaR1C1Local ou FormulaR1C1 !!

parce que je ne pense pas qu'on puisse affecter comme cela une formule, mais je peux me tromper, reste à tester sur le fichier !!

nevest a écrit :

Je ne peux malheureusement pas mettre un bout de fichier.

Qu'entendez-vous par taper la formule "en apprentissage de macro" ??

Suffit de faire une copie anonymisée

P.

Re Steelson,

Comme toi ! Sans utiliser Formula ou une de ses alternatives, j'ai toujours eu une erreur. Par contre, j'ai eu vu des formules en style A1 passées avec FormulaR1C1 sans qu'Excel renâcle, et l'inverse, des styles L1C1 passées avec Formula, aussi des matricielles acceptées en style A1 avec FormulaArray... ce qui me fait toujours un peu râler car à chaque que j'ai eu un écart de la sorte, je ne coupais pas d'une erreur ! J'ai croisé aussi un code avec une formule passée avec .Value dont l'intéressé disait que ca marchait ?

En tout cas, quand ça ne fonctionne pas, je crois qu'il est judicieux de revenir à la syntaxe officielle... !

nevest a écrit :

Qu'entendez-vous par taper la formule "en apprentissage de macro" ??

Fais "Enregistrer une macro"

Donne un nom bidon

Ensuite tape dans la case d'excel ta formule, pas dans l'éditeur de macro que tu oublies pour le moment.

Enfin tu cliques sur le carré noir ne bas à gauche qui signifie que l'apprentissage est terminé.

Et là tu vas voir ta formule, que tu peux retravailler, mais au moins tu es sûr qu'elle fonctionnera.

Steelson a écrit :

Bonjour MFerrand,

je suis extrêmement surpris en effet de ne pas voir FormulaR1C1Local ou FormulaR1C1 !!

parce que je ne pense pas qu'on puisse affecter comme cela une formule, mais je peux me tromper, reste à tester sur le fichier !!

Ben en fait, je fais le contraire de ce que je dis !

A mes débuts, j'avais créé un aspirateur de données en y mettant la formule sans le "="

Cells(cetteLigne, cetteColonne) = " '" & Repertoire & "\[" & fichier.Name & "]" & onglet & "'!" & cetteCellule.Value & " "

puis en activant les formules par

' activation de la formule en ajoutant =
Selection.Replace What:=" '", Replacement:="= '", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False

et cela fonctionne à merveille !!

Mais il ne faut pas généraliser ...

Je n'aurais pas pensé à un truc comme ça ! Mais des chemins détournés peuvent servir !

nevest a écrit :

Il n'y a donc pas de soucis avec ma formule et pourtant quand ma macro s'éxecute je n'ai jamais le résultat de la formule car des guillemets s'immiscent autour de l'adresse des cellules.

Merci d'avance.

Remplace ta macro par ceci :

[Ta_Cellule].FormulaR1C1 = "=VLOOKUP(RC[1],Feuil1!R12C2:R500C4,2,TRUE)"
Rechercher des sujets similaires à "probleme macro lie recherchev"