Remplir un fichier Excel à partir d'autres fichiers Excels
Zmon
-
FOT.02 Messages postés 84 Date d'inscription Statut Membre Dernière intervention -
FOT.02 Messages postés 84 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Voici mon problème :
J'ai 15 fichiers (mis à jour par d'autres personnes) comportant des données que j'aimerais regrouper en 1 seul (sans avoir à faire copier coller tous les jours). Dans chacun de ces fichiers, les 2 premières lignes sont la même entête, et les colonnes sont les mêmes.
Il faudrait donc que j'arrive à prendre les lignes 3 à XXXX de chacun des 15 fichiers pour les rassembler dans un autre.
Les 15 Fichiers sont dans un dossier fixe, le nom des fichiers change tous les mois, mais si besoin il sera possible d'avoir des noms fixes.
Je voudrais donc savoir comment faire pour que, en un clic, je puisse avoir mes 15 tableaux réunis en un ?
Merci d'avance pour vos réponses :)
Voici mon problème :
J'ai 15 fichiers (mis à jour par d'autres personnes) comportant des données que j'aimerais regrouper en 1 seul (sans avoir à faire copier coller tous les jours). Dans chacun de ces fichiers, les 2 premières lignes sont la même entête, et les colonnes sont les mêmes.
Il faudrait donc que j'arrive à prendre les lignes 3 à XXXX de chacun des 15 fichiers pour les rassembler dans un autre.
Les 15 Fichiers sont dans un dossier fixe, le nom des fichiers change tous les mois, mais si besoin il sera possible d'avoir des noms fixes.
Je voudrais donc savoir comment faire pour que, en un clic, je puisse avoir mes 15 tableaux réunis en un ?
Merci d'avance pour vos réponses :)
A voir également:
- Comment remplir automatiquement un tableau excel à partir d'un autre
- Trier un tableau excel - Guide
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Tableau word - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
- Dans le fichier, générez ce tableau automatiquement (tableau croisé dynamique ou table de pilote) à partir des quatre premières colonnes. - Guide
11 réponses
Bonjour
Comme promis "à la encore fraiche"
https://www.cjoint.com/?3FgjvVu8wA9
Tu dis.... :o)
nota: pour fonctionner, il faut dézipper et non ouvrir directement le zip
Edit: erreur de chargement zip rectifiée.... 9:22h
Michel
Comme promis "à la encore fraiche"
https://www.cjoint.com/?3FgjvVu8wA9
Tu dis.... :o)
nota: pour fonctionner, il faut dézipper et non ouvrir directement le zip
Edit: erreur de chargement zip rectifiée.... 9:22h
Michel
ilhemGh
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
SALUT michel svp j 'ai le même problème.c urgennntt aidez moi
salut,
ce genre de fichier va te demander un peu de travail au début tu devras tout de même faire les copier coller.
Sinon il faut que tu range tout tes fichiers source dans le même répertoire. Ensuite tu crées un nouveau fichier excel. Tu ouvres l'un de tes fichiers source et tu fait un copier de la ou des cellules souhaitée. Ensuite tu vas dans ton nouveau fichier et tu clic droit sur une cellule et tu clic sur "collage spécial" puis "collage avec liaison". Là tu verras qu'en selectionnant la cellule, il y a non pas la valeur à l'intérieur mais un truc du genre "=C4[fichier source].
Donc quand tu ferras une modif sur un fichier source elle serra automatiquement reproduite dans ton nouveau fichier. Il faudra pour voir cette modif dans le nouveau fichier, soit le fermer et le réouvrir en disant oui à la mise à jour des interliaisons, soit cliquer sur l'onlet "donnée" et "actualiser" mais je ne suis plus très sur.
Pour cela j'ai admis que tu avais excel 2010 mais je crois que la même chose est possible avec 2003 (je ne suis pas sur du collage spécial avec lien). Si ce n'est pas le cas répond sur ce forum et je t'expliquerai comment le faire avec 2003.
++
ce genre de fichier va te demander un peu de travail au début tu devras tout de même faire les copier coller.
Sinon il faut que tu range tout tes fichiers source dans le même répertoire. Ensuite tu crées un nouveau fichier excel. Tu ouvres l'un de tes fichiers source et tu fait un copier de la ou des cellules souhaitée. Ensuite tu vas dans ton nouveau fichier et tu clic droit sur une cellule et tu clic sur "collage spécial" puis "collage avec liaison". Là tu verras qu'en selectionnant la cellule, il y a non pas la valeur à l'intérieur mais un truc du genre "=C4[fichier source].
Donc quand tu ferras une modif sur un fichier source elle serra automatiquement reproduite dans ton nouveau fichier. Il faudra pour voir cette modif dans le nouveau fichier, soit le fermer et le réouvrir en disant oui à la mise à jour des interliaisons, soit cliquer sur l'onlet "donnée" et "actualiser" mais je ne suis plus très sur.
Pour cela j'ai admis que tu avais excel 2010 mais je crois que la même chose est possible avec 2003 (je ne suis pas sur du collage spécial avec lien). Si ce n'est pas le cas répond sur ce forum et je t'expliquerai comment le faire avec 2003.
++
Bonjour,
Version Excel ?
Quels est le nom de l'onglet des fichiers source ?
quelles colonnes ?
Les fichiers source sont ils les seuls dans le répertoire ?
mettre le classeur "cible" et 1 ou 2 classeurs "source" dans un zip et sans données confidentielles en pièce jointe sur
https://www.cjoint.com/
puis copier l'adresse du lien et la coller dans le message de réponse
solution proposée: macro VBA
Version Excel ?
Quels est le nom de l'onglet des fichiers source ?
quelles colonnes ?
Les fichiers source sont ils les seuls dans le répertoire ?
mettre le classeur "cible" et 1 ou 2 classeurs "source" dans un zip et sans données confidentielles en pièce jointe sur
https://www.cjoint.com/
puis copier l'adresse du lien et la coller dans le message de réponse
solution proposée: macro VBA
C'est génial :)
Est ce que je pourrais demander un autre détail ?
Serait il possible que lorsque l'on exécute la macro, les lignes précédemment renseignées disparaissent ?
Si j'ai bien compris le code, le nom des fichiers sources n'ont pas d'importance dans le répertoire ?
En tout cas merci beaucoup pour la qualité et la rapidité de ton travail !!
Est ce que je pourrais demander un autre détail ?
Serait il possible que lorsque l'on exécute la macro, les lignes précédemment renseignées disparaissent ?
Si j'ai bien compris le code, le nom des fichiers sources n'ont pas d'importance dans le répertoire ?
En tout cas merci beaucoup pour la qualité et la rapidité de ton travail !!
Les parties à modifier sont en gras dans les extraits de code
Serait il possible que lorsque l'on exécute la macro, les lignes précédemment renseignées disparaissent ?
S'il est possible d'avoir les dates sous le format "July-13" par exemple aussi, ce serait la perfection, mais ce n'est qu'un détail donc si c'est trop compliqué tanpis :)
Si j'ai bien compris le code, le nom des fichiers sources n'ont pas d'importance dans le répertoire ?
Oui, s'ils sont les seuls utiles dans le répertoire
sinon, tu peux employer un générique en début de désignation du nom par ex avec le mois et l'année
Bon après-midi (à ta disposition si...)
Serait il possible que lorsque l'on exécute la macro, les lignes précédemment renseignées disparaissent ?
'-------------initialisations Application.ScreenUpdating = False With Sheets("Data") Ligfin = .Columns("A").Find("*", , , , , xlPrevious).Row 'nettoyage ancien reports With .Range("A3:AH" & Ligfin) .ClearContents .Borders.LineStyle = xlNone End With End With Chemin = ThisWorkbook.Path & "\" & ss_rep
S'il est possible d'avoir les dates sous le format "July-13" par exemple aussi, ce serait la perfection, mais ce n'est qu'un détail donc si c'est trop compliqué tanpis :)
'restitution et compilation With Sheets("data") Ligvide = .Columns("A").Find("*", , , , , xlPrevious).Row + 1 .Cells(Ligvide, "A").CopyFromRecordset Requete Ligfin = .Columns("A").Find("*", , , , , xlPrevious).Row .Range(.Cells(Ligvide, "A"), .Cells(Ligfin, "AH")).Borders.Weight = xlThin .Range(.Cells(Ligvide, "M"), Cells(Ligfin, "AC")).NumberFormat = "[$-409]mmmm-yy;@" End With
Si j'ai bien compris le code, le nom des fichiers sources n'ont pas d'importance dans le répertoire ?
Oui, s'ils sont les seuls utiles dans le répertoire
sinon, tu peux employer un générique en début de désignation du nom par ex avec le mois et l'année
Fichier = Dir("June-13" & "*.xlsx")
Bon après-midi (à ta disposition si...)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour michel_m, Zmon,
J'ai exactement le même souci de remplir un fichier excel avec les données de plusieurs autres fichiers. Pourriez-vous me donner les macros déjà codés par michel_m? ou m'aider dans ce sens ?
Merci....
J'ai exactement le même souci de remplir un fichier excel avec les données de plusieurs autres fichiers. Pourriez-vous me donner les macros déjà codés par michel_m? ou m'aider dans ce sens ?
Merci....
Bonjour,
Dans ce que tu demandes, les codes se font "au cas par cas" surtout si le contexte semble être similaire (pièges à la pelle)
Donc
1/ Version XL ?
2/ Tes fichiers "source" sont ils dans un m^me répertoire et les seuls ?
sinon, ont ils un nom générique style toto1, toto2... ?
où se trouve le fichier"cible" ?
3/ la structure des fichiers source est elle la m^me pour chaque classeur comme par exemple l'ordre des colonnes ? L'ordre est il le m^me dans le fichier "cible" ?
Toutes les colonnes sont elles à transférer ?
4/ mettre le classeur "cible" et 1 ou 2 classeurs "source" dans un zip et sans données confidentielles en pièce jointe sur
https://www.cjoint.com/
puis copier l'adresse du lien et la coller dans le message de réponse
Attention:
Si tu envoies des exemples , il faut que ceux-ci reflètent la réalité exacte des originaux: je ne recommence plus à coder et j'abandonne le suivi si j'ai en réponse à une proposition comme dans 90% des cas dans le style: "en fait , dans la réalité...." !
Tu joins donc 2 ou 3 classeurs sources avec env 500 lignes et le classeur cible
pour joindre des pièces
Michel
Dans ce que tu demandes, les codes se font "au cas par cas" surtout si le contexte semble être similaire (pièges à la pelle)
Donc
1/ Version XL ?
2/ Tes fichiers "source" sont ils dans un m^me répertoire et les seuls ?
sinon, ont ils un nom générique style toto1, toto2... ?
où se trouve le fichier"cible" ?
3/ la structure des fichiers source est elle la m^me pour chaque classeur comme par exemple l'ordre des colonnes ? L'ordre est il le m^me dans le fichier "cible" ?
Toutes les colonnes sont elles à transférer ?
4/ mettre le classeur "cible" et 1 ou 2 classeurs "source" dans un zip et sans données confidentielles en pièce jointe sur
https://www.cjoint.com/
puis copier l'adresse du lien et la coller dans le message de réponse
Attention:
Si tu envoies des exemples , il faut que ceux-ci reflètent la réalité exacte des originaux: je ne recommence plus à coder et j'abandonne le suivi si j'ai en réponse à une proposition comme dans 90% des cas dans le style: "en fait , dans la réalité...." !
Tu joins donc 2 ou 3 classeurs sources avec env 500 lignes et le classeur cible
pour joindre des pièces
mettre les classeurs dans un .zip (pas de .rar) sans données confidentielles en pièce jointe sur
http://cjoint.com/
puis copier l'adresse du lien et la coller dans le message de réponse
Michel
Michel,
Merci pour la réactivité
voici les réponses aux questions :
1/ version XL : 2010 et 2007, mais je préfère avec 2010 si j'ai le choix
2/ actuellement le fichier cible se trouve dans un répertoire et les sources dans un sous répertoire du répertoire dans lequel se trouve le cible, les fichiers sources se trouvent tous dans le même et seul répertoire.
Mais on peut mettre le fichier cible avec les sources si ça facilite.
Les fichiers sources n'ont pas de noms génériques ; mais on peut le faire si ça facilite le travail
La structure des fichiers sources est très différentes, l'ordre de colonnes n'est pas respecté et même le nombre de colonnes ; mais on voudrait transférer que certaines colonnes (celles dont les noms est dans le fichier cible, cf. pièces jointes) même si certaines valeurs sont vides.
3/ je m'excuse car j'ai mis que 2 lignes par fichier ( avec excel 2007), les données sont assez confidentielles, en effet.
Le lien
https://www.cjoint.com/?0InpD3Ywaq7
En te remerciant
Merci pour la réactivité
voici les réponses aux questions :
1/ version XL : 2010 et 2007, mais je préfère avec 2010 si j'ai le choix
2/ actuellement le fichier cible se trouve dans un répertoire et les sources dans un sous répertoire du répertoire dans lequel se trouve le cible, les fichiers sources se trouvent tous dans le même et seul répertoire.
Mais on peut mettre le fichier cible avec les sources si ça facilite.
Les fichiers sources n'ont pas de noms génériques ; mais on peut le faire si ça facilite le travail
La structure des fichiers sources est très différentes, l'ordre de colonnes n'est pas respecté et même le nombre de colonnes ; mais on voudrait transférer que certaines colonnes (celles dont les noms est dans le fichier cible, cf. pièces jointes) même si certaines valeurs sont vides.
3/ je m'excuse car j'ai mis que 2 lignes par fichier ( avec excel 2007), les données sont assez confidentielles, en effet.
Le lien
https://www.cjoint.com/?0InpD3Ywaq7
En te remerciant
Bonjour j'ai un pb similaire j'aurai aimé voir les fichiers transmit sur cjoint pour m'inspirer mais c'est impossible michel_m peut tu venir a mon aide?
Bonjour,
j'ai le meme souhait de mettre à jour un fichier excel à partir d'un autre fichier excel (uniquement un pour mon cas). J'aimerais pouvoir par contre remplir les lignes du fichier cible en s'assurant que les informations des lignes du fichier source aient une reference commune avec la ligne cible rempli (clé de liaison).
Est-ce que vous pourriez m'aider à ce sujet ?
version excel 2010.
Bonne journée à tous.
j'ai le meme souhait de mettre à jour un fichier excel à partir d'un autre fichier excel (uniquement un pour mon cas). J'aimerais pouvoir par contre remplir les lignes du fichier cible en s'assurant que les informations des lignes du fichier source aient une reference commune avec la ligne cible rempli (clé de liaison).
Est-ce que vous pourriez m'aider à ce sujet ?
version excel 2010.
Bonne journée à tous.
bonjour
j'ai le même genre de problème , j'ai un classeur 1 qui va comporter au maximum 70 lignes , les lignes doivent se mettre dans le classeur 2 dans un fichier sur un autre disque dur , tous les jours je vais effacer le classeur 1 , par contre je voudrais que les données s'ajoute sur le classeur 2 ( exemple que le deuxième jour les donnée se mettent à la 71 eme ligne si le 70 première sont prisent.
merci d'avance
j'ai le même genre de problème , j'ai un classeur 1 qui va comporter au maximum 70 lignes , les lignes doivent se mettre dans le classeur 2 dans un fichier sur un autre disque dur , tous les jours je vais effacer le classeur 1 , par contre je voudrais que les données s'ajoute sur le classeur 2 ( exemple que le deuxième jour les donnée se mettent à la 71 eme ligne si le 70 première sont prisent.
merci d'avance
http://www.cjoint.com/c/FLrsCg46wJu
Bonjour,
Merci pour ta réponse rapide,
http://cjoint.com/data3/3FfrHwgUALl.htm
J'ai mis 3 fichiers sources et un fichier cible.
(J'ai renommé toutes les cases mais je ne pense pas que ce soit l'important).
Les fichiers sources ont ici 2-3 lignes, ils en font en réalité de 10 à 1000 (donc pas vraiment défini !).
Ce que j'aimerais donc serait voir les données de tous les tableaux source (de la ligne 2 à la fin de chacun, et toutes les colonnes) mis à la suite dans le fichier source (gardant donc les 2 même premières lignes).
Une solution macro VBA me paraissait effectivement être la solution.
Y a t il besoin d'autres informations ?
Merci !
Merci pour ta réponse rapide,
http://cjoint.com/data3/3FfrHwgUALl.htm
J'ai mis 3 fichiers sources et un fichier cible.
(J'ai renommé toutes les cases mais je ne pense pas que ce soit l'important).
Les fichiers sources ont ici 2-3 lignes, ils en font en réalité de 10 à 1000 (donc pas vraiment défini !).
Ce que j'aimerais donc serait voir les données de tous les tableaux source (de la ligne 2 à la fin de chacun, et toutes les colonnes) mis à la suite dans le fichier source (gardant donc les 2 même premières lignes).
Une solution macro VBA me paraissait effectivement être la solution.
Y a t il besoin d'autres informations ?
Merci !
OK, Merci de l'envoi :o)
ça devrait aller en espérant que l'ordre des colonnes soit le m^me (tu dis pb)
je prendrais comme générique du nom des classeurs sources....: bin "source"
et le classeur cible sera dans un repertoire et les sources dans 1 sous -répertoire
Je vois ça demain matin à la fraiche
ça devrait aller en espérant que l'ordre des colonnes soit le m^me (tu dis pb)
je prendrais comme générique du nom des classeurs sources....: bin "source"
et le classeur cible sera dans un repertoire et les sources dans 1 sous -répertoire
Je vois ça demain matin à la fraiche