Erreur Range() / Value

Maxpuff

XLDnaute Junior
Bonjour,
J'ai une erreur qui est assez surprenante car elle ne s'applique pas partout.
Voici le code:

:DRange("E28").Value = "=[A.xlsx]Accounts!$S$206"
:mad:Range("E29").Value = "=[A.xlsx]Accounts!Achat DECALER([A.xlsx]Accounts!A:A;;EQUIV(2009;[A.xlsx]Accounts!1:1;0)-1)"

La première ligne mets la formule dans la cellule et affiche bien le résultat. La seconde ligne ne fonctionne pas alors que l'opération revient à faire la même chose...
Par contre si j'enlève le signe = ce qui me donne:

:DRange("E29").Value = "[A.xlsx]Accounts!Achat DECALER([A.xlsx]Accounts!A:A;;EQUIV(2009;[A.xlsx]Accounts!1:1;0)-1)"

Cela fonctionne (m'affiche tout le texte) et ensuite quand je mets à la main le signe = dans la cellule, le résultat s'affiche correctement.

Je ne vois pas où se trouve l'erreur puisque le signe = ne pose pas problème dans la première expression.
 
Dernière édition:

Maxpuff

XLDnaute Junior
Re : Erreur Range() / Value

Oui c'est ça, j'essaie de trouver la valeur pour:
- Ligne nommée Achat
- Colonne dont la valeur en première ligne = 2009
- Feuille Accounts
- Fichier A.xlsx

Ce que tu proposes c'est ce que j'ai essayé et malheureusement cela ne fonctionne pas...
 

ERIC S

XLDnaute Barbatruc
Re : Erreur Range() / Value

re

c'est la syntaxe que je ne comprends pas..:confused:

le "Achat Decaler"

un exemple m'aiderait sans doute

j'ai écrit dans un fichier, en feuil2, en ayant nommé une ligne Achat :
=DECALER(Feuil1!$A$1;LIGNE(achat)-1;EQUIV(2009;Feuil1!$1:$1;0)-1)

par enregistreur macro cela donne
'
ActiveCell.FormulaR1C1 = _
"=OFFSET(Feuil1!R1C1,ROW(achat)-1,MATCH(2009,Feuil1!R1,0)-1)"
sans erreur
 
Dernière édition:

Maxpuff

XLDnaute Junior
Re : Erreur Range() / Value

En fait ca permet de renvoyer la bonne colonne.
C'est comme si j'avais une ligne qui s'appelle "Achat" (ex: ligne 324) et une colonne qui s'appelle "Annee2009" (ex: colonne F) et quand je tape dans une cellule "=Achat Annee2009", cela me met la valeur de la cellule F324.
Donc ici :
- Achat <-> [A.xlsx]Accounts!Achat
- Annee2009 <-> DECALER([A.xlsx]Accounts!A:A;;EQUIV(2009;[A.xlsx]Accounts!1:1;0)-1)

Après si tu veux savoir comment fonctionne ce qu'il y a à l'intérieur de DECALER je ne peux pas trop t'expliquer. C'est mister Job75 qui m'a gentiment donné cette astuce dans le post suivant:
https://www.excel-downloads.com/threads/nom-cellule-linke-entre-deux-fichiers.119581/

voila
 

job75

XLDnaute Barbatruc
Re : Erreur Range() / Value

Bonsoir Maxpuff, Eric,

Ca m...ouille pas mal sur ce fil, pourtant ce n'est pas bien compliqué :

Code:
Range("E29").[COLOR="Red"]FormulaLocal[/COLOR] = "=[A.xlsx]Accounts!Achat DECALER([A.xlsx]Accounts!A:A;;EQUIV(2009;[A.xlsx]Accounts!1:1;0)-1)"

A+
 

Discussions similaires

Réponses
9
Affichages
113

Statistiques des forums

Discussions
312 764
Messages
2 091 864
Membres
105 084
dernier inscrit
lca.pertus