Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
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 27/12/2011, 13h52   #1
 
Homme
Inscription : décembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : décembre 2011
Messages : 7
Points : -1
Points : -1
Par défaut Liaisons entre différents classeurs

Bonjour et bonnes fêtes à tous,

Voilà, j'aimerais lier des classeurs excel pour me faire une synthèse sur un classeur indépendant;

Je m'explique, j'ai différents classeurs (fiche client) qui comprennent chacuns plusieurs feuilles (Info générales, suivi financier, planning d'intervention) et je souhaiterais, sur un autre classeur, synthétiser certaines informations.

Mon problème est que je vais créer d'autres fiches client à partir d'un modele et que j'aimerais que celles ci soit automatiquement reprises dans mon tableau

J'éspère avoir été assez clair , sinon un petit exemple de ce que je voudrais faire

Merci par avance
Pièces jointes en attente de validation
Type de fichier : xlsx Essai.xlsx
Type de fichier : xlsx Fiche CLIENT.xlsx
Blizard est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 27/12/2011, 16h19   #2
Membre Expert
 
Avatar de Fvandermeulen
 
Frédéric Vandermeulen
Inscription : juillet 2007
Messages : 1 730
Détails du profil
Informations personnelles :
Nom : Frédéric Vandermeulen
Âge : 36
Localisation : Belgique

Informations forums :
Inscription : juillet 2007
Messages : 1 730
Points : 2 131
Points : 2 131
Salut,

Tes fichiers joints ne sont pas encore consultables mais selon ce que j'ai compris, voici une piste...

Tu crée une macro dans ton modèle fiche client.
Quand les éléments à renseigner dans la fiche client sont complétés, tu active la macro (bouton ou lié à l'évènement de sauvegarde).

L'idée est d'ouvrir un fichier Base De Donnée (ce que j'imagine est ton fichier essai) et d'y écrire les infos.
Regarde le code ci-dessous et essaie d'adapter à ton cas.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Sub CopieBDD()
Dim WKBS As Workbook, WKBC As Workbook
Dim MyDir As String
Dim DerLig as long
 
'affecte le fichier formulaire à la variable source
Set WKBS = ActiveWorkbook 'Affectation du fichier source à la variable
Workbooks.Open "C:\Documents\Essai.xlsx" 'Ouverture du fichier cible, faut adapter le chemin à ton cas
Set WKBC = ActiveWorkbook 'Affectation du fichier cible à la variable
 
'Défini via DerLig la dernière ligne remplie dans le fichier essai (pour l'exemple la feuille s'appelle BDD)
Derlig = WKBC.Sheets("BDD").Cells(Columns(1).Cells.Count, 1).End(xlUp).Row+1
 
'Ecriture dans la base de donnée (fichier essai feuille BDD)
WKBC.Sheets("BDD").Cells(DerLig, 1) = WKBS.Sheets("NomDeLaFeuille").range("A1") 'Ecrit le contenu de la cellule A1 du fichier client dans le fichier essai première ligne vide colonne A
WKBC.Sheets("BDD").Cells(DerLig, 2) = WKBS.Sheets("NomDeLaFeuille").range("A3") 'Ecrit le contenu de la cellule A3 du fichier client dans le fichier essai première ligne vide colonne B
'Etc en fonction des cellules à réécrire dans le fichier Essai
 
WKBC.Close True 'Ferme le fichier essai avec sauvegarde
end sub
A+
__________________
N'oubliez pas le si votre problème est solutionné.
Fvandermeulen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2011, 16h48   #3
 
Homme
Inscription : décembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : décembre 2011
Messages : 7
Points : -1
Points : -1
Salut Fvandermulen,

Merci de te pencher sur le sujet.

J'ai essayé d'adapter le code à mon cas en vain, il y a probablement un ou plusieurs trucs qui m'échappent.(Je suis débutant VBA)

Comment enregistrer sous (pour concerver mon modèle) et créer en même temps le lien entre mes 2 classeurs ?
Blizard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2011, 17h08   #4
Membre Expert
 
Avatar de Fvandermeulen
 
Frédéric Vandermeulen
Inscription : juillet 2007
Messages : 1 730
Détails du profil
Informations personnelles :
Nom : Frédéric Vandermeulen
Âge : 36
Localisation : Belgique

Informations forums :
Inscription : juillet 2007
Messages : 1 730
Points : 2 131
Points : 2 131
Re,

Attention, avec le code proposé, il n'y a pas de liaison, ça "écrit" dans le fichier de consolidation.

Essaie d'indiquer où tu as coincé, qu'on essaie de te dépatouiller.
__________________
N'oubliez pas le si votre problème est solutionné.
Fvandermeulen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2011, 17h55   #5
 
Homme
Inscription : décembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : décembre 2011
Messages : 7
Points : -1
Points : -1
Qu'appelles-tu dossier de consolidation ;;;

As-tu pu ouvrir mes fichiers joints ???

Je n'arive pas à déceler ou ça bloque à vrai dire je ne comprend pas grand chose à ton code
Blizard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2012, 17h59   #6
 
Homme
Inscription : décembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : décembre 2011
Messages : 7
Points : -1
Points : -1
Par défaut Comment lier différents classeur en fonction de leur nom ?¨

Bonjour et meilleurs voeux pour 2012 à tous !

Voilà mon soucis :

j'ai un classeur excel sur lequel j'aimerai regrouper plusieurs informations provenant d'autre classeurs.

le problème est que les différents fichiers source seront variable mais situé dans un même répertoire ...

J'espere avoir été assez clair ...

N'hésitez pas à me demander des informations complémentaires si besoin et merci à ceux qui se pencheront sur mon problème (Merci aux autres aussi, y'a pas de raisons !!!)

Dans l'attente.

@+
Blizard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2012, 18h12   #7
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Bonjour, bonne année également.

Si tu pouvais donner un petit exemple ?
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2012, 18h20   #8
 
Homme
Inscription : décembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : décembre 2011
Messages : 7
Points : -1
Points : -1
Bonjour Daniel,

En fait j'ai plusieurs classeurs, chacun d'eux comprend plusieurs feuilles

ex:classeur client 1: infos; planning; suivi financier
classeur client 2: infos; planning; suivi financier

etc ...

j'ai créer un autre fichier qui synthétise dans un tableau certaines données provenant des fiches clients (ces fiches sont toutes montée de la même façon) et je n'arrive pas à créer ces liaisons
Blizard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2012, 18h25   #9
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Est-ce que tu pourrais être très précis et donner un ou deux exemples concrets ?
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2012, 18h36   #10
 
Homme
Inscription : décembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : décembre 2011
Messages : 7
Points : -1
Points : -1
Pas facile mais je vais essayer :


Dans mon classeur cible (tableau de synthèse)

colonne A nom des clients, colonne B suivi financier ...

Case A1=Client 1 / Case b1 = Documents/clients/client 1;feuill 3;C2
Case A2 =Client 2 / Case b2 = Documents/clients/client 2;feuill 3;C2

En fait c'est au niveau du chemin que je coince

J'espere que je suis compréhensible !!!
Blizard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2012, 19h56   #11
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Essaie comme ceci :

Code :
1
2
3
4
5
6
7
8
Sub test1()
'Réf.120107.xlsm
Dim c As Range, txt As String
For Each c In Range([A1], [A1].End(xlDown))
    txt = "'" & "c:\documents\clients\[" & c.Value & ".xls]Feuil3'!R2C3"
    c.Offset(, 1) = ExecuteExcel4Macro(txt)
Next c
End Sub
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2012, 18h51   #12
 
Homme
Inscription : décembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : décembre 2011
Messages : 7
Points : -1
Points : -1
Bonjour Daniel,

le code que tu m'a passé fonctionne mais ne correspont pas tout a fait à ce que je cherche je voudrais que les données de la cellules se remplisse automatiquement sans que l'utilisateur ait a choisir le fichier à ouvrir...

Ce n'est peut être pa s possible ???
Blizard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2012, 19h03   #13
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Mon code n'ouvre pas de fichier mais il prend pour hypothèse qu'au client "client1" correspond un fichier "client1.xls", ce qui, apparemment, n'est pas le cas ?
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h49.


 
 
 
 
Partenaires

Hébergement Web