Recherchev + #REF!

MONTOYA316

XLDnaute Nouveau
Bonjour,

Je me permets de vous soumettre ma difficulté car je ne trouve pas de réponse sur le web.

Ma difficulté se situe au niveau d'une formule recherchev lors de la mise à jour d'une base.

En effet, j'ai 2 onglets dans un fichier excel : l'un s'appelle "base" et l'autre "CPA"
Dans l'onglet "CPA" j'ai des formules recherchev qui cherchent des informations dans l'onglet "base" avec une plage fixe sécurisée par des $$.
=SI($A2<>"";RECHERCHEV($A2;base!$A$1:$S$8980;3;FAUX))

Jusque là rien de bien extraordinaire.

En revanche, à chaque ouverture du fichier, je lance une macro qui "vide" l'onglet "base" sans le supprimer bien sur et qui mets à jour cet onglet avec de nouvelles informations.

Mon souci c'est qu'au moment de cette mise à jour, dans l'onglet "CPA" la partie table_matrice de la formule recherchev se transforme en anomalie #REF!

=SI($A2<>"";RECHERCHEV($A2;base!#REF!;3;FAUX))

et toutes mes formules sont à refaire !!!

Pourriez-vous m'aider svp !

Cordialement,
 
G

Guest

Guest
Re : Recherchev + #REF!

Bonjour et bienvenue sur le forum,

Dans la macro qui vide" l'onglet "base rajouter en haut( juste avant les instructions qui vident les cellules:)

'Arrête le calcul automatique
Application.Calculation = xlCalculationManual

Et en fin de macro

'Remet le calcul automatique
Application.Calculation = xlCalculationAutomatic


A+
 

JNP

XLDnaute Barbatruc
Re : Recherchev + #REF!

Bonjour le fil :),
Quand tu dis "vide" l'onglet "base" sans le supprimer, est-ce que ta macro utilise bien Clear ou ClearContents et non Delete ? Car pour récupérer un #REF!, il faut que ta plage de cellules ait été supprimée :rolleyes:...
Bon courage :cool:
Ajout : Bonjour Job75 :), pas plus lent, tu as aussi cherché du côté de la formule avec Indirect :rolleyes:...
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Recherchev + #REF!

Bonjour MONTOYA316, salut Hasco,

A l'ouverture les cellules base!$A$1:$S$8980 sont sans doute supprimées par une instruction comme :

plage.Delete

Il faudrait les "vider" par plage.Clear ou plage.ClearContents

SI vous tenez absolument à supprimer les cellules, il faut modifier la formule :

=SI($A2<>"";RECHERCHEV($A2;INDIRECT("base!A1:S8980");3;FAUX))

Edit : salut Jean-Noël, même réflexe, mais à mon âge c'est plus lent :)

A+
 
Dernière édition:

MONTOYA316

XLDnaute Nouveau
Re : Recherchev + #REF!

Merci à tous !

Avec calcul manuel cela ne marchait pas
Par contre j'avais un .Delete au lieu d'un .ClearContents

Maintenant ça marche

Super forum et très bonne réactivité et participation des membres.
Gardez cette passion !!!

Cdlt
Jimo
 

Discussions similaires

Statistiques des forums

Discussions
312 329
Messages
2 087 334
Membres
103 519
dernier inscrit
Thomas_grc11