VBA - Forcer le calcul des cellules contenant une RECHERCHEV (affichage de #NOM)

atomic

XLDnaute Nouveau
Bonjour à tous,

Je vous soumet un problème qui me semblais simple mais que je n'arrive pas à résoudre:
J'ai créé une boucle pour placer des recherchev dans une colonne :

Dim ligne As Integer
ligne = 2
Do Until IsEmpty(Cells(ligne, 1)) = True
Cells(ligne, 7).Select
Calculate
ActiveCell.Formula = "=RECHERCHEV(D2," & fichier1 & ",4,FALSE)"
Calculate
Cells(ligne, 7).Select
ligne = ligne + 1
Loop


Cette macro fonctionne très bien mais il faut à chaque fois forcer le calcul en double-cliquant sur chaque cellule.
Sans double-clic: c'est "#NOM?" qui s'affiche.
Avec double-clic c'est le résultat réel de la rechercheV qui s'affiche (correct).
 

atomic

XLDnaute Nouveau
Re : VBA - Forcer le calcul des cellules contenant une RECHERCHEV (affichage de #NOM)

Bonjour Pierrot,

Désolé mais le "ActiveSheet.Calculate" n'a rien changé et l'option "calcul manuel" n'est pas coché dans les options. J'en ai profité pour essayer de cocher le "calcul iteratif" mais sans succes non plus.

Par contre, lorsque je clique sur l'option "modifier dans la barre de formule" dans le triangle vert qui apparait au coin de la cellule, le résultat apparait. Si on pouvait traduire ça en vba...
 

Pierrot93

XLDnaute Barbatruc
Re : VBA - Forcer le calcul des cellules contenant une RECHERCHEV (affichage de #NOM)

Re,

regarde peut être dui coté du format de tes cellules.... perso pas d'autre idée, suis pas trop formuliste, de ce fait n'envoie pas trop des forumes via vba dans des cellules... en l'état j'utiliserais plutôt la méthode "find"...
 

tototiti2008

XLDnaute Barbatruc
Re : VBA - Forcer le calcul des cellules contenant une RECHERCHEV (affichage de #NOM)

Bonjour atomi, Bonjour Pierrot :)

Le problème vient du fait que tu écris une formule en français dans la propriété Formula de ta cellule
Il faut soit mettre une formule en anglais dans Formula, soit mettre la formule en français dans FormulaLocal

Code:
ActiveCell.Formula = "=VLOOKUP(D2," & fichier1 & ",4,FALSE)"
ou

Code:
ActiveCell.FormulaLocal = "=RECHERCHEV(D2;" & fichier1 & ";4;FAUX)"
 

atomic

XLDnaute Nouveau
Re : VBA - Forcer le calcul des cellules contenant une RECHERCHEV (affichage de #NOM)

Cool, ça fonctionne!! Merci tototiti2008 !!
C'était bien ça en effet: j'ai utilisé ta "Formulalocal" et ça fonctionne très bien en effet.
J'avais pourtant essayé le VLOOKUP aussi au début mais sans succès... j'avais dû faire une fausse manip' sans doute.
Merci à vous 2 en tout cas pour le temps passé à me répondre :cool:!
 

Discussions similaires

Statistiques des forums

Discussions
312 206
Messages
2 086 220
Membres
103 158
dernier inscrit
laufin