Utiliser des données issues de plusieur fichier excel

Damarice

XLDnaute Nouveau
Salut à tous

Je travail sur un programme qui traite des données issue de plusieur document excel différent, ça fait 3 semaines que je les copies/colles dans le document excel où il y a mon programme mais ça commence à m'agacer.

Je me demandais s'il n'y avez pas un moyen pour que le programme aille de lui même chercher des données bien précises dans un autre document excel que celui auquel il est affecté ?
 

jmd2

XLDnaute Accro
Re : Utiliser des données issues de plusieur fichier excel

hello

Aide d'Excel :
Pour créer une liaison entre des cellules de différents classeurs

Ouvrez le classeur qui contiendra la liaison (appelé classeur de destination (fichier de destination : fichier dans lequel un objet lié ou incorporé est inséré. Le fichier source contient les informations utilisées pour créer l'objet. Lorsque vous modifiez des informations dans un fichier de destination, celles-ci ne sont pas mises à jour dans le fichier source.)) et le classeur contenant les données que vous voulez lier (appelé classeur source (fichier source : fichier qui contient les informations qui ont été utilisées pour créer un objet lié ou incorporé. Lorsque vous mettez à jour les informations du fichier source, vous pouvez également mettre à jour l'objet lié du fichier de destination.)).
Dans le classeur de destination, cliquez sur Enregistrer .
Sélectionnez une ou plusieurs cellules à partir desquelles vous voulez établir la liaison.
Si vous créez une nouvelle formule, tapez un signe égal (=).
Si vous entrez la liaison ailleurs dans la formule, tapez l'opérateur (opérateur : signe ou symbole qui spécifie le type de calcul à réaliser dans une expression. Il existe des opérateurs mathématiques, de comparaison, logiques et de référence.) ou la fonction qui doit précéder la liaison.

Dans le menu Fenêtre, cliquez sur le nom du classeur source, puis sur le classeur contenant les cellules vers lesquelles vous voulez établir la liaison.

Sélectionnez les cellules que vous souhaitez lier.
Complétez la formule. Lorsque vous avez terminé, appuyez sur ENTRÉE.

Attention : maintenant, il y a liaison entre fichier de départ et fichier de destination.
Est-ce bien ce que tu veux ?

******************************************************************
 

Damarice

XLDnaute Nouveau
Re : Utiliser des données issues de plusieur fichier excel

En fait ne croit pas que ce soit vraiment ça.Je cherche comment faire pour que mon programme aille cherche de lui même les donner dans un autre fichier excel, je pense que c'est juste une affaire de syntaxe. J'ai fait des essaye au hazard mais ça n'a rien donner :

Tabdata = Docexcel1.Feuil1.Range(Feuil1.Cells(1, 4), Feuil1.Cells(1,4)).Value 'Tabdata reçoit des données contenu dans fichier excel diffirent de celui dans lequel il se trouve
 

deniooo

XLDnaute Occasionnel
Re : Utiliser des données issues de plusieur fichier excel

Bonjour,
Bien sûr qu'il y a moyen d'ailleur je suis sûr que si tu fais une petite recherche tu trouveras tout ce qu'il te faut ;)

En attendant :

Code:
Application.screenupdating = false
chemin = Application.GetOpenFilename  'fenétre pour trouver ton fichier
Workbooks.Open Filename:=chemin

'traitement

ActiveWorkbook.Sheets(1).Cells(1, 1).Value = "toto"

'fin traitement

ActiveWorkbook.Save
ActiveWorkbook.Close

ce code t'ouvre un fichier dans lequel tu peux effectuer le traitement que tu désires, puis le sauvegarde et le referme.
 

jmd2

XLDnaute Accro
Re : Utiliser des données issues de plusieur fichier excel

re,

Je cherche comment faire pour que mon programme aille cherche de lui même les donner dans un autre fichier excel

c'est justement le rôle du lien entre fichiers.
On peut rompre ce lien, ou le modifier à volonté.

*****************************************************************
 

mth

XLDnaute Barbatruc
Re : Utiliser des données issues de plusieur fichier excel

bonjour Damarice,

Juste un avis de novice au cas où...

Comme le dit deniooo bien sûr il y a plein de solutions.

Si ton fichier est basique du genre 5 lignes sur 5 colonnes, tu peux t'amuser à faire des liens simples entre fichiers (à conditions que les fonctions que tu utilises soient simples, certaines renvoient un vilain "valeur#" quand le fichier lié n'est pas ouvert)

Si la plage de données est plus importante, peut-être peux-tu bricoler comme moi et améliorer après:
Tu ouvres ton ficher de travail, puis tu cliques sur le menu Outils/Macros / Nouvelle macro
A partir de ce moment là, tout ce que tu feras sur excel sera enregistré.
Tu ouvres tes fichier, tu fais tes copier/coller et tutti quanti et quand tu as fini tu cliques sur le Menu Outil / Macros/ Arrêter l'enregistrement.

Ensuite tu peux faire Alt F11 pour voir le code de ce que tu as écrit en automatique, et faire Outil / Macro / Exécuter (ta macro) pour tester.

Tente le et renviens sur ce formidable forum avec tes questions, tu trouveras toujours quelqu'un pour te répondre concrètement,

@+

mth
 

Damarice

XLDnaute Nouveau
Re : Utiliser des données issues de plusieur fichier excel

