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
198

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16