Copie de données excel dans un unique onglet..

gbouhier Messages postés 3 Date d'inscription jeudi 3 novembre 2005 Statut Membre Dernière intervention 16 avril 2007 - 3 nov. 2005 à 11:14
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 - 5 nov. 2005 à 01:05
Bonjour à tous,

Dans le cadre de mon boulot, je suis régulièrement confronté au problème suivant :
je reçois un fichier excel d'un client avec des données que je dois traiter..
mais pour que le traitement soit réalisable, toutes les données doivent être sur le même onglet. Mon problème c'est qu'il y a jusqu'à 60 onglets et cette opération manuelle de recopie est une grande perte de temps!!
Sur chaque onglet excel, les données sont sous cette forme :
01/01/01 00:00 111 222 333 444 555 666
....
Et ainsi de suite.
Est-ce que quelqu'un pourrait m'expliquer comment créer une macro qui, quelque soit le nombre d'onglets, puisse compiler les données sur une seule feuille?
JE suis nouveau sur le site et débutant dans la pratique de macros et VBA sur Excel. Je cous remercie d'avance la communauté pour votre aide.!!!
Merci

5 réponses

valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
3 nov. 2005 à 23:54
Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
0
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
3 nov. 2005 à 23:56
hé bé ma tout zapé ......
Bon je disais as-tu un ou deux classeurs d'ouvert quand tu fais la manip ?

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
0
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
4 nov. 2005 à 01:00
re,
bon voilà un bout de code qui devrais te convenir les deux classeurs doivent être ouverts. Tu peux lancer la copy par l'intermédiaire d'un bouton ou du menu

Private Sub CommandButton1_Click()


Dim Cl1 As String: Dim Cl2 As String: Dim xlSh As String


Dim lLastRow As Long


Dim sh As Worksheet


'*** Ici Paramètre le nom de tes classeurs


Cl1 "IciTonClasseur" 'ex: Cl1 "Classeur1"


Cl2 "IciClasseurClient" 'ex: Cl2 "Classeur2"


xlSh "FeuilleOuSeronsCopierLesDonnées" 'ex: xlSh "Feuil1"


For Each sh In Workbooks(Cl2).Sheets


sh.UsedRange.Copy


With Workbooks(Cl1).Sheets(xlSh)


'*** Ici je cherche la dernière ligne vide sur la la feuille


lLastRow = .UsedRange.Rows(UsedRange.Rows.Count).Row


If lLastRow 1 Then lLastRow 0


.Paste Destination:=.Cells(lLastRow + 1 , 1 )


End With


Application.CutCopyMode = False
Next


End Sub

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
0
gbouhier Messages postés 3 Date d'inscription jeudi 3 novembre 2005 Statut Membre Dernière intervention 16 avril 2007
4 nov. 2005 à 09:37
Bonjour Jean-Paul,

Tout d'abord je tiens vivement à te remercier pour ta réponse aussi rapide, quelle joie de voir que l'on est pas seul quand on a un problème !!

J'ai donc copier les lignes de commande et assigner la macro ainsi enregistrée à un bouton ( après avoir renseigné les champs des classeurs et feuilles) , puis lancer la macro :
cette dernière s'est bloquée sur la ligne suivante :

"For Each sh In Workbooks(Cl2).Sheets" avec l'erreur suivante : "Run-time error '9' : subscript out of range

Que dois-je faire?

Merci!!
0

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

Posez votre question
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
5 nov. 2005 à 01:05
Lut,
Voilà les question à se poser:
- y a t-il bien deux classeurs d'ouvert
- Cl1, Cl2, xlSh sont-ils bien assignés ex: Cl1 = "Classeur1" et non pas "Classeur1.xls"

Si cela ne régle pas ton problème poste ton code que je le regarde soit sur le forum soit en privé
pour info je teste tous les codes avant de les poster sur excel 2003

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
0
Rejoignez-nous