Merci pour vos réponces :D .Je me suis penchais de nouveau sur mon probléme mais je n'y arrive toujours pas. Je fait un petit complément d'information : j'ai un programme en VB qui va chercher des données sur le classeurs excel ou il est assigné (il se sert de ces données pour créer un récapitulatif complet du Chiffre d'affaire d'une entreprise), avant toutes les données dont il avez besoin était dans ce même document mais depuis 2 semaines une nouvelle presentation a été décidé et du coup je doit refaire mon prog car toutes les données ne sont plus sur le même document. Le programme est réutilisé chaque mois pour actualiser le CA.Faire une macro classique ne m'arrangerais pas car il faudrait que ce soit le programme qui aille chercher les données dans le document voulu sans copier coller ces données sur son classeur. Le code qu'y a été donné par deniooo me semble être une solution, le probléme c'est que je n'arrive pas vraiment à le comprendre par exemple Chemin représente quoi ?
 

Damarice

XLDnaute Nouveau
Re : Utiliser des données issues de plusieur fichier excel

AA ca y ai j'arrive a ouvrir et fermer le document voulu mais maintenant le robléme est que quand je demande à mon prog de copier les premiére ligne de la feuil 1 il bug sans que j'arrive a comprendre pourquoi. Je vais vous montrer le code peu que vous arriverai a y trouver l'erreur :

Workbooks.Open Filename:="C:\Documents and Settings\Stag000\Bureau\Budget.xls"

DerligB = Feuil5.Range("A65536").End(xlUp).Row 'on compte le nombre de ligne de la feuille Budget

TabBud = ActiveWorkbook.Feuil1.Range(Feuil1.Cells(4, 1), Feuil1.Cells(DerligB, 2)).Value 'TabBud reçoit le Deux premiére ligne de l'extraction
Tabget = ActiveWorkbook.Feuil1.Range(Feuil1.Cells(4, i), Feuil1.Cells(DerligB, i)).Value 'TabBudget reçoit la ligne de budget du mois voulu

ActiveWorkbook.Close
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Utiliser des données issues de plusieur fichier excel

Bonjour à tous


Quelques questions:

C'est toujours le même fichier que tu ouvres?

(c-a-d Budget.xls)

et il se trouve toujours dans le même dossier?

Tu veux recopier quelle plage de quelle feuille (du classeur source)?
(Toujours la même feuille? et quelle plage de cellule?)


En attendant ta réponse

Un exemple de code qui fonctionne
Code:
[COLOR="#2e8b57"]'adapter le chemin et le nom du fichier en conséquence[/COLOR]
Const Chemin = "C:\Temp\"
Const Fichier = "letest.xls"
Sub copie()
[COLOR="#2e8b57"]'Déclarations[/COLOR]
Dim Source As Workbook
Dim Destin As Workbook
Dim S_Range As Range
Dim D_range As Range
Set Destin = ThisWorkbook
Workbooks.Open Chemin & Fichier
Set Source = ActiveWorkbook
[COLOR="#2e8b57"]'adapter le nom de la feuille et la plage de cellules[/COLOR]
Set S_Range = Source.Sheets(3).Range("A1:A" & [A65536].End(xlUp).Row)
Destin.Activate
[COLOR="#2e8b57"]'adapter le nom de la feuille et la plage de cellules[/COLOR]
Set D_range = Destin.Sheets(1).Range("A" & [A65536].End(xlUp).Row + 1)
[COLOR="SeaGreen"]'copie des données[/COLOR]
S_Range.Copy D_range
[COLOR="SeaGreen"]'fermeture du classeur source[/COLOR]
Source.Close
End Sub
 
Dernière édition:

Damarice

XLDnaute Nouveau
Re : Utiliser des données issues de plusieur fichier excel

Le fichier que je doit ouvrir s'appel Budget, je le laisse toujours sur le Bureau, les Données que je veux sont dans les 2 premiére colonnes de la feuille 1,elles vont de la 4 éme à la DerLigB, C'est données je veux les copier dans un tableau (TabBud). Aprés si j'arrive à copier la premiére plage de données que je veux j'aurai la deuxiéme.

Mais il y a un autre truc bizard quand je vais dans le prog une fois qu'il a bugger pour voir les variables je me rend compte qu'encore une fois il va cherche les données dans la Feuil1 de son propre classeur et non de celui du document Budget.xls que je lui ai fait ouvrir.
 

Staple1600

XLDnaute Barbatruc
Re : Utiliser des données issues de plusieur fichier excel

Re


Tu as regardé le code VBA de mon précédent message?

Essayes de l'adapter à tes besoins

Comme ceci pour commencer
Set S_Range = Source.Sheets(1).Range("A4:B" & [B65536].End(xlUp).Row)

Je te laisse modifier le chemin et nom du fichier

Et tester le tout
 
Dernière édition:

Damarice

XLDnaute Nouveau
Re : Utiliser des données issues de plusieur fichier excel

pfff j'ai trouvé c'est vraiment trop béte en faite dans ces formules :
TabBud = ActiveWorkbook.Feuil1.Range(Feuil1.Cells(4, 1), Feuil1.Cells(DerligB, 2)).Value 'TabBud reçoit le Deux premiére ligne de l'extraction

Il fallait mettre Sheet(1) a la place de Feuil1 :mad::mad::rolleyes:

Y a de moment le VB me goufle :D

Enfin bon ce coup ci ca marche .Merci beaucoup pour votre aide ;)
 

Discussions similaires

Statistiques des forums

Discussions
312 558
Messages
2 089 596
Membres
104 220
dernier inscrit
Fredericchau