Excel - Combinaison de tableaux
Pauline
-
gbinforme Messages postés 15481 Date d'inscription Statut Contributeur Dernière intervention -
gbinforme Messages postés 15481 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Petit probleme avec Excel... Je sollicite donc votre aide
J'ai une centaine de classeurs excel correspondant respectivement a des employes.
Sur chacune de ces feuilles est associe le nom de l employe en titre et suit dessous un petit tableau de donnes.
J'aimerai tout regrouper sur une meme feuille a la suite.
Nom de la personne1
Tableau1
Nom de la personne 2
Tableau2
Quelqu'un peut-il m'aider?
Merci
Pauline
Petit probleme avec Excel... Je sollicite donc votre aide
J'ai une centaine de classeurs excel correspondant respectivement a des employes.
Sur chacune de ces feuilles est associe le nom de l employe en titre et suit dessous un petit tableau de donnes.
J'aimerai tout regrouper sur une meme feuille a la suite.
Nom de la personne1
Tableau1
Nom de la personne 2
Tableau2
Quelqu'un peut-il m'aider?
Merci
Pauline
A voir également:
- Excel - Combinaison de tableaux
- Liste déroulante excel - Guide
- Trier un tableau excel - Guide
- Word et excel gratuit - Guide
- Imprimer un tableau excel - Guide
- Fusionner deux tableaux excel - Guide
12 réponses
bonjour
Pour cela il faut faire une macro Excel qui ouvre ta centaine de classeur et copie les données à la suite avant de refermer.
Je n'ai pas ce type de fonction opérationnelle sous la main et pour la mettre au point, comme c'est ponctuel, cela risque d'être plus long que de le faire manuellement.
Pour cela il faut faire une macro Excel qui ouvre ta centaine de classeur et copie les données à la suite avant de refermer.
Je n'ai pas ce type de fonction opérationnelle sous la main et pour la mettre au point, comme c'est ponctuel, cela risque d'être plus long que de le faire manuellement.
bonjour
Pour te permettre de le faire automatiquement utilises cette macro
Elle récupère tous les classeurs d'un dossier dans celui sur lequel elle est exécutée.
Si tu as besoin de plus d'informations, pose les questions.
Pour te permettre de le faire automatiquement utilises cette macro
Sub cop_rep()
Dim rep As String
Dim fich As String
rep = ActiveWorkbook.Path & "\" ' Définit le chemin d'accès.
fich = Dir(rep) ' Extrait la première entrée.
Do While fich <> "" ' boucle sur les classeurs
If Right(fich, 4) = ".xls" And fich <> ActiveWorkbook.Name Then
Workbooks.Open rep & fich
Cells.SpecialCells(xlCellTypeConstants).Copy
ActiveWorkbook.Close SaveChanges:=False
Cells(Cells.SpecialCells(xlCellTypeLastCell).Row + 2, 1).Select
ActiveSheet.Paste
End If
fich = Dir ' Extrait classeur suivant
Loop
End Sub
Elle récupère tous les classeurs d'un dossier dans celui sur lequel elle est exécutée.
Si tu as besoin de plus d'informations, pose les questions.
Merci beaucoup pour ta reponse.
Je suis novice en macro et me suis toujours debrouillee avec des formules hautement compliquees pour arriver a mes fins... mais la je n ai rien trouve!!
Tu vas peut etre trouver la question ridicule mais ou je rentre exactement cette macro dans excel et comment excel va savoir de quel classeur il s agit ?
Et enfin, qu est ce que je dois completer dans cette macro?
je te remercie bcp pr ton aide... car je me vois mal faire tt a la main et je savais bien que c etait possible avec Excel!!
Pauline
Je suis novice en macro et me suis toujours debrouillee avec des formules hautement compliquees pour arriver a mes fins... mais la je n ai rien trouve!!
Tu vas peut etre trouver la question ridicule mais ou je rentre exactement cette macro dans excel et comment excel va savoir de quel classeur il s agit ?
Et enfin, qu est ce que je dois completer dans cette macro?
je te remercie bcp pr ton aide... car je me vois mal faire tt a la main et je savais bien que c etait possible avec Excel!!
Pauline
bonjour
Tu vas peut etre trouver la question ridicule
hé bien non pas ridicule ta question car aucune question n'est ridicule et il n'y a de ridicule que ceux qui ne posent pas les questions et n'arrivent pas à résoudre les problèmes.
ou je rentre exactement cette macro dans excel
Il faut lancer l'éditeur de macro et donc menu outils / macro / visual basic editor ou plus simplement ALT + F11
Ensuite, sur le nouvel écran, il doit y avoir une fenêtre "projet" sinon il faut l'ouvrir avec CTRL + r
Dans cette fenêtre tu repères ton classeur et tu l'ouvres en cliquant sur la croix comme pour un répertoire.
Puis tu repères la feuille sur laquelle tu veux regrouper tes fichiers et en double clinquant tu ouvres une fenêtre.
Sur cette fenêtre il faut coller la macro ci-dessus que tu auras copiée (ctrl + c) au préalable.
comment excel va savoir de quel classeur il s agit ?
Le classeur qui va regrouper tes fichiers sera celui sur lequel tu as mis la macro.
J'ai considéré que ce classeur et tous ceux que tu veux regrouper et seulement ceux-là sont dans le même répertoire.
Si ce n'est pas le cas, je te dirais ce qu'il faut faire mais ce serait à mon avis plus pratique qu'il en soit ainsi.
Et enfin, qu est ce que je dois completer dans cette macro?
rien a priori sauf si tu me donnes d'autres valeurs pour ci-dessus.
Si tout va bien, il ne te reste plus qu'à lancer ta macro :
menu outils / macro / macros ou ALT + F8 et sur la fenêtre ta macro doit être sélectionnée et tu cliques sur exécuter.
à te lire pour le résultat !
Tu vas peut etre trouver la question ridicule
hé bien non pas ridicule ta question car aucune question n'est ridicule et il n'y a de ridicule que ceux qui ne posent pas les questions et n'arrivent pas à résoudre les problèmes.
ou je rentre exactement cette macro dans excel
Il faut lancer l'éditeur de macro et donc menu outils / macro / visual basic editor ou plus simplement ALT + F11
Ensuite, sur le nouvel écran, il doit y avoir une fenêtre "projet" sinon il faut l'ouvrir avec CTRL + r
Dans cette fenêtre tu repères ton classeur et tu l'ouvres en cliquant sur la croix comme pour un répertoire.
Puis tu repères la feuille sur laquelle tu veux regrouper tes fichiers et en double clinquant tu ouvres une fenêtre.
Sur cette fenêtre il faut coller la macro ci-dessus que tu auras copiée (ctrl + c) au préalable.
comment excel va savoir de quel classeur il s agit ?
Le classeur qui va regrouper tes fichiers sera celui sur lequel tu as mis la macro.
J'ai considéré que ce classeur et tous ceux que tu veux regrouper et seulement ceux-là sont dans le même répertoire.
Si ce n'est pas le cas, je te dirais ce qu'il faut faire mais ce serait à mon avis plus pratique qu'il en soit ainsi.
Et enfin, qu est ce que je dois completer dans cette macro?
rien a priori sauf si tu me donnes d'autres valeurs pour ci-dessus.
Si tout va bien, il ne te reste plus qu'à lancer ta macro :
menu outils / macro / macros ou ALT + F8 et sur la fenêtre ta macro doit être sélectionnée et tu cliques sur exécuter.
à te lire pour le résultat !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Merci pour ton aide mais ça ne fonctionne pas :-(
Toutes les feuilles de calculs des différents employés sont sur des fichiers différents. Ils n'appartiennent pas à un meme classeur, ce ne sont pas des onglets qui se suivent. En revanche, ils sont dans un meme dossier.
J'ai trouvé où rentrer la macro mais rine ne se passe quand ensuite je l'éxécute... AaaaAArrggghh !
J'ai peut etre également oublié de te préciser que le logiciel est en anglais. (Je suis en Angleterre). ça peut changer quelque chose?
Dans l'attente de te lire....
Merci pour ton aide mais ça ne fonctionne pas :-(
Toutes les feuilles de calculs des différents employés sont sur des fichiers différents. Ils n'appartiennent pas à un meme classeur, ce ne sont pas des onglets qui se suivent. En revanche, ils sont dans un meme dossier.
J'ai trouvé où rentrer la macro mais rine ne se passe quand ensuite je l'éxécute... AaaaAArrggghh !
J'ai peut etre également oublié de te préciser que le logiciel est en anglais. (Je suis en Angleterre). ça peut changer quelque chose?
Dans l'attente de te lire....
bonjour
les feuilles de calculs des différents employés sont sur des fichiers différents... ils sont dans un meme dossier.
C'est bien ainsi que cela fonctionne. Par contre il faut que ton classeur de regroupement soit aussi situé sur ce répertoire et il récupère normalement le contenu de tous les autres classeurs.
Tes classeurs employés ont-ils plusieurs feuilles ?
La macro est écrite en anglais donc pas de problème.
@+
les feuilles de calculs des différents employés sont sur des fichiers différents... ils sont dans un meme dossier.
C'est bien ainsi que cela fonctionne. Par contre il faut que ton classeur de regroupement soit aussi situé sur ce répertoire et il récupère normalement le contenu de tous les autres classeurs.
Tes classeurs employés ont-ils plusieurs feuilles ?
La macro est écrite en anglais donc pas de problème.
@+
Bonjour,
Maintenant j'ai tout mis dans le même dossier ainsi que la feuille surlaquelle je souhaite executer la macro.
Je fais les étapes citées, et lorsque j'éxecute la macro et...
Excel m'emmène dans le premier fichier employé et une fenêtre apparaît avec:
Microsoft Visual Basic
Une grosse croix entourée d'un rond rouge et 400
Là, je n'ai que la possibilité de taper ok.
et rien ne se passe...
A + + +
Maintenant j'ai tout mis dans le même dossier ainsi que la feuille surlaquelle je souhaite executer la macro.
Je fais les étapes citées, et lorsque j'éxecute la macro et...
Excel m'emmène dans le premier fichier employé et une fenêtre apparaît avec:
Microsoft Visual Basic
Une grosse croix entourée d'un rond rouge et 400
Là, je n'ai que la possibilité de taper ok.
et rien ne se passe...
A + + +
bonjour
C'est effectivement une erreur que je n'ai pas et je n'ai pas non plus le même contexte.
Au lieu de faire "exécuter" (bouton1) essaies de faire "pas à pas" (bouton3)
Ceci va t'ouvrir l'éditeur et tu tapes F8 pour passer les lignes et tu me mets celle sur laquelle tu t'arrêtes.
Afin de voir ce qui bloque et tu me dis si tu as exécuté plus d'une boucle (instruction "dir"
C'est effectivement une erreur que je n'ai pas et je n'ai pas non plus le même contexte.
Au lieu de faire "exécuter" (bouton1) essaies de faire "pas à pas" (bouton3)
Ceci va t'ouvrir l'éditeur et tu tapes F8 pour passer les lignes et tu me mets celle sur laquelle tu t'arrêtes.
Afin de voir ce qui bloque et tu me dis si tu as exécuté plus d'une boucle (instruction "dir"
Bonjour,
Le message d'erreur s'affiche à cet endroit :
Cells.SpecialCells(xlCellTypeConstants).Copy
En revanche, je suis incapable de dire le nombre de boucles effectuées... Désolée!
En espérant que ces renseignements aident !
Le message d'erreur s'affiche à cet endroit :
Cells.SpecialCells(xlCellTypeConstants).Copy
En revanche, je suis incapable de dire le nombre de boucles effectuées... Désolée!
En espérant que ces renseignements aident !
bonjour
En fait, c'est que tu as un classeur vide ou du moins qui s'ouvre sur une feuille vide.
Pour résoudre le souci, tu vas changer la macro afin de ne pas bloquer sur l'erreur.
Celle-ci ne bloque pas et insère le nom du fichier ajouté.
Tu auras dans ton fichier l'employé précédent en double et avec le nom du fichier tu pourras voir le fichier fautif.
En fait, c'est que tu as un classeur vide ou du moins qui s'ouvre sur une feuille vide.
Pour résoudre le souci, tu vas changer la macro afin de ne pas bloquer sur l'erreur.
Celle-ci ne bloque pas et insère le nom du fichier ajouté.
Sub cop_rep()
Dim rep As String
Dim fich As String
rep = ActiveWorkbook.Path & "\" ' Définit le chemin d'accès.
fich = Dir(rep) ' Extrait la première entrée.
Do While fich <> "" ' boucle sur les classeurs
If Right(fich, 4) = ".xls" And fich <> ActiveWorkbook.Name Then
Cells(Cells.SpecialCells(xlCellTypeLastCell).Row + 2, 1).Value = fich
Workbooks.Open rep & fich
On Error Resume Next
Cells.SpecialCells(xlCellTypeConstants).Copy
On Error GoTo 0
ActiveWorkbook.Close SaveChanges:=False
Cells(Cells.SpecialCells(xlCellTypeLastCell).Row + 2, 1).Select
ActiveSheet.Paste
End If
fich = Dir ' Extrait classeur suivant
Loop
End Sub
Tu auras dans ton fichier l'employé précédent en double et avec le nom du fichier tu pourras voir le fichier fautif.
Hello,
je viens d'executer la macro... Tout d'abord, j'y ai cru, Excel a commence a ouvrir des fichiers puis a cree une liste cependant cette liste mais a la suite les uns des autres les titres des fichiers des classeurs et non les tableaux s y trouvant...
et ensuite nouveau message:
Cells(Cells.SpecialCells(xlCellTypeLastCell).Row + 2, 1).Select
Aaaarrgghh!
je viens d'executer la macro... Tout d'abord, j'y ai cru, Excel a commence a ouvrir des fichiers puis a cree une liste cependant cette liste mais a la suite les uns des autres les titres des fichiers des classeurs et non les tableaux s y trouvant...
et ensuite nouveau message:
Cells(Cells.SpecialCells(xlCellTypeLastCell).Row + 2, 1).Select
Aaaarrgghh!