Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel
Excel Forum d'entraide sur Excel. Vos questions sur les fonctions, formules, manipulations, et tout sujet qui ne trouve pas sa place dans un sous-forum.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/01/2011, 18h39   #1
Membre du Club
 
Avatar de texas2607
 
Fred
Inscription : juillet 2006
Messages : 147
Détails du profil
Informations personnelles :
Nom : Fred
Localisation : France, Drôme (Rhône Alpes)

Informations forums :
Inscription : juillet 2006
Messages : 147
Points : 60
Points : 60
Par défaut Liaison externe sous Excel 2010

Bonsoir à tous et meilleurs voeux.
J'ai une feuille excel 2010 nommé "recap" qui possède différents calculs venant d'autre fichiers externes excel, or mon problème est le suivant :

En C7 j'ai la formule : ='[semaine 1.xlsx]vente'!$B$38 qui me permet de récupérer la valeur de B38 correspondant à la semaine 1

En D7 je dois mettre la formule : ='[semaine 2.xlsx]vente'!$B$38 afin de récupérer la valeur pour la semaine 2 et ainsi de suite pour toute l'année.
mais le problème est là, car cette feuille n'existe pas encore et sera créee a la fin de la semaine 2 et lorsque je mets la formule, Excel ouvre une boite de dialogue pour que je sélectionne le fichier semaine 2.xlsx qui est inexistant à ce jour....

Comment faire pour mettre une formule qui teste si un fichier existe et si oui alors extrait les valeurs.

Espérant avoir été clair dans mes explications,
D'avance merci
Fred
__________________
Loi des Évolutions synchronisées : Les logiciels deviennent de plus en plus lent, et ceci plus vite que le hardware ne devient plus rapide.
texas2607 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 13h53   #2
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 863
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 863
Points : 10 743
Points : 10 743
Envoyer un message via MSN à jpcheck
Salut,

en utilisant la fonction Indirect() (version UK) tu peux combiner avec la fonction IsRef()

la formule donnerait
Code :
=IF(ISREF(INDIRECT('[semaine 2.xlsx]vente'!$B$38)),"NA",INDIRECT('[semaine 2.xlsx]vente'!$B$38))
par contre sous 2010, je ne connais pas la reaction d'Excel
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2011, 07h47   #3
Membre du Club
 
Avatar de texas2607
 
Fred
Inscription : juillet 2006
Messages : 147
Détails du profil
Informations personnelles :
Nom : Fred
Localisation : France, Drôme (Rhône Alpes)

Informations forums :
Inscription : juillet 2006
Messages : 147
Points : 60
Points : 60
merci de ta réponse mais à priori excel 2010 ne gère pas ISREF..
ou alors erreur dans la formule puisque si je colle dans ma cellule toujours la demande de pointer vers le fichier "semaine 2" et si j'annule (puisque fichier inexistant" alors j'ai une erreur #NOM?

Donc toujours au point zéro pour moi
__________________
Loi des Évolutions synchronisées : Les logiciels deviennent de plus en plus lent, et ceci plus vite que le hardware ne devient plus rapide.
texas2607 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2011, 19h53   #4
Membre du Club
 
Avatar de texas2607
 
Fred
Inscription : juillet 2006
Messages : 147
Détails du profil
Informations personnelles :
Nom : Fred
Localisation : France, Drôme (Rhône Alpes)

Informations forums :
Inscription : juillet 2006
Messages : 147
Points : 60
Points : 60
En fait j'ai refais mon tableau afin de le simplifier et de l'éclaircir, et pour être plus clair il faudrait :

(Sous Excel 2010 FR)

Sur mon fichier "RECAP"
> en I8 je dois avoir la formule qui teste si le fichier "D:\societe\2011\vente semaine 1.xlsx" existe et si oui alors il doit m'afficher le contenu de la cellule B38 de ce fichier (d'où ce post) et si le fichier n'existe pas alors cellule vierge,
> En I9 je fais idem pour le fichier "D:\societe\2011\vente semaine 2.xlsx" puis I10 pour la semaine 3... Mais toujours avec la cellule B38 à récupérer sur les différents fichiers.
> Enfin, en J8 je dois mettre une formule qui m'additionne les cellule I8,I9,I10... afin d'avoir un total.


J'ai plusieurs Formule du même type à faire sur cette feuille RECAP mais si vous arrivez à m'aider pour celle ci je pense (enfin j'espère) pouvoir les transposer pour mes autres calculs...

Voilà, d'avance merci
Fred
__________________
Loi des Évolutions synchronisées : Les logiciels deviennent de plus en plus lent, et ceci plus vite que le hardware ne devient plus rapide.
texas2607 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 15h38   #5
Invité de passage
 
Inscription : mars 2004
Messages : 2
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 2
Points : 1
Points : 1
Bonjour,

Je recherche exactement la même chose et j'ai voulu tester la formule sous Excel 2003.

J'ai le même message d'erreur. En fait la fonction isREF n'est pas présente.

Avez vous une autre proposition ou un contournement ?

Merci d'avance
mekloub est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 17h08   #6
Membre du Club
 
Avatar de texas2607
 
Fred
Inscription : juillet 2006
Messages : 147
Détails du profil
Informations personnelles :
Nom : Fred
Localisation : France, Drôme (Rhône Alpes)

Informations forums :
Inscription : juillet 2006
Messages : 147
Points : 60
Points : 60
Par défaut balises CODE, e n'est pas facultatif

salut,
en fait j'ai trouvé ma solution
J'ai créer un bouton afin de lancer cette macro

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Dim FSO As Object
Set FSO = CreateObject("Scripting.Filesystemobject")
Dim Chemin As Variant
 
Application.DisplayAlerts = False
    For f = 8 To 90 'ma plage de calcul
        If FSO.fileExists("D:\société\2011\Vente " & Cells(f, "a") & ".xlsx") = True Then   ' si mon fichier existe alors
            Cancel = True
            Chemin = "=""=""&""'D:\société\2011\""&""[Vente " & Cells(f, "a") & ".xlsx""&""]Reporting'!"
 
            Cells(f, "J").Formula = Chemin & "B38" & """"   ' je récupère la valeur de la cellule B38 de mon fichier par cette formule
            Cells(f, "J") = Cells(f, "J").Value    ' et je l'inscris dans ma cellule voulue
        End If
    Next f
 
Application.DisplayAlerts = True
__________________
Loi des Évolutions synchronisées : Les logiciels deviennent de plus en plus lent, et ceci plus vite que le hardware ne devient plus rapide.
texas2607 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h32.


 
 
 
 
Partenaires

Hébergement Web