Récupérer valeur à jour d'un fichier excel dans un autre

Résolu/Fermé
Bajinho Messages postés 20 Date d'inscription mercredi 10 avril 2013 Statut Membre Dernière intervention 27 juin 2014 - 6 mai 2013 à 10:50
Bajinho Messages postés 20 Date d'inscription mercredi 10 avril 2013 Statut Membre Dernière intervention 27 juin 2014 - 14 mai 2013 à 15:11
Bonjour à tous et à toutes et bon début de semaine.
visiblement la mienne commence plutot boffff... enfin bref.
Voilà j'ai un petit soucis avec moncode VBA et j'espère trouver de l'aide auprès de vous.
En fait j'ai des valeurs ( qui changent automatiquement en fonction des jours) qui sont stockées dans un fichier F1. Je récupère donc ces valeurs dans un autre fichier F2 sans ouvrir F1. jusque là tout se passe bien. Je veux maintenant avoir, à l'ouverture de F2 les valeurs à jour de F1 sans avoir à ouvrir ce dernier. Je m'explique; je veux récupérer, le matin, les dernières valeurs de F1 lorsque j'ouvre F2 sans avoir à ouvrir F1 avant.
Je vous remercie d'avance de votre aide.
A voir également:

8 réponses

Bajinho Messages postés 20 Date d'inscription mercredi 10 avril 2013 Statut Membre Dernière intervention 27 juin 2014 2
14 mai 2013 à 15:11
Bonjour Pijaku,
j'ai finalement opté pour une solution de bricoleur:)
J'ai inséré dans F2 une macro qui ouvre et qui referme aussitot F1 à l'ouverture de F2.
C'est pas très éloquent comme méthode mais je crois que ça peut aller.
merci encore pour ton aide précieuse.
2
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
7 mai 2013 à 09:55
Bon alors.
Supposons que dans un Module tu disposes de ce genre de code :
Sub Import()
Dim maValeur As String, monChemin As String, monFichier As String, maFeuille As String, adressRng As String

monChemin = "C:\Users\Pijaku\Desktop\"
monFichier = "cout 2013.xlsx"
maFeuille = "Feuil1'!"
adressRng = "R10C4"

maValeur = ExecuteExcel4Macro("'" & monChemin & "[" & monFichier & "]" & maFeuil & adressRng)
[A1] = maValeur
End Sub


Tu peux le "lancer" à l'ouverture de ton classeur, en introduisant dans le module ThisWorkbook, ce code :
Private Sub Workbook_Open()
Call Import
End Sub

1
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
7 mai 2013 à 07:43
Bonjour,
Tu dis :
Je récupère donc ces valeurs dans un autre fichier F2 sans ouvrir F1

Comment récupère tu ces valeurs?

je veux récupérer, le matin, les dernières valeurs de F1 lorsque j'ouvre F2 sans avoir à ouvrir F1 avant
Ok, mais ce n'est pas ce que tu fais actuellement?
0
Bajinho Messages postés 20 Date d'inscription mercredi 10 avril 2013 Statut Membre Dernière intervention 27 juin 2014 2
7 mai 2013 à 09:12
Bonjour et merci pour ta réponse aussi rapide.
Je récupère ces valeurs dans F2 en utilisant ExecuteExcel4Macro car F1 peut etre fermé lors de la récupération.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bajinho Messages postés 20 Date d'inscription mercredi 10 avril 2013 Statut Membre Dernière intervention 27 juin 2014 2
7 mai 2013 à 10:17
merci encore Pijaku,
le code que tu viens de me donner est celui que j'utilise actuellement pour récupérer mes valeur de F1 dans F2. Et j'appel ce programme dans
Sub Workbook_Open() tel que tu l'as bien indiqué. Etant donné que certaines valeurs de F1 changent automatiquement en fonction de la date (ie:Le contenu d'hier de F1 n'est pas le même que celui d'aujourd'hui sans qu'on l'ai modifié). Le problème est que si j'ouvre, en début de journée F2 sans avoir ouvert d'abord F1, je récupèrerai dans F2 les valeurs d'hier de F1.
bien cordialement.
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
7 mai 2013 à 10:29
Nous arrivons dans une impasse.
Sans voir les fichiers, il me semble difficile de continuer.
En effet, tu dis : certaines valeurs de F1 changent automatiquement en fonction de la date
Donc, à priori, ces valeurs changent à minuit... de toutes façons, elle changent avant l'ouverture de F2.
Par conséquent, lorsque tu ouvres F2, avec une procédure qui importe tes données dans le WorkBooks_Open(), les valeurs devraient être actualisées. Or, tu dis qu'elles ne le sont pas...
Comprends pas.
0
Bajinho Messages postés 20 Date d'inscription mercredi 10 avril 2013 Statut Membre Dernière intervention 27 juin 2014 2
7 mai 2013 à 11:27
voici deux fichiers qui reprennent un peu ce que j'ai fait.
Merci
https://www.cjoint.com/c/CEhlAWZe9lq
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
7 mai 2013 à 12:08
Je réitère, en plaçant l'appel de la procédure "ImportF1" dans le WorkBooks_Open(), j'ai bien mes valeurs mises à jour...
Donc, soit :
- je ne comprends pas,
- il me manque des infos...
0
Bajinho Messages postés 20 Date d'inscription mercredi 10 avril 2013 Statut Membre Dernière intervention 27 juin 2014 2
7 mai 2013 à 12:14
Oui oui aujourd'hui tout va bien!
Mais si tu attends demain et que tu ouvres F2 en premier, tu auras toujours 127 dans la cellule au lieu de 128.
Enfin... C'est ce qui se passe de mon coté!
Merci
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
7 mai 2013 à 12:30
je veux bien attendre demain alors...
0
Bajinho Messages postés 20 Date d'inscription mercredi 10 avril 2013 Statut Membre Dernière intervention 27 juin 2014 2
Modifié par Bajinho le 10/05/2013 à 09:45
Bonjour Pijaku,
comme "prédit", j'ai toujours 127 de mon coté au lieu de 130 aujourd'hui.
sinon ça marche bien chez toi?
Merci encore et bonne journée.
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
13 mai 2013 à 08:54
Bonjour,
Long week end porte conseil...
Essaye de dé-fusionner tes cellules du classeur F1, notamment F5 et F6...
0