XL 2013 Créer une formule RechercheV dans une celui en VBA

Helios77

XLDnaute Nouveau
Bonjour à Tous,
Et déjà une bonne Pâques !

Soit le problème suivant :
Le contenu "PAR DEFAUT" d'une des cellules (G12) de mon classeur est la formule RECHERCHEV suivante : =RECHERCHEV(C12;[Facturation.xlsm]Stock!$A: D;4) <= J'ai mis un espace devant le D sinon l'éditeur remplace le 'deux points D' par un émoticône :D, mais dans ma formule cette espace n'existe pas bien sûr
Cette formule fonctionne parfaitement bien. Au cas où, Je précise qu'il s'agit d'une rechercheV dans un tableau d'un autre classeur (facturation déjà ouvert)

Pour des raisons de souplesse d'utilisation je peux être amené à devoir saisir manuellement le contenu de cette Cellule, et en effacer ainsi sa formule.

Cependant, j'ai besoin de régénérer cette formule pour la prochaine ouverture de mon fichier et retrouver ainsi le contenu par défaut.
Je souhaite donc créé une macro qui s'exécutera dès l'ouverture du fichier pour régénérer cette formule, mais je pense avoir tout essayé, rien n'y fait, j'ai toujours une erreur de syntaxe ou une erreur 1004.

Le code qui se rapproche le plus de ce que je voudrais est celui-ci : Cells(12, 8).FormulaR1C1 = "=RECHERCHEV(RC[-4],[Facturation.xlsm]Stock!$A: D,4)" mais dans ma cellule je récupère ceci : =RECHERCHEV(C12;[Facturation.xlsm]Stock!A: (D);4)

C'est proche de l'attendu mais le D est entre parenthèses et il manque le A$ donc cela ne fonctionne pas.
J'ai tenté également la fonction lookup c'était pire.
Il s'agit donc surtout d'un souci de synthaxe mais là je sèche. Si Quelqu'un veut bien me donner un coup de main je l'en remercie d'avance.

Cordialement
Helios
 
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Helios,
A l'enregistreur j'obtiens ça :
VB:
Range("G12").FormulaR1C1 = "=VLOOKUP(RC[-4],[Facturation.xlsm]Stock!C[-6]:C[-3],4)"
Essayez.
Chez moi, le collage donne bien en G12 :
Code:
=RECHERCHEV(C12;[Facturation.xlsm]Stock!A:D;4)

( NB : G12 c'est cells(12,7) et non cells(12,8) :) )
 

Helios77

XLDnaute Nouveau
Oui ça je savais ! Merci... Mais là je craque.... EN fait je n'avais donné qu'une partie de la formule pensant que je saurais me sortir du problème seul, mais je crois que j'ai présumé de mes capacités.
La formule totale que je souhaite regénérer est la suivante :
=SI(C12="";"";SI(ESTVIDE(F12);RECHERCHEV(C12;[Facturation.xlsm]Stock!$A: D;4);0))
Mais rien n'y fait...
Merci de ton aide.
Amicalement
Helios
 

Discussions similaires

Réponses
3
Affichages
150

Statistiques des forums

Discussions
311 725
Messages
2 081 940
Membres
101 845
dernier inscrit
annesof