J'espère que Daniel verra mon message: nous avons échangé plusieurs fois,
mais je ne crois pas qu'il ait vu mon dernier message...
Je lance une nouvelle bouteille à la mer
cordialement,
Marc D
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news:433679a8$0$14210$Bonjour Daniel,
je reviens après plusieurs jours d'absence, et je suis surpris de
constaterqu'un post que j'avais déposé en réponse à ce message n'apparait pas.
J'ai constaté effectivement que j'avais fait une erreur en appelant
l'onglet"global" sans majuscule. Maintenant, ça marche correctement. Merci
beaucouppour ton aide.
Mais en fait, je constate que le pb est un peu plus compliqué que prévu.
Les listes de longueur variable dans les onglets à compiler sont des
listesmises à jour par des interlocuteurs différents: le fichier doit être
déposésur un répertoire partagé d'un réseau et partagé entre plusieurs
utilisateurs.
Dans ces conditions, la macro ne peut plus fonctionner. La solution qui
me
semble possible est de séparer le fichier en deux. L'un contiendra les
différents onglets de saisie: c'est lui qui sera partagé. L'autre
contiendrala macro de compil, et doit aller chercher ses données dans les onglets
du
premier. Celui-là n'a pas besoin d'être partagé.
Comment faire évoluer la macro pour qu'elle aille chercher ses valeurs
dansun autre fichier ?
Cordialement,
Marc D
"Daniel" a écrit dans le message de
news:%23DJ4b%Mon code fonctionne tel quel. Es-tu sûr que ta feuille s'appelle
"Global"etnon pas "global", car le test est sensible à la casse.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news: 432c7390$0$16654$pour le nb de colonnes, la modif marche très bien, merci
pour le pb signalé auparavant (lignes des onglets copiées une
deuxième
fois,
j'ai modifié la macro
For i = 1 To Sheets.Count
en :
For i = 1 To Sheets.Count - 1
et là ça marche,
pourtant, il y avait bien une limite prévue par:
If Sheets(i).Name <> "Global" Then
mais j'ai l'impression que la macro recopie les lignes de tous les
onglets,
puis qu'elle prend aussi les lignes de l'onglet "global"
merci encore,
Marc D
"Daniel" a écrit dans le message de
news:%Bizarre. Je n'ai pas ce problème. est-ce qu'un gourou peut se
pencher
surleproblème ?
Pour le nombre de colonnes :
remplace :
Range("A2", Range("B65536").End(xlUp)).Copy _
Sheets("Global").Cells(Ctr, 1)
par :
Range("A2").Resize(Range("A65536").End(xlUp).Row - 1, _
Range("IV1").End(xlToLeft).Column).copy _
Sheets("Global").Cells(Ctr, 1)
Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message
denews: 432c43e6$0$16401$Merci Daniel, ça marche... presque
j'ai fait un classeur avec trois onglets (feuil1, feuil2, feuil3),
j'aiajouté un onglet "global" vierge
j'ai constaté deux cas:
1/ si l'onglet global est en dernière position, la macro recopie
bienla
ligne de titres + les lignes de données des 3 onglets (il y en
avait28autotal), mais il rajoute une deuxième fois ces mêmes 28 lignes
2/ si l'onglet global est en première position, il ne copie les 28
lignesqu'une seule fois, mais la ligne de titre est doublée
Autre question: j'ai adapté le nb de colonnes en choisissant
d'allerjusqu'à
la colonne E
Range("A2", Range("e65536").End(xlUp)).Copy
mais comment faire pour que la macro détecte elle-même le nb de
colonnes
?
Merci de ton aide
Marc D
"Daniel" a écrit dans le message de
news:Bonsoir.
Le code suivant doit marcher. Je l'ai fait avec deux colonnes.
Modifie-lesuivant tes besoins :
Sub test()
Dim Ctr As Long, i As Integer
Sheets("Feuil1").Rows(1).Copy Sheets("Global").Rows(1)
Ctr = 2
For i = 1 To Sheets.Count
If Sheets(i).Name <> "Global" Then
Sheets(i).Activate
Range("A2", Range("B65536").End(xlUp)).Copy _
Sheets("Global").Cells(Ctr, 1)
Ctr = Ctr + Range("A65536").End(xlUp).Row - 1
End If
Next i
End Sub
Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le
messagede
news: 432b27d4$0$18213$Bonjour,
voici ce que je voudrais faire:
sur plusieurs onglets d'un fichier, j'ai des données sous forme
delistes(bases de données avec entête de colonnes en première ligne)
les onglets ont tous le même nombre de colonnes, avec les mêmes
entêtesle nombre de lignes est différent d'un onglet à l'autre (chaque
ligne
estun
article différent)
je voudrais faire une macro qui rassemble toutes les données
des
onglets
en
une seule liste, plus facile à traiter ensuite sous forme de
TcD
comment m'y prendre ?
Merci de votre aide
Marc D
J'espère que Daniel verra mon message: nous avons échangé plusieurs fois,
mais je ne crois pas qu'il ait vu mon dernier message...
Je lance une nouvelle bouteille à la mer
cordialement,
Marc D
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news:433679a8$0$14210$79c14f64@nan-newsreader-05.noos.net...
Bonjour Daniel,
je reviens après plusieurs jours d'absence, et je suis surpris de
constater
qu'un post que j'avais déposé en réponse à ce message n'apparait pas.
J'ai constaté effectivement que j'avais fait une erreur en appelant
l'onglet
"global" sans majuscule. Maintenant, ça marche correctement. Merci
beaucoup
pour ton aide.
Mais en fait, je constate que le pb est un peu plus compliqué que prévu.
Les listes de longueur variable dans les onglets à compiler sont des
listes
mises à jour par des interlocuteurs différents: le fichier doit être
déposé
sur un répertoire partagé d'un réseau et partagé entre plusieurs
utilisateurs.
Dans ces conditions, la macro ne peut plus fonctionner. La solution qui
me
semble possible est de séparer le fichier en deux. L'un contiendra les
différents onglets de saisie: c'est lui qui sera partagé. L'autre
contiendra
la macro de compil, et doit aller chercher ses données dans les onglets
du
premier. Celui-là n'a pas besoin d'être partagé.
Comment faire évoluer la macro pour qu'elle aille chercher ses valeurs
dans
un autre fichier ?
Cordialement,
Marc D
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de
news:%23DJ4b%238uFHA.3124@TK2MSFTNGP12.phx.gbl...
Mon code fonctionne tel quel. Es-tu sûr que ta feuille s'appelle
"Global"
et
non pas "global", car le test est sensible à la casse.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news: 432c7390$0$16654$79c14f64@nan-newsreader-07.noos.net...
pour le nb de colonnes, la modif marche très bien, merci
pour le pb signalé auparavant (lignes des onglets copiées une
deuxième
fois,
j'ai modifié la macro
For i = 1 To Sheets.Count
en :
For i = 1 To Sheets.Count - 1
et là ça marche,
pourtant, il y avait bien une limite prévue par:
If Sheets(i).Name <> "Global" Then
mais j'ai l'impression que la macro recopie les lignes de tous les
onglets,
puis qu'elle prend aussi les lignes de l'onglet "global"
merci encore,
Marc D
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de
news:%23PiTX07uFHA.740@TK2MSFTNGP10.phx.gbl...
Bizarre. Je n'ai pas ce problème. est-ce qu'un gourou peut se
pencher
sur
le
problème ?
Pour le nombre de colonnes :
remplace :
Range("A2", Range("B65536").End(xlUp)).Copy _
Sheets("Global").Cells(Ctr, 1)
par :
Range("A2").Resize(Range("A65536").End(xlUp).Row - 1, _
Range("IV1").End(xlToLeft).Column).copy _
Sheets("Global").Cells(Ctr, 1)
Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message
de
news: 432c43e6$0$16401$79c14f64@nan-newsreader-07.noos.net...
Merci Daniel, ça marche... presque
j'ai fait un classeur avec trois onglets (feuil1, feuil2, feuil3),
j'ai
ajouté un onglet "global" vierge
j'ai constaté deux cas:
1/ si l'onglet global est en dernière position, la macro recopie
bien
la
ligne de titres + les lignes de données des 3 onglets (il y en
avait
28
au
total), mais il rajoute une deuxième fois ces mêmes 28 lignes
2/ si l'onglet global est en première position, il ne copie les 28
lignes
qu'une seule fois, mais la ligne de titre est doublée
Autre question: j'ai adapté le nb de colonnes en choisissant
d'aller
jusqu'à
la colonne E
Range("A2", Range("e65536").End(xlUp)).Copy
mais comment faire pour que la macro détecte elle-même le nb de
colonnes
?
Merci de ton aide
Marc D
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de
news:OFqGWXwuFHA.904@tk2msftngp13.phx.gbl...
Bonsoir.
Le code suivant doit marcher. Je l'ai fait avec deux colonnes.
Modifie-le
suivant tes besoins :
Sub test()
Dim Ctr As Long, i As Integer
Sheets("Feuil1").Rows(1).Copy Sheets("Global").Rows(1)
Ctr = 2
For i = 1 To Sheets.Count
If Sheets(i).Name <> "Global" Then
Sheets(i).Activate
Range("A2", Range("B65536").End(xlUp)).Copy _
Sheets("Global").Cells(Ctr, 1)
Ctr = Ctr + Range("A65536").End(xlUp).Row - 1
End If
Next i
End Sub
Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le
message
de
news: 432b27d4$0$18213$79c14f64@nan-newsreader-06.noos.net...
Bonjour,
voici ce que je voudrais faire:
sur plusieurs onglets d'un fichier, j'ai des données sous forme
de
listes
(bases de données avec entête de colonnes en première ligne)
les onglets ont tous le même nombre de colonnes, avec les mêmes
entêtes
le nombre de lignes est différent d'un onglet à l'autre (chaque
ligne
est
un
article différent)
je voudrais faire une macro qui rassemble toutes les données
des
onglets
en
une seule liste, plus facile à traiter ensuite sous forme de
TcD
comment m'y prendre ?
Merci de votre aide
Marc D
J'espère que Daniel verra mon message: nous avons échangé plusieurs fois,
mais je ne crois pas qu'il ait vu mon dernier message...
Je lance une nouvelle bouteille à la mer
cordialement,
Marc D
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news:433679a8$0$14210$Bonjour Daniel,
je reviens après plusieurs jours d'absence, et je suis surpris de
constaterqu'un post que j'avais déposé en réponse à ce message n'apparait pas.
J'ai constaté effectivement que j'avais fait une erreur en appelant
l'onglet"global" sans majuscule. Maintenant, ça marche correctement. Merci
beaucouppour ton aide.
Mais en fait, je constate que le pb est un peu plus compliqué que prévu.
Les listes de longueur variable dans les onglets à compiler sont des
listesmises à jour par des interlocuteurs différents: le fichier doit être
déposésur un répertoire partagé d'un réseau et partagé entre plusieurs
utilisateurs.
Dans ces conditions, la macro ne peut plus fonctionner. La solution qui
me
semble possible est de séparer le fichier en deux. L'un contiendra les
différents onglets de saisie: c'est lui qui sera partagé. L'autre
contiendrala macro de compil, et doit aller chercher ses données dans les onglets
du
premier. Celui-là n'a pas besoin d'être partagé.
Comment faire évoluer la macro pour qu'elle aille chercher ses valeurs
dansun autre fichier ?
Cordialement,
Marc D
"Daniel" a écrit dans le message de
news:%23DJ4b%Mon code fonctionne tel quel. Es-tu sûr que ta feuille s'appelle
"Global"etnon pas "global", car le test est sensible à la casse.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news: 432c7390$0$16654$pour le nb de colonnes, la modif marche très bien, merci
pour le pb signalé auparavant (lignes des onglets copiées une
deuxième
fois,
j'ai modifié la macro
For i = 1 To Sheets.Count
en :
For i = 1 To Sheets.Count - 1
et là ça marche,
pourtant, il y avait bien une limite prévue par:
If Sheets(i).Name <> "Global" Then
mais j'ai l'impression que la macro recopie les lignes de tous les
onglets,
puis qu'elle prend aussi les lignes de l'onglet "global"
merci encore,
Marc D
"Daniel" a écrit dans le message de
news:%Bizarre. Je n'ai pas ce problème. est-ce qu'un gourou peut se
pencher
surleproblème ?
Pour le nombre de colonnes :
remplace :
Range("A2", Range("B65536").End(xlUp)).Copy _
Sheets("Global").Cells(Ctr, 1)
par :
Range("A2").Resize(Range("A65536").End(xlUp).Row - 1, _
Range("IV1").End(xlToLeft).Column).copy _
Sheets("Global").Cells(Ctr, 1)
Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message
denews: 432c43e6$0$16401$Merci Daniel, ça marche... presque
j'ai fait un classeur avec trois onglets (feuil1, feuil2, feuil3),
j'aiajouté un onglet "global" vierge
j'ai constaté deux cas:
1/ si l'onglet global est en dernière position, la macro recopie
bienla
ligne de titres + les lignes de données des 3 onglets (il y en
avait28autotal), mais il rajoute une deuxième fois ces mêmes 28 lignes
2/ si l'onglet global est en première position, il ne copie les 28
lignesqu'une seule fois, mais la ligne de titre est doublée
Autre question: j'ai adapté le nb de colonnes en choisissant
d'allerjusqu'à
la colonne E
Range("A2", Range("e65536").End(xlUp)).Copy
mais comment faire pour que la macro détecte elle-même le nb de
colonnes
?
Merci de ton aide
Marc D
"Daniel" a écrit dans le message de
news:Bonsoir.
Le code suivant doit marcher. Je l'ai fait avec deux colonnes.
Modifie-lesuivant tes besoins :
Sub test()
Dim Ctr As Long, i As Integer
Sheets("Feuil1").Rows(1).Copy Sheets("Global").Rows(1)
Ctr = 2
For i = 1 To Sheets.Count
If Sheets(i).Name <> "Global" Then
Sheets(i).Activate
Range("A2", Range("B65536").End(xlUp)).Copy _
Sheets("Global").Cells(Ctr, 1)
Ctr = Ctr + Range("A65536").End(xlUp).Row - 1
End If
Next i
End Sub
Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le
messagede
news: 432b27d4$0$18213$Bonjour,
voici ce que je voudrais faire:
sur plusieurs onglets d'un fichier, j'ai des données sous forme
delistes(bases de données avec entête de colonnes en première ligne)
les onglets ont tous le même nombre de colonnes, avec les mêmes
entêtesle nombre de lignes est différent d'un onglet à l'autre (chaque
ligne
estun
article différent)
je voudrais faire une macro qui rassemble toutes les données
des
onglets
en
une seule liste, plus facile à traiter ensuite sous forme de
TcD
comment m'y prendre ?
Merci de votre aide
Marc D
Bonjour.
Désolé, je ne me rappelle plus exactement de la question, sinon de la
majuscule de "Global".
Le mieux serait de reposter l'ensemble de ton problème sans me l'adresser
en
particulier, afin que de plus savants que moi puissent aussi y réfléchir.
Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news: 433e926e$1$25983$J'espère que Daniel verra mon message: nous avons échangé plusieurs
fois,
mais je ne crois pas qu'il ait vu mon dernier message...
Je lance une nouvelle bouteille à la mer
cordialement,
Marc D
Bonjour.
Désolé, je ne me rappelle plus exactement de la question, sinon de la
majuscule de "Global".
Le mieux serait de reposter l'ensemble de ton problème sans me l'adresser
en
particulier, afin que de plus savants que moi puissent aussi y réfléchir.
Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news: 433e926e$1$25983$79c14f64@nan-newsreader-05.noos.net...
J'espère que Daniel verra mon message: nous avons échangé plusieurs
fois,
mais je ne crois pas qu'il ait vu mon dernier message...
Je lance une nouvelle bouteille à la mer
cordialement,
Marc D
Bonjour.
Désolé, je ne me rappelle plus exactement de la question, sinon de la
majuscule de "Global".
Le mieux serait de reposter l'ensemble de ton problème sans me l'adresser
en
particulier, afin que de plus savants que moi puissent aussi y réfléchir.
Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news: 433e926e$1$25983$J'espère que Daniel verra mon message: nous avons échangé plusieurs
fois,
mais je ne crois pas qu'il ait vu mon dernier message...
Je lance une nouvelle bouteille à la mer
cordialement,
Marc D
Bonjour,
voici ce que je voudrais faire:
sur plusieurs onglets d'un fichier, j'ai des données sous forme de listes
(bases de données avec entête de colonnes en première ligne)
les onglets ont tous le même nombre de colonnes, avec les mêmes entêtes
le nombre de lignes est différent d'un onglet à l'autre (chaque ligne est
un
article différent)
je voudrais faire une macro qui rassemble toutes les données des onglets
en
une seule liste, plus facile à traiter ensuite sous forme de TcD
Information complémentaire:
le fichier ci-dessus est un fichier A de saisie de données : il est déposé
sur un répertoire d'un réseau, et plusieurs participants peuvent y accéder
simultanément (fichier partagé)
je souhaite que la macro soit dans un autre fichier B, où serait créée la
compil: cette compil servira de table de données pour un TcD
c'est à cause de ce TcD que je pense préférable de séparer en 2 fichiers
(un
de saisie, et un de traitement)
La macro proposée par Daniel dans les messages précédents marche bien,
mais
elle crée la compil sous forme d'un onglet Global dans le fichier initial
Merci de votre aide
Marc D
"Daniel" a écrit dans le message de
news:%Bonjour.
Désolé, je ne me rappelle plus exactement de la question, sinon de la
majuscule de "Global".
Le mieux serait de reposter l'ensemble de ton problème sans me l'adresser
enparticulier, afin que de plus savants que moi puissent aussi y réfléchir.
Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news: 433e926e$1$25983$J'espère que Daniel verra mon message: nous avons échangé plusieurs
fois,mais je ne crois pas qu'il ait vu mon dernier message...
Je lance une nouvelle bouteille à la mer
cordialement,
Marc D
Bonjour,
voici ce que je voudrais faire:
sur plusieurs onglets d'un fichier, j'ai des données sous forme de listes
(bases de données avec entête de colonnes en première ligne)
les onglets ont tous le même nombre de colonnes, avec les mêmes entêtes
le nombre de lignes est différent d'un onglet à l'autre (chaque ligne est
un
article différent)
je voudrais faire une macro qui rassemble toutes les données des onglets
en
une seule liste, plus facile à traiter ensuite sous forme de TcD
Information complémentaire:
le fichier ci-dessus est un fichier A de saisie de données : il est déposé
sur un répertoire d'un réseau, et plusieurs participants peuvent y accéder
simultanément (fichier partagé)
je souhaite que la macro soit dans un autre fichier B, où serait créée la
compil: cette compil servira de table de données pour un TcD
c'est à cause de ce TcD que je pense préférable de séparer en 2 fichiers
(un
de saisie, et un de traitement)
La macro proposée par Daniel dans les messages précédents marche bien,
mais
elle crée la compil sous forme d'un onglet Global dans le fichier initial
Merci de votre aide
Marc D
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de
news:%23lC1BVpxFHA.736@tk2msftngp13.phx.gbl...
Bonjour.
Désolé, je ne me rappelle plus exactement de la question, sinon de la
majuscule de "Global".
Le mieux serait de reposter l'ensemble de ton problème sans me l'adresser
en
particulier, afin que de plus savants que moi puissent aussi y réfléchir.
Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news: 433e926e$1$25983$79c14f64@nan-newsreader-05.noos.net...
J'espère que Daniel verra mon message: nous avons échangé plusieurs
fois,
mais je ne crois pas qu'il ait vu mon dernier message...
Je lance une nouvelle bouteille à la mer
cordialement,
Marc D
Bonjour,
voici ce que je voudrais faire:
sur plusieurs onglets d'un fichier, j'ai des données sous forme de listes
(bases de données avec entête de colonnes en première ligne)
les onglets ont tous le même nombre de colonnes, avec les mêmes entêtes
le nombre de lignes est différent d'un onglet à l'autre (chaque ligne est
un
article différent)
je voudrais faire une macro qui rassemble toutes les données des onglets
en
une seule liste, plus facile à traiter ensuite sous forme de TcD
Information complémentaire:
le fichier ci-dessus est un fichier A de saisie de données : il est déposé
sur un répertoire d'un réseau, et plusieurs participants peuvent y accéder
simultanément (fichier partagé)
je souhaite que la macro soit dans un autre fichier B, où serait créée la
compil: cette compil servira de table de données pour un TcD
c'est à cause de ce TcD que je pense préférable de séparer en 2 fichiers
(un
de saisie, et un de traitement)
La macro proposée par Daniel dans les messages précédents marche bien,
mais
elle crée la compil sous forme d'un onglet Global dans le fichier initial
Merci de votre aide
Marc D
"Daniel" a écrit dans le message de
news:%Bonjour.
Désolé, je ne me rappelle plus exactement de la question, sinon de la
majuscule de "Global".
Le mieux serait de reposter l'ensemble de ton problème sans me l'adresser
enparticulier, afin que de plus savants que moi puissent aussi y réfléchir.
Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news: 433e926e$1$25983$J'espère que Daniel verra mon message: nous avons échangé plusieurs
fois,mais je ne crois pas qu'il ait vu mon dernier message...
Je lance une nouvelle bouteille à la mer
cordialement,
Marc D
Je crois que tu aurais dû initialiser un nouveau fil avec un nouveau
titre.
En fouillant dans mes archives, j'ai retrouvé la macro suivante avec un
fichier source en lecture et un fichier "cible" de regroupement.
Je ne me rapelle plus si je l'avais publié. Je le remets à tout hasard :
Sub test()
Dim Ctr As Long, i As Integer
Workbooks("SOURCE.xls").Activate
Sheets("Feuil1").Rows(1).Copy
Workbooks("CIBLE.xls").Activate
Sheets("Global").Paste
Ctr = 2
Workbooks("SOURCE.xls").Activate
For i = 1 To Sheets.Count
Workbooks("SOURCE.xls").Activate
Sheets(i).Activate
Range("A2").Resize(Range("A65536").End(xlUp).Row - 1, _
Range("IV1").End(xlToLeft).Column).Copy
Workbooks("CIBLE.xls").Activate
Sheets("Global").Select
Cells(Ctr, 1).Select
Sheets("Global").Paste
Ctr = Range("A65536").End(xlUp).Row + 1
Next i
End Sub
Un peu bousculé en ce moment avec la rentrée scolaire et le déménagement
de
mes gamins, mais ça commence à se calmer.
Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news: 433ea381$0$25975$Bonjour,
voici ce que je voudrais faire:
sur plusieurs onglets d'un fichier, j'ai des données sous forme de
listes
(bases de données avec entête de colonnes en première ligne)
les onglets ont tous le même nombre de colonnes, avec les mêmes entêtes
le nombre de lignes est différent d'un onglet à l'autre (chaque ligne
est
un
article différent)
je voudrais faire une macro qui rassemble toutes les données des onglets
en
une seule liste, plus facile à traiter ensuite sous forme de TcD
Information complémentaire:
le fichier ci-dessus est un fichier A de saisie de données : il est
déposé
sur un répertoire d'un réseau, et plusieurs participants peuvent y
accéder
simultanément (fichier partagé)
je souhaite que la macro soit dans un autre fichier B, où serait créée
la
compil: cette compil servira de table de données pour un TcD
c'est à cause de ce TcD que je pense préférable de séparer en 2 fichiers
(un
de saisie, et un de traitement)
La macro proposée par Daniel dans les messages précédents marche bien,
mais
elle crée la compil sous forme d'un onglet Global dans le fichier
initial
Merci de votre aide
Marc D
"Daniel" a écrit dans le message de
news:%Bonjour.
Désolé, je ne me rappelle plus exactement de la question, sinon de la
majuscule de "Global".
Le mieux serait de reposter l'ensemble de ton problème sans me
l'adresser
enparticulier, afin que de plus savants que moi puissent aussi y
réfléchir.
Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news: 433e926e$1$25983$J'espère que Daniel verra mon message: nous avons échangé plusieurs
fois,mais je ne crois pas qu'il ait vu mon dernier message...
Je lance une nouvelle bouteille à la mer
cordialement,
Marc D
Je crois que tu aurais dû initialiser un nouveau fil avec un nouveau
titre.
En fouillant dans mes archives, j'ai retrouvé la macro suivante avec un
fichier source en lecture et un fichier "cible" de regroupement.
Je ne me rapelle plus si je l'avais publié. Je le remets à tout hasard :
Sub test()
Dim Ctr As Long, i As Integer
Workbooks("SOURCE.xls").Activate
Sheets("Feuil1").Rows(1).Copy
Workbooks("CIBLE.xls").Activate
Sheets("Global").Paste
Ctr = 2
Workbooks("SOURCE.xls").Activate
For i = 1 To Sheets.Count
Workbooks("SOURCE.xls").Activate
Sheets(i).Activate
Range("A2").Resize(Range("A65536").End(xlUp).Row - 1, _
Range("IV1").End(xlToLeft).Column).Copy
Workbooks("CIBLE.xls").Activate
Sheets("Global").Select
Cells(Ctr, 1).Select
Sheets("Global").Paste
Ctr = Range("A65536").End(xlUp).Row + 1
Next i
End Sub
Un peu bousculé en ce moment avec la rentrée scolaire et le déménagement
de
mes gamins, mais ça commence à se calmer.
Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news: 433ea381$0$25975$79c14f64@nan-newsreader-05.noos.net...
Bonjour,
voici ce que je voudrais faire:
sur plusieurs onglets d'un fichier, j'ai des données sous forme de
listes
(bases de données avec entête de colonnes en première ligne)
les onglets ont tous le même nombre de colonnes, avec les mêmes entêtes
le nombre de lignes est différent d'un onglet à l'autre (chaque ligne
est
un
article différent)
je voudrais faire une macro qui rassemble toutes les données des onglets
en
une seule liste, plus facile à traiter ensuite sous forme de TcD
Information complémentaire:
le fichier ci-dessus est un fichier A de saisie de données : il est
déposé
sur un répertoire d'un réseau, et plusieurs participants peuvent y
accéder
simultanément (fichier partagé)
je souhaite que la macro soit dans un autre fichier B, où serait créée
la
compil: cette compil servira de table de données pour un TcD
c'est à cause de ce TcD que je pense préférable de séparer en 2 fichiers
(un
de saisie, et un de traitement)
La macro proposée par Daniel dans les messages précédents marche bien,
mais
elle crée la compil sous forme d'un onglet Global dans le fichier
initial
Merci de votre aide
Marc D
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de
news:%23lC1BVpxFHA.736@tk2msftngp13.phx.gbl...
Bonjour.
Désolé, je ne me rappelle plus exactement de la question, sinon de la
majuscule de "Global".
Le mieux serait de reposter l'ensemble de ton problème sans me
l'adresser
en
particulier, afin que de plus savants que moi puissent aussi y
réfléchir.
Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news: 433e926e$1$25983$79c14f64@nan-newsreader-05.noos.net...
J'espère que Daniel verra mon message: nous avons échangé plusieurs
fois,
mais je ne crois pas qu'il ait vu mon dernier message...
Je lance une nouvelle bouteille à la mer
cordialement,
Marc D
Je crois que tu aurais dû initialiser un nouveau fil avec un nouveau
titre.
En fouillant dans mes archives, j'ai retrouvé la macro suivante avec un
fichier source en lecture et un fichier "cible" de regroupement.
Je ne me rapelle plus si je l'avais publié. Je le remets à tout hasard :
Sub test()
Dim Ctr As Long, i As Integer
Workbooks("SOURCE.xls").Activate
Sheets("Feuil1").Rows(1).Copy
Workbooks("CIBLE.xls").Activate
Sheets("Global").Paste
Ctr = 2
Workbooks("SOURCE.xls").Activate
For i = 1 To Sheets.Count
Workbooks("SOURCE.xls").Activate
Sheets(i).Activate
Range("A2").Resize(Range("A65536").End(xlUp).Row - 1, _
Range("IV1").End(xlToLeft).Column).Copy
Workbooks("CIBLE.xls").Activate
Sheets("Global").Select
Cells(Ctr, 1).Select
Sheets("Global").Paste
Ctr = Range("A65536").End(xlUp).Row + 1
Next i
End Sub
Un peu bousculé en ce moment avec la rentrée scolaire et le déménagement
de
mes gamins, mais ça commence à se calmer.
Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news: 433ea381$0$25975$Bonjour,
voici ce que je voudrais faire:
sur plusieurs onglets d'un fichier, j'ai des données sous forme de
listes
(bases de données avec entête de colonnes en première ligne)
les onglets ont tous le même nombre de colonnes, avec les mêmes entêtes
le nombre de lignes est différent d'un onglet à l'autre (chaque ligne
est
un
article différent)
je voudrais faire une macro qui rassemble toutes les données des onglets
en
une seule liste, plus facile à traiter ensuite sous forme de TcD
Information complémentaire:
le fichier ci-dessus est un fichier A de saisie de données : il est
déposé
sur un répertoire d'un réseau, et plusieurs participants peuvent y
accéder
simultanément (fichier partagé)
je souhaite que la macro soit dans un autre fichier B, où serait créée
la
compil: cette compil servira de table de données pour un TcD
c'est à cause de ce TcD que je pense préférable de séparer en 2 fichiers
(un
de saisie, et un de traitement)
La macro proposée par Daniel dans les messages précédents marche bien,
mais
elle crée la compil sous forme d'un onglet Global dans le fichier
initial
Merci de votre aide
Marc D
"Daniel" a écrit dans le message de
news:%Bonjour.
Désolé, je ne me rappelle plus exactement de la question, sinon de la
majuscule de "Global".
Le mieux serait de reposter l'ensemble de ton problème sans me
l'adresser
enparticulier, afin que de plus savants que moi puissent aussi y
réfléchir.
Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news: 433e926e$1$25983$J'espère que Daniel verra mon message: nous avons échangé plusieurs
fois,mais je ne crois pas qu'il ait vu mon dernier message...
Je lance une nouvelle bouteille à la mer
cordialement,
Marc D
Bon, merci d'avoir pris le temps de me répondre, mais je n'ai pas réussi à
le faire marcher...
J'ai bien créé deux fichiers SOURCE ET CIBLE, et j'ai mis la macro dans
CIBLE.
Mais à l'exécution, j'ai un message d'erreur :
Run-time error '9'
Subscript out of range
en exécutant pas-à-pas, je constate que çà bloque à la 3ème ligne
Sheets("Feuil1").Rows(1).Copy
En relisant la macro, je ne vois pas ce qui cloche...
Une idée ??
Marc D
"Daniel" a écrit dans le message de
news:%Je crois que tu aurais dû initialiser un nouveau fil avec un nouveau
titre.En fouillant dans mes archives, j'ai retrouvé la macro suivante avec un
fichier source en lecture et un fichier "cible" de regroupement.
Je ne me rapelle plus si je l'avais publié. Je le remets à tout hasard :
Sub test()
Dim Ctr As Long, i As Integer
Workbooks("SOURCE.xls").Activate
Sheets("Feuil1").Rows(1).Copy
Workbooks("CIBLE.xls").Activate
Sheets("Global").Paste
Ctr = 2
Workbooks("SOURCE.xls").Activate
For i = 1 To Sheets.Count
Workbooks("SOURCE.xls").Activate
Sheets(i).Activate
Range("A2").Resize(Range("A65536").End(xlUp).Row - 1, _
Range("IV1").End(xlToLeft).Column).Copy
Workbooks("CIBLE.xls").Activate
Sheets("Global").Select
Cells(Ctr, 1).Select
Sheets("Global").Paste
Ctr = Range("A65536").End(xlUp).Row + 1
Next i
End Sub
Un peu bousculé en ce moment avec la rentrée scolaire et le déménagement
demes gamins, mais ça commence à se calmer.
Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news: 433ea381$0$25975$Bonjour,
voici ce que je voudrais faire:
sur plusieurs onglets d'un fichier, j'ai des données sous forme de
listes(bases de données avec entête de colonnes en première ligne)
les onglets ont tous le même nombre de colonnes, avec les mêmes entêtes
le nombre de lignes est différent d'un onglet à l'autre (chaque ligne
estun
article différent)
je voudrais faire une macro qui rassemble toutes les données des
onglets
en
une seule liste, plus facile à traiter ensuite sous forme de TcD
Information complémentaire:
le fichier ci-dessus est un fichier A de saisie de données : il est
déposésur un répertoire d'un réseau, et plusieurs participants peuvent y
accédersimultanément (fichier partagé)
je souhaite que la macro soit dans un autre fichier B, où serait créée
lacompil: cette compil servira de table de données pour un TcD
c'est à cause de ce TcD que je pense préférable de séparer en 2
fichiers
(un
de saisie, et un de traitement)
La macro proposée par Daniel dans les messages précédents marche bien,
mais
elle crée la compil sous forme d'un onglet Global dans le fichier
initial
Merci de votre aide
Marc D
"Daniel" a écrit dans le message de
news:%Bonjour.
Désolé, je ne me rappelle plus exactement de la question, sinon de la
majuscule de "Global".
Le mieux serait de reposter l'ensemble de ton problème sans me
l'adresserenparticulier, afin que de plus savants que moi puissent aussi y
réfléchir.Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message
de
news: 433e926e$1$25983$J'espère que Daniel verra mon message: nous avons échangé plusieurs
fois,mais je ne crois pas qu'il ait vu mon dernier message...
Je lance une nouvelle bouteille à la mer
cordialement,
Marc D
Bon, merci d'avoir pris le temps de me répondre, mais je n'ai pas réussi à
le faire marcher...
J'ai bien créé deux fichiers SOURCE ET CIBLE, et j'ai mis la macro dans
CIBLE.
Mais à l'exécution, j'ai un message d'erreur :
Run-time error '9'
Subscript out of range
en exécutant pas-à-pas, je constate que çà bloque à la 3ème ligne
Sheets("Feuil1").Rows(1).Copy
En relisant la macro, je ne vois pas ce qui cloche...
Une idée ??
Marc D
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de
news:%23U1HYJqxFHA.2212@TK2MSFTNGP15.phx.gbl...
Je crois que tu aurais dû initialiser un nouveau fil avec un nouveau
titre.
En fouillant dans mes archives, j'ai retrouvé la macro suivante avec un
fichier source en lecture et un fichier "cible" de regroupement.
Je ne me rapelle plus si je l'avais publié. Je le remets à tout hasard :
Sub test()
Dim Ctr As Long, i As Integer
Workbooks("SOURCE.xls").Activate
Sheets("Feuil1").Rows(1).Copy
Workbooks("CIBLE.xls").Activate
Sheets("Global").Paste
Ctr = 2
Workbooks("SOURCE.xls").Activate
For i = 1 To Sheets.Count
Workbooks("SOURCE.xls").Activate
Sheets(i).Activate
Range("A2").Resize(Range("A65536").End(xlUp).Row - 1, _
Range("IV1").End(xlToLeft).Column).Copy
Workbooks("CIBLE.xls").Activate
Sheets("Global").Select
Cells(Ctr, 1).Select
Sheets("Global").Paste
Ctr = Range("A65536").End(xlUp).Row + 1
Next i
End Sub
Un peu bousculé en ce moment avec la rentrée scolaire et le déménagement
de
mes gamins, mais ça commence à se calmer.
Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news: 433ea381$0$25975$79c14f64@nan-newsreader-05.noos.net...
Bonjour,
voici ce que je voudrais faire:
sur plusieurs onglets d'un fichier, j'ai des données sous forme de
listes
(bases de données avec entête de colonnes en première ligne)
les onglets ont tous le même nombre de colonnes, avec les mêmes entêtes
le nombre de lignes est différent d'un onglet à l'autre (chaque ligne
est
un
article différent)
je voudrais faire une macro qui rassemble toutes les données des
onglets
en
une seule liste, plus facile à traiter ensuite sous forme de TcD
Information complémentaire:
le fichier ci-dessus est un fichier A de saisie de données : il est
déposé
sur un répertoire d'un réseau, et plusieurs participants peuvent y
accéder
simultanément (fichier partagé)
je souhaite que la macro soit dans un autre fichier B, où serait créée
la
compil: cette compil servira de table de données pour un TcD
c'est à cause de ce TcD que je pense préférable de séparer en 2
fichiers
(un
de saisie, et un de traitement)
La macro proposée par Daniel dans les messages précédents marche bien,
mais
elle crée la compil sous forme d'un onglet Global dans le fichier
initial
Merci de votre aide
Marc D
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de
news:%23lC1BVpxFHA.736@tk2msftngp13.phx.gbl...
Bonjour.
Désolé, je ne me rappelle plus exactement de la question, sinon de la
majuscule de "Global".
Le mieux serait de reposter l'ensemble de ton problème sans me
l'adresser
en
particulier, afin que de plus savants que moi puissent aussi y
réfléchir.
Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message
de
news: 433e926e$1$25983$79c14f64@nan-newsreader-05.noos.net...
J'espère que Daniel verra mon message: nous avons échangé plusieurs
fois,
mais je ne crois pas qu'il ait vu mon dernier message...
Je lance une nouvelle bouteille à la mer
cordialement,
Marc D
Bon, merci d'avoir pris le temps de me répondre, mais je n'ai pas réussi à
le faire marcher...
J'ai bien créé deux fichiers SOURCE ET CIBLE, et j'ai mis la macro dans
CIBLE.
Mais à l'exécution, j'ai un message d'erreur :
Run-time error '9'
Subscript out of range
en exécutant pas-à-pas, je constate que çà bloque à la 3ème ligne
Sheets("Feuil1").Rows(1).Copy
En relisant la macro, je ne vois pas ce qui cloche...
Une idée ??
Marc D
"Daniel" a écrit dans le message de
news:%Je crois que tu aurais dû initialiser un nouveau fil avec un nouveau
titre.En fouillant dans mes archives, j'ai retrouvé la macro suivante avec un
fichier source en lecture et un fichier "cible" de regroupement.
Je ne me rapelle plus si je l'avais publié. Je le remets à tout hasard :
Sub test()
Dim Ctr As Long, i As Integer
Workbooks("SOURCE.xls").Activate
Sheets("Feuil1").Rows(1).Copy
Workbooks("CIBLE.xls").Activate
Sheets("Global").Paste
Ctr = 2
Workbooks("SOURCE.xls").Activate
For i = 1 To Sheets.Count
Workbooks("SOURCE.xls").Activate
Sheets(i).Activate
Range("A2").Resize(Range("A65536").End(xlUp).Row - 1, _
Range("IV1").End(xlToLeft).Column).Copy
Workbooks("CIBLE.xls").Activate
Sheets("Global").Select
Cells(Ctr, 1).Select
Sheets("Global").Paste
Ctr = Range("A65536").End(xlUp).Row + 1
Next i
End Sub
Un peu bousculé en ce moment avec la rentrée scolaire et le déménagement
demes gamins, mais ça commence à se calmer.
Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news: 433ea381$0$25975$Bonjour,
voici ce que je voudrais faire:
sur plusieurs onglets d'un fichier, j'ai des données sous forme de
listes(bases de données avec entête de colonnes en première ligne)
les onglets ont tous le même nombre de colonnes, avec les mêmes entêtes
le nombre de lignes est différent d'un onglet à l'autre (chaque ligne
estun
article différent)
je voudrais faire une macro qui rassemble toutes les données des
onglets
en
une seule liste, plus facile à traiter ensuite sous forme de TcD
Information complémentaire:
le fichier ci-dessus est un fichier A de saisie de données : il est
déposésur un répertoire d'un réseau, et plusieurs participants peuvent y
accédersimultanément (fichier partagé)
je souhaite que la macro soit dans un autre fichier B, où serait créée
lacompil: cette compil servira de table de données pour un TcD
c'est à cause de ce TcD que je pense préférable de séparer en 2
fichiers
(un
de saisie, et un de traitement)
La macro proposée par Daniel dans les messages précédents marche bien,
mais
elle crée la compil sous forme d'un onglet Global dans le fichier
initial
Merci de votre aide
Marc D
"Daniel" a écrit dans le message de
news:%Bonjour.
Désolé, je ne me rappelle plus exactement de la question, sinon de la
majuscule de "Global".
Le mieux serait de reposter l'ensemble de ton problème sans me
l'adresserenparticulier, afin que de plus savants que moi puissent aussi y
réfléchir.Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message
de
news: 433e926e$1$25983$J'espère que Daniel verra mon message: nous avons échangé plusieurs
fois,mais je ne crois pas qu'il ait vu mon dernier message...
Je lance une nouvelle bouteille à la mer
cordialement,
Marc D
J'aurai dû préciser que le classeur "SOURCE.xls" doit être ouvert. Si ce
n'est pas le cas, ouvre-le avant d'exécuter la macro ou ajoute :
Workbooks.Open "C:tempSOURCE.xls" (change le répertoire en conséquence)
D'autre part vérifie que le nom de la feuille est bien "Feuil1".
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news: 433ef9ca$0$26565$Bon, merci d'avoir pris le temps de me répondre, mais je n'ai pas réussi
à
le faire marcher...
J'ai bien créé deux fichiers SOURCE ET CIBLE, et j'ai mis la macro dans
CIBLE.
Mais à l'exécution, j'ai un message d'erreur :
Run-time error '9'
Subscript out of range
en exécutant pas-à-pas, je constate que çà bloque à la 3ème ligne
Sheets("Feuil1").Rows(1).Copy
En relisant la macro, je ne vois pas ce qui cloche...
Une idée ??
Marc D
"Daniel" a écrit dans le message de
news:%Je crois que tu aurais dû initialiser un nouveau fil avec un nouveau
titre.En fouillant dans mes archives, j'ai retrouvé la macro suivante avec un
fichier source en lecture et un fichier "cible" de regroupement.
Je ne me rapelle plus si je l'avais publié. Je le remets à tout hasard
:
Sub test()
Dim Ctr As Long, i As Integer
Workbooks("SOURCE.xls").Activate
Sheets("Feuil1").Rows(1).Copy
Workbooks("CIBLE.xls").Activate
Sheets("Global").Paste
Ctr = 2
Workbooks("SOURCE.xls").Activate
For i = 1 To Sheets.Count
Workbooks("SOURCE.xls").Activate
Sheets(i).Activate
Range("A2").Resize(Range("A65536").End(xlUp).Row - 1, _
Range("IV1").End(xlToLeft).Column).Copy
Workbooks("CIBLE.xls").Activate
Sheets("Global").Select
Cells(Ctr, 1).Select
Sheets("Global").Paste
Ctr = Range("A65536").End(xlUp).Row + 1
Next i
End Sub
Un peu bousculé en ce moment avec la rentrée scolaire et le
déménagement
demes gamins, mais ça commence à se calmer.
Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news: 433ea381$0$25975$Bonjour,
voici ce que je voudrais faire:
sur plusieurs onglets d'un fichier, j'ai des données sous forme de
listes(bases de données avec entête de colonnes en première ligne)
les onglets ont tous le même nombre de colonnes, avec les mêmes
entêtes
le nombre de lignes est différent d'un onglet à l'autre (chaque ligne
estun
article différent)
je voudrais faire une macro qui rassemble toutes les données des
onglets
en
une seule liste, plus facile à traiter ensuite sous forme de TcD
Information complémentaire:
le fichier ci-dessus est un fichier A de saisie de données : il est
déposésur un répertoire d'un réseau, et plusieurs participants peuvent y
accédersimultanément (fichier partagé)
je souhaite que la macro soit dans un autre fichier B, où serait
créée
lacompil: cette compil servira de table de données pour un TcD
c'est à cause de ce TcD que je pense préférable de séparer en 2
fichiers
(un
de saisie, et un de traitement)
La macro proposée par Daniel dans les messages précédents marche
bien,
mais
elle crée la compil sous forme d'un onglet Global dans le fichier
initial
Merci de votre aide
Marc D
"Daniel" a écrit dans le message de
news:%Bonjour.
Désolé, je ne me rappelle plus exactement de la question, sinon de
la
majuscule de "Global".
Le mieux serait de reposter l'ensemble de ton problème sans me
l'adresserenparticulier, afin que de plus savants que moi puissent aussi y
réfléchir.Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message
de
news: 433e926e$1$25983$J'espère que Daniel verra mon message: nous avons échangé
plusieurs
fois,mais je ne crois pas qu'il ait vu mon dernier message...
Je lance une nouvelle bouteille à la mer
cordialement,
Marc D
J'aurai dû préciser que le classeur "SOURCE.xls" doit être ouvert. Si ce
n'est pas le cas, ouvre-le avant d'exécuter la macro ou ajoute :
Workbooks.Open "C:tempSOURCE.xls" (change le répertoire en conséquence)
D'autre part vérifie que le nom de la feuille est bien "Feuil1".
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news: 433ef9ca$0$26565$79c14f64@nan-newsreader-05.noos.net...
Bon, merci d'avoir pris le temps de me répondre, mais je n'ai pas réussi
à
le faire marcher...
J'ai bien créé deux fichiers SOURCE ET CIBLE, et j'ai mis la macro dans
CIBLE.
Mais à l'exécution, j'ai un message d'erreur :
Run-time error '9'
Subscript out of range
en exécutant pas-à-pas, je constate que çà bloque à la 3ème ligne
Sheets("Feuil1").Rows(1).Copy
En relisant la macro, je ne vois pas ce qui cloche...
Une idée ??
Marc D
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de
news:%23U1HYJqxFHA.2212@TK2MSFTNGP15.phx.gbl...
Je crois que tu aurais dû initialiser un nouveau fil avec un nouveau
titre.
En fouillant dans mes archives, j'ai retrouvé la macro suivante avec un
fichier source en lecture et un fichier "cible" de regroupement.
Je ne me rapelle plus si je l'avais publié. Je le remets à tout hasard
:
Sub test()
Dim Ctr As Long, i As Integer
Workbooks("SOURCE.xls").Activate
Sheets("Feuil1").Rows(1).Copy
Workbooks("CIBLE.xls").Activate
Sheets("Global").Paste
Ctr = 2
Workbooks("SOURCE.xls").Activate
For i = 1 To Sheets.Count
Workbooks("SOURCE.xls").Activate
Sheets(i).Activate
Range("A2").Resize(Range("A65536").End(xlUp).Row - 1, _
Range("IV1").End(xlToLeft).Column).Copy
Workbooks("CIBLE.xls").Activate
Sheets("Global").Select
Cells(Ctr, 1).Select
Sheets("Global").Paste
Ctr = Range("A65536").End(xlUp).Row + 1
Next i
End Sub
Un peu bousculé en ce moment avec la rentrée scolaire et le
déménagement
de
mes gamins, mais ça commence à se calmer.
Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news: 433ea381$0$25975$79c14f64@nan-newsreader-05.noos.net...
Bonjour,
voici ce que je voudrais faire:
sur plusieurs onglets d'un fichier, j'ai des données sous forme de
listes
(bases de données avec entête de colonnes en première ligne)
les onglets ont tous le même nombre de colonnes, avec les mêmes
entêtes
le nombre de lignes est différent d'un onglet à l'autre (chaque ligne
est
un
article différent)
je voudrais faire une macro qui rassemble toutes les données des
onglets
en
une seule liste, plus facile à traiter ensuite sous forme de TcD
Information complémentaire:
le fichier ci-dessus est un fichier A de saisie de données : il est
déposé
sur un répertoire d'un réseau, et plusieurs participants peuvent y
accéder
simultanément (fichier partagé)
je souhaite que la macro soit dans un autre fichier B, où serait
créée
la
compil: cette compil servira de table de données pour un TcD
c'est à cause de ce TcD que je pense préférable de séparer en 2
fichiers
(un
de saisie, et un de traitement)
La macro proposée par Daniel dans les messages précédents marche
bien,
mais
elle crée la compil sous forme d'un onglet Global dans le fichier
initial
Merci de votre aide
Marc D
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de
news:%23lC1BVpxFHA.736@tk2msftngp13.phx.gbl...
Bonjour.
Désolé, je ne me rappelle plus exactement de la question, sinon de
la
majuscule de "Global".
Le mieux serait de reposter l'ensemble de ton problème sans me
l'adresser
en
particulier, afin que de plus savants que moi puissent aussi y
réfléchir.
Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message
de
news: 433e926e$1$25983$79c14f64@nan-newsreader-05.noos.net...
J'espère que Daniel verra mon message: nous avons échangé
plusieurs
fois,
mais je ne crois pas qu'il ait vu mon dernier message...
Je lance une nouvelle bouteille à la mer
cordialement,
Marc D
J'aurai dû préciser que le classeur "SOURCE.xls" doit être ouvert. Si ce
n'est pas le cas, ouvre-le avant d'exécuter la macro ou ajoute :
Workbooks.Open "C:tempSOURCE.xls" (change le répertoire en conséquence)
D'autre part vérifie que le nom de la feuille est bien "Feuil1".
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news: 433ef9ca$0$26565$Bon, merci d'avoir pris le temps de me répondre, mais je n'ai pas réussi
à
le faire marcher...
J'ai bien créé deux fichiers SOURCE ET CIBLE, et j'ai mis la macro dans
CIBLE.
Mais à l'exécution, j'ai un message d'erreur :
Run-time error '9'
Subscript out of range
en exécutant pas-à-pas, je constate que çà bloque à la 3ème ligne
Sheets("Feuil1").Rows(1).Copy
En relisant la macro, je ne vois pas ce qui cloche...
Une idée ??
Marc D
"Daniel" a écrit dans le message de
news:%Je crois que tu aurais dû initialiser un nouveau fil avec un nouveau
titre.En fouillant dans mes archives, j'ai retrouvé la macro suivante avec un
fichier source en lecture et un fichier "cible" de regroupement.
Je ne me rapelle plus si je l'avais publié. Je le remets à tout hasard
:
Sub test()
Dim Ctr As Long, i As Integer
Workbooks("SOURCE.xls").Activate
Sheets("Feuil1").Rows(1).Copy
Workbooks("CIBLE.xls").Activate
Sheets("Global").Paste
Ctr = 2
Workbooks("SOURCE.xls").Activate
For i = 1 To Sheets.Count
Workbooks("SOURCE.xls").Activate
Sheets(i).Activate
Range("A2").Resize(Range("A65536").End(xlUp).Row - 1, _
Range("IV1").End(xlToLeft).Column).Copy
Workbooks("CIBLE.xls").Activate
Sheets("Global").Select
Cells(Ctr, 1).Select
Sheets("Global").Paste
Ctr = Range("A65536").End(xlUp).Row + 1
Next i
End Sub
Un peu bousculé en ce moment avec la rentrée scolaire et le
déménagement
demes gamins, mais ça commence à se calmer.
Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news: 433ea381$0$25975$Bonjour,
voici ce que je voudrais faire:
sur plusieurs onglets d'un fichier, j'ai des données sous forme de
listes(bases de données avec entête de colonnes en première ligne)
les onglets ont tous le même nombre de colonnes, avec les mêmes
entêtes
le nombre de lignes est différent d'un onglet à l'autre (chaque ligne
estun
article différent)
je voudrais faire une macro qui rassemble toutes les données des
onglets
en
une seule liste, plus facile à traiter ensuite sous forme de TcD
Information complémentaire:
le fichier ci-dessus est un fichier A de saisie de données : il est
déposésur un répertoire d'un réseau, et plusieurs participants peuvent y
accédersimultanément (fichier partagé)
je souhaite que la macro soit dans un autre fichier B, où serait
créée
lacompil: cette compil servira de table de données pour un TcD
c'est à cause de ce TcD que je pense préférable de séparer en 2
fichiers
(un
de saisie, et un de traitement)
La macro proposée par Daniel dans les messages précédents marche
bien,
mais
elle crée la compil sous forme d'un onglet Global dans le fichier
initial
Merci de votre aide
Marc D
"Daniel" a écrit dans le message de
news:%Bonjour.
Désolé, je ne me rappelle plus exactement de la question, sinon de
la
majuscule de "Global".
Le mieux serait de reposter l'ensemble de ton problème sans me
l'adresserenparticulier, afin que de plus savants que moi puissent aussi y
réfléchir.Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message
de
news: 433e926e$1$25983$J'espère que Daniel verra mon message: nous avons échangé
plusieurs
fois,mais je ne crois pas qu'il ait vu mon dernier message...
Je lance une nouvelle bouteille à la mer
cordialement,
Marc D
J'aurai dû préciser que le classeur "SOURCE.xls" doit être ouvert. Si ce
n'est pas le cas, ouvre-le avant d'exécuter la macro ou ajoute :
Workbooks.Open "C:tempSOURCE.xls" (change le répertoire en conséquence)
D'autre part vérifie que le nom de la feuille est bien "Feuil1".
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news: 433ef9ca$0$26565$Bon, merci d'avoir pris le temps de me répondre, mais je n'ai pas réussi
à
le faire marcher...
J'ai bien créé deux fichiers SOURCE ET CIBLE, et j'ai mis la macro dans
CIBLE.
Mais à l'exécution, j'ai un message d'erreur :
Run-time error '9'
Subscript out of range
en exécutant pas-à-pas, je constate que çà bloque à la 3ème ligne
Sheets("Feuil1").Rows(1).Copy
En relisant la macro, je ne vois pas ce qui cloche...
Une idée ??
Marc D
"Daniel" a écrit dans le message de
news:%Je crois que tu aurais dû initialiser un nouveau fil avec un nouveau
titre.En fouillant dans mes archives, j'ai retrouvé la macro suivante avec un
fichier source en lecture et un fichier "cible" de regroupement.
Je ne me rapelle plus si je l'avais publié. Je le remets à tout hasard
:
Sub test()
Dim Ctr As Long, i As Integer
Workbooks("SOURCE.xls").Activate
Sheets("Feuil1").Rows(1).Copy
Workbooks("CIBLE.xls").Activate
Sheets("Global").Paste
Ctr = 2
Workbooks("SOURCE.xls").Activate
For i = 1 To Sheets.Count
Workbooks("SOURCE.xls").Activate
Sheets(i).Activate
Range("A2").Resize(Range("A65536").End(xlUp).Row - 1, _
Range("IV1").End(xlToLeft).Column).Copy
Workbooks("CIBLE.xls").Activate
Sheets("Global").Select
Cells(Ctr, 1).Select
Sheets("Global").Paste
Ctr = Range("A65536").End(xlUp).Row + 1
Next i
End Sub
Un peu bousculé en ce moment avec la rentrée scolaire et le
déménagement
demes gamins, mais ça commence à se calmer.
Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news: 433ea381$0$25975$Bonjour,
voici ce que je voudrais faire:
sur plusieurs onglets d'un fichier, j'ai des données sous forme de
listes(bases de données avec entête de colonnes en première ligne)
les onglets ont tous le même nombre de colonnes, avec les mêmes
entêtes
le nombre de lignes est différent d'un onglet à l'autre (chaque ligne
estun
article différent)
je voudrais faire une macro qui rassemble toutes les données des
onglets
en
une seule liste, plus facile à traiter ensuite sous forme de TcD
Information complémentaire:
le fichier ci-dessus est un fichier A de saisie de données : il est
déposésur un répertoire d'un réseau, et plusieurs participants peuvent y
accédersimultanément (fichier partagé)
je souhaite que la macro soit dans un autre fichier B, où serait
créée
lacompil: cette compil servira de table de données pour un TcD
c'est à cause de ce TcD que je pense préférable de séparer en 2
fichiers
(un
de saisie, et un de traitement)
La macro proposée par Daniel dans les messages précédents marche
bien,
mais
elle crée la compil sous forme d'un onglet Global dans le fichier
initial
Merci de votre aide
Marc D
"Daniel" a écrit dans le message de
news:%Bonjour.
Désolé, je ne me rappelle plus exactement de la question, sinon de
la
majuscule de "Global".
Le mieux serait de reposter l'ensemble de ton problème sans me
l'adresserenparticulier, afin que de plus savants que moi puissent aussi y
réfléchir.Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message
de
news: 433e926e$1$25983$J'espère que Daniel verra mon message: nous avons échangé
plusieurs
fois,mais je ne crois pas qu'il ait vu mon dernier message...
Je lance une nouvelle bouteille à la mer
cordialement,
Marc D
J'aurai dû préciser que le classeur "SOURCE.xls" doit être ouvert. Si ce
n'est pas le cas, ouvre-le avant d'exécuter la macro ou ajoute :
Workbooks.Open "C:tempSOURCE.xls" (change le répertoire en conséquence)
D'autre part vérifie que le nom de la feuille est bien "Feuil1".
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news: 433ef9ca$0$26565$79c14f64@nan-newsreader-05.noos.net...
Bon, merci d'avoir pris le temps de me répondre, mais je n'ai pas réussi
à
le faire marcher...
J'ai bien créé deux fichiers SOURCE ET CIBLE, et j'ai mis la macro dans
CIBLE.
Mais à l'exécution, j'ai un message d'erreur :
Run-time error '9'
Subscript out of range
en exécutant pas-à-pas, je constate que çà bloque à la 3ème ligne
Sheets("Feuil1").Rows(1).Copy
En relisant la macro, je ne vois pas ce qui cloche...
Une idée ??
Marc D
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de
news:%23U1HYJqxFHA.2212@TK2MSFTNGP15.phx.gbl...
Je crois que tu aurais dû initialiser un nouveau fil avec un nouveau
titre.
En fouillant dans mes archives, j'ai retrouvé la macro suivante avec un
fichier source en lecture et un fichier "cible" de regroupement.
Je ne me rapelle plus si je l'avais publié. Je le remets à tout hasard
:
Sub test()
Dim Ctr As Long, i As Integer
Workbooks("SOURCE.xls").Activate
Sheets("Feuil1").Rows(1).Copy
Workbooks("CIBLE.xls").Activate
Sheets("Global").Paste
Ctr = 2
Workbooks("SOURCE.xls").Activate
For i = 1 To Sheets.Count
Workbooks("SOURCE.xls").Activate
Sheets(i).Activate
Range("A2").Resize(Range("A65536").End(xlUp).Row - 1, _
Range("IV1").End(xlToLeft).Column).Copy
Workbooks("CIBLE.xls").Activate
Sheets("Global").Select
Cells(Ctr, 1).Select
Sheets("Global").Paste
Ctr = Range("A65536").End(xlUp).Row + 1
Next i
End Sub
Un peu bousculé en ce moment avec la rentrée scolaire et le
déménagement
de
mes gamins, mais ça commence à se calmer.
Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news: 433ea381$0$25975$79c14f64@nan-newsreader-05.noos.net...
Bonjour,
voici ce que je voudrais faire:
sur plusieurs onglets d'un fichier, j'ai des données sous forme de
listes
(bases de données avec entête de colonnes en première ligne)
les onglets ont tous le même nombre de colonnes, avec les mêmes
entêtes
le nombre de lignes est différent d'un onglet à l'autre (chaque ligne
est
un
article différent)
je voudrais faire une macro qui rassemble toutes les données des
onglets
en
une seule liste, plus facile à traiter ensuite sous forme de TcD
Information complémentaire:
le fichier ci-dessus est un fichier A de saisie de données : il est
déposé
sur un répertoire d'un réseau, et plusieurs participants peuvent y
accéder
simultanément (fichier partagé)
je souhaite que la macro soit dans un autre fichier B, où serait
créée
la
compil: cette compil servira de table de données pour un TcD
c'est à cause de ce TcD que je pense préférable de séparer en 2
fichiers
(un
de saisie, et un de traitement)
La macro proposée par Daniel dans les messages précédents marche
bien,
mais
elle crée la compil sous forme d'un onglet Global dans le fichier
initial
Merci de votre aide
Marc D
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de
news:%23lC1BVpxFHA.736@tk2msftngp13.phx.gbl...
Bonjour.
Désolé, je ne me rappelle plus exactement de la question, sinon de
la
majuscule de "Global".
Le mieux serait de reposter l'ensemble de ton problème sans me
l'adresser
en
particulier, afin que de plus savants que moi puissent aussi y
réfléchir.
Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message
de
news: 433e926e$1$25983$79c14f64@nan-newsreader-05.noos.net...
J'espère que Daniel verra mon message: nous avons échangé
plusieurs
fois,
mais je ne crois pas qu'il ait vu mon dernier message...
Je lance une nouvelle bouteille à la mer
cordialement,
Marc D
J'aurai dû préciser que le classeur "SOURCE.xls" doit être ouvert. Si ce
n'est pas le cas, ouvre-le avant d'exécuter la macro ou ajoute :
Workbooks.Open "C:tempSOURCE.xls" (change le répertoire en conséquence)
D'autre part vérifie que le nom de la feuille est bien "Feuil1".
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news: 433ef9ca$0$26565$Bon, merci d'avoir pris le temps de me répondre, mais je n'ai pas réussi
à
le faire marcher...
J'ai bien créé deux fichiers SOURCE ET CIBLE, et j'ai mis la macro dans
CIBLE.
Mais à l'exécution, j'ai un message d'erreur :
Run-time error '9'
Subscript out of range
en exécutant pas-à-pas, je constate que çà bloque à la 3ème ligne
Sheets("Feuil1").Rows(1).Copy
En relisant la macro, je ne vois pas ce qui cloche...
Une idée ??
Marc D
"Daniel" a écrit dans le message de
news:%Je crois que tu aurais dû initialiser un nouveau fil avec un nouveau
titre.En fouillant dans mes archives, j'ai retrouvé la macro suivante avec un
fichier source en lecture et un fichier "cible" de regroupement.
Je ne me rapelle plus si je l'avais publié. Je le remets à tout hasard
:
Sub test()
Dim Ctr As Long, i As Integer
Workbooks("SOURCE.xls").Activate
Sheets("Feuil1").Rows(1).Copy
Workbooks("CIBLE.xls").Activate
Sheets("Global").Paste
Ctr = 2
Workbooks("SOURCE.xls").Activate
For i = 1 To Sheets.Count
Workbooks("SOURCE.xls").Activate
Sheets(i).Activate
Range("A2").Resize(Range("A65536").End(xlUp).Row - 1, _
Range("IV1").End(xlToLeft).Column).Copy
Workbooks("CIBLE.xls").Activate
Sheets("Global").Select
Cells(Ctr, 1).Select
Sheets("Global").Paste
Ctr = Range("A65536").End(xlUp).Row + 1
Next i
End Sub
Un peu bousculé en ce moment avec la rentrée scolaire et le
déménagement
demes gamins, mais ça commence à se calmer.
Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news: 433ea381$0$25975$Bonjour,
voici ce que je voudrais faire:
sur plusieurs onglets d'un fichier, j'ai des données sous forme de
listes(bases de données avec entête de colonnes en première ligne)
les onglets ont tous le même nombre de colonnes, avec les mêmes
entêtes
le nombre de lignes est différent d'un onglet à l'autre (chaque ligne
estun
article différent)
je voudrais faire une macro qui rassemble toutes les données des
onglets
en
une seule liste, plus facile à traiter ensuite sous forme de TcD
Information complémentaire:
le fichier ci-dessus est un fichier A de saisie de données : il est
déposésur un répertoire d'un réseau, et plusieurs participants peuvent y
accédersimultanément (fichier partagé)
je souhaite que la macro soit dans un autre fichier B, où serait
créée
lacompil: cette compil servira de table de données pour un TcD
c'est à cause de ce TcD que je pense préférable de séparer en 2
fichiers
(un
de saisie, et un de traitement)
La macro proposée par Daniel dans les messages précédents marche
bien,
mais
elle crée la compil sous forme d'un onglet Global dans le fichier
initial
Merci de votre aide
Marc D
"Daniel" a écrit dans le message de
news:%Bonjour.
Désolé, je ne me rappelle plus exactement de la question, sinon de
la
majuscule de "Global".
Le mieux serait de reposter l'ensemble de ton problème sans me
l'adresserenparticulier, afin que de plus savants que moi puissent aussi y
réfléchir.Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message
de
news: 433e926e$1$25983$J'espère que Daniel verra mon message: nous avons échangé
plusieurs
fois,mais je ne crois pas qu'il ait vu mon dernier message...
Je lance une nouvelle bouteille à la mer
cordialement,
Marc D
Bonjour Marc,
Cette procédure copie toutes les données de toutes les feuilles du
classeur2 vers la feuille1 du classeur3
'---------------------------------
Sub Compilation()
Dim a as Integer, Sh As Worksheet
With Workbooks("Classeur2")
For Each sh In .Worksheets
derlig = sh.Range("A65536").End(xlUp).Row
dercol = sh.Range("IV1").End(xlToLeft).Column
If a = 0 Then
sh.Range("A1", sh.Cells(derlig, dercol)).Copy _
Workbooks("classeur3").Worksheets("Feuil1").Range("A1")
a = 1
Else
sh.Range("A2", sh.Cells(derlig, dercol)).Copy _
Workbooks("classeur3").Worksheets("Feuil1").Range("A65536").End(xlUp)(2)
End If
Next
End With
End Sub
'---------------------------------
Salutations!
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news:
433fced7$0$16916$
C'est un mystère:
çà ne vient pas de l'ouverture de SOURCE: ils sont actifs tous les 2
(SOURCE
et CIBLE) : c'est déjà ce que je faisais hier
voici ce qui se passe quand on déroule la macro pas à pas:
à la deuxième instruction
Workbooks("SOURCE.xls").Activate
le fichier SOURCE est activé, il est ouvert sur l'onglet actif Feuil3 (il
comporte 3 onglets Feuil1, Feuil2, Feuil3 avec des majuscules)
à la 3ème ligne
Sheets("Feuil1").Rows(1).Copy
c'est tjrs l'onglet Feuil3 qui reste actif,
et on reçoit le message d'erreur:
Run-time error '9'
Subscript out of range
je ne comprends pas bien...
cordialement,
Marc D
"Daniel" a écrit dans le message de
news:J'aurai dû préciser que le classeur "SOURCE.xls" doit être ouvert. Si ce
n'est pas le cas, ouvre-le avant d'exécuter la macro ou ajoute :
Workbooks.Open "C:tempSOURCE.xls" (change le répertoire en
conséquence)
D'autre part vérifie que le nom de la feuille est bien "Feuil1".
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news: 433ef9ca$0$26565$Bon, merci d'avoir pris le temps de me répondre, mais je n'ai pas
réussi
àle faire marcher...
J'ai bien créé deux fichiers SOURCE ET CIBLE, et j'ai mis la macro
dans
CIBLE.
Mais à l'exécution, j'ai un message d'erreur :
Run-time error '9'
Subscript out of range
en exécutant pas-à-pas, je constate que çà bloque à la 3ème ligne
Sheets("Feuil1").Rows(1).Copy
En relisant la macro, je ne vois pas ce qui cloche...
Une idée ??
Marc D
"Daniel" a écrit dans le message de
news:%Je crois que tu aurais dû initialiser un nouveau fil avec un nouveau
titre.En fouillant dans mes archives, j'ai retrouvé la macro suivante avec
un
fichier source en lecture et un fichier "cible" de regroupement.
Je ne me rapelle plus si je l'avais publié. Je le remets à tout
hasard
:
Sub test()
Dim Ctr As Long, i As Integer
Workbooks("SOURCE.xls").Activate
Sheets("Feuil1").Rows(1).Copy
Workbooks("CIBLE.xls").Activate
Sheets("Global").Paste
Ctr = 2
Workbooks("SOURCE.xls").Activate
For i = 1 To Sheets.Count
Workbooks("SOURCE.xls").Activate
Sheets(i).Activate
Range("A2").Resize(Range("A65536").End(xlUp).Row - 1, _
Range("IV1").End(xlToLeft).Column).Copy
Workbooks("CIBLE.xls").Activate
Sheets("Global").Select
Cells(Ctr, 1).Select
Sheets("Global").Paste
Ctr = Range("A65536").End(xlUp).Row + 1
Next i
End Sub
Un peu bousculé en ce moment avec la rentrée scolaire et le
déménagementdemes gamins, mais ça commence à se calmer.
Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message
de
news: 433ea381$0$25975$Bonjour,
voici ce que je voudrais faire:
sur plusieurs onglets d'un fichier, j'ai des données sous forme de
listes(bases de données avec entête de colonnes en première ligne)
les onglets ont tous le même nombre de colonnes, avec les mêmes
entêtesle nombre de lignes est différent d'un onglet à l'autre (chaque
ligne
estun
article différent)
je voudrais faire une macro qui rassemble toutes les données des
onglets
en
une seule liste, plus facile à traiter ensuite sous forme de TcD
Information complémentaire:
le fichier ci-dessus est un fichier A de saisie de données : il est
déposésur un répertoire d'un réseau, et plusieurs participants peuvent y
accédersimultanément (fichier partagé)
je souhaite que la macro soit dans un autre fichier B, où serait
crééelacompil: cette compil servira de table de données pour un TcD
c'est à cause de ce TcD que je pense préférable de séparer en 2
fichiers
(un
de saisie, et un de traitement)
La macro proposée par Daniel dans les messages précédents marche
bien,mais
elle crée la compil sous forme d'un onglet Global dans le fichier
initial
Merci de votre aide
Marc D
"Daniel" a écrit dans le message de
news:%Bonjour.
Désolé, je ne me rappelle plus exactement de la question, sinon de
lamajuscule de "Global".
Le mieux serait de reposter l'ensemble de ton problème sans me
l'adresserenparticulier, afin que de plus savants que moi puissent aussi y
réfléchir.Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le
message
de
news: 433e926e$1$25983$J'espère que Daniel verra mon message: nous avons échangé
plusieursfois,mais je ne crois pas qu'il ait vu mon dernier message...
Je lance une nouvelle bouteille à la mer
cordialement,
Marc D
Bonjour Marc,
Cette procédure copie toutes les données de toutes les feuilles du
classeur2 vers la feuille1 du classeur3
'---------------------------------
Sub Compilation()
Dim a as Integer, Sh As Worksheet
With Workbooks("Classeur2")
For Each sh In .Worksheets
derlig = sh.Range("A65536").End(xlUp).Row
dercol = sh.Range("IV1").End(xlToLeft).Column
If a = 0 Then
sh.Range("A1", sh.Cells(derlig, dercol)).Copy _
Workbooks("classeur3").Worksheets("Feuil1").Range("A1")
a = 1
Else
sh.Range("A2", sh.Cells(derlig, dercol)).Copy _
Workbooks("classeur3").Worksheets("Feuil1").Range("A65536").End(xlUp)(2)
End If
Next
End With
End Sub
'---------------------------------
Salutations!
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news:
433fced7$0$16916$79c14f64@nan-newsreader-07.noos.net...
C'est un mystère:
çà ne vient pas de l'ouverture de SOURCE: ils sont actifs tous les 2
(SOURCE
et CIBLE) : c'est déjà ce que je faisais hier
voici ce qui se passe quand on déroule la macro pas à pas:
à la deuxième instruction
Workbooks("SOURCE.xls").Activate
le fichier SOURCE est activé, il est ouvert sur l'onglet actif Feuil3 (il
comporte 3 onglets Feuil1, Feuil2, Feuil3 avec des majuscules)
à la 3ème ligne
Sheets("Feuil1").Rows(1).Copy
c'est tjrs l'onglet Feuil3 qui reste actif,
et on reçoit le message d'erreur:
Run-time error '9'
Subscript out of range
je ne comprends pas bien...
cordialement,
Marc D
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de
news:OEX35FtxFHA.1284@tk2msftngp13.phx.gbl...
J'aurai dû préciser que le classeur "SOURCE.xls" doit être ouvert. Si ce
n'est pas le cas, ouvre-le avant d'exécuter la macro ou ajoute :
Workbooks.Open "C:tempSOURCE.xls" (change le répertoire en
conséquence)
D'autre part vérifie que le nom de la feuille est bien "Feuil1".
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news: 433ef9ca$0$26565$79c14f64@nan-newsreader-05.noos.net...
Bon, merci d'avoir pris le temps de me répondre, mais je n'ai pas
réussi
à
le faire marcher...
J'ai bien créé deux fichiers SOURCE ET CIBLE, et j'ai mis la macro
dans
CIBLE.
Mais à l'exécution, j'ai un message d'erreur :
Run-time error '9'
Subscript out of range
en exécutant pas-à-pas, je constate que çà bloque à la 3ème ligne
Sheets("Feuil1").Rows(1).Copy
En relisant la macro, je ne vois pas ce qui cloche...
Une idée ??
Marc D
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de
news:%23U1HYJqxFHA.2212@TK2MSFTNGP15.phx.gbl...
Je crois que tu aurais dû initialiser un nouveau fil avec un nouveau
titre.
En fouillant dans mes archives, j'ai retrouvé la macro suivante avec
un
fichier source en lecture et un fichier "cible" de regroupement.
Je ne me rapelle plus si je l'avais publié. Je le remets à tout
hasard
:
Sub test()
Dim Ctr As Long, i As Integer
Workbooks("SOURCE.xls").Activate
Sheets("Feuil1").Rows(1).Copy
Workbooks("CIBLE.xls").Activate
Sheets("Global").Paste
Ctr = 2
Workbooks("SOURCE.xls").Activate
For i = 1 To Sheets.Count
Workbooks("SOURCE.xls").Activate
Sheets(i).Activate
Range("A2").Resize(Range("A65536").End(xlUp).Row - 1, _
Range("IV1").End(xlToLeft).Column).Copy
Workbooks("CIBLE.xls").Activate
Sheets("Global").Select
Cells(Ctr, 1).Select
Sheets("Global").Paste
Ctr = Range("A65536").End(xlUp).Row + 1
Next i
End Sub
Un peu bousculé en ce moment avec la rentrée scolaire et le
déménagement
de
mes gamins, mais ça commence à se calmer.
Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message
de
news: 433ea381$0$25975$79c14f64@nan-newsreader-05.noos.net...
Bonjour,
voici ce que je voudrais faire:
sur plusieurs onglets d'un fichier, j'ai des données sous forme de
listes
(bases de données avec entête de colonnes en première ligne)
les onglets ont tous le même nombre de colonnes, avec les mêmes
entêtes
le nombre de lignes est différent d'un onglet à l'autre (chaque
ligne
est
un
article différent)
je voudrais faire une macro qui rassemble toutes les données des
onglets
en
une seule liste, plus facile à traiter ensuite sous forme de TcD
Information complémentaire:
le fichier ci-dessus est un fichier A de saisie de données : il est
déposé
sur un répertoire d'un réseau, et plusieurs participants peuvent y
accéder
simultanément (fichier partagé)
je souhaite que la macro soit dans un autre fichier B, où serait
créée
la
compil: cette compil servira de table de données pour un TcD
c'est à cause de ce TcD que je pense préférable de séparer en 2
fichiers
(un
de saisie, et un de traitement)
La macro proposée par Daniel dans les messages précédents marche
bien,
mais
elle crée la compil sous forme d'un onglet Global dans le fichier
initial
Merci de votre aide
Marc D
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de
news:%23lC1BVpxFHA.736@tk2msftngp13.phx.gbl...
Bonjour.
Désolé, je ne me rappelle plus exactement de la question, sinon de
la
majuscule de "Global".
Le mieux serait de reposter l'ensemble de ton problème sans me
l'adresser
en
particulier, afin que de plus savants que moi puissent aussi y
réfléchir.
Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le
message
de
news: 433e926e$1$25983$79c14f64@nan-newsreader-05.noos.net...
J'espère que Daniel verra mon message: nous avons échangé
plusieurs
fois,
mais je ne crois pas qu'il ait vu mon dernier message...
Je lance une nouvelle bouteille à la mer
cordialement,
Marc D
Bonjour Marc,
Cette procédure copie toutes les données de toutes les feuilles du
classeur2 vers la feuille1 du classeur3
'---------------------------------
Sub Compilation()
Dim a as Integer, Sh As Worksheet
With Workbooks("Classeur2")
For Each sh In .Worksheets
derlig = sh.Range("A65536").End(xlUp).Row
dercol = sh.Range("IV1").End(xlToLeft).Column
If a = 0 Then
sh.Range("A1", sh.Cells(derlig, dercol)).Copy _
Workbooks("classeur3").Worksheets("Feuil1").Range("A1")
a = 1
Else
sh.Range("A2", sh.Cells(derlig, dercol)).Copy _
Workbooks("classeur3").Worksheets("Feuil1").Range("A65536").End(xlUp)(2)
End If
Next
End With
End Sub
'---------------------------------
Salutations!
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news:
433fced7$0$16916$
C'est un mystère:
çà ne vient pas de l'ouverture de SOURCE: ils sont actifs tous les 2
(SOURCE
et CIBLE) : c'est déjà ce que je faisais hier
voici ce qui se passe quand on déroule la macro pas à pas:
à la deuxième instruction
Workbooks("SOURCE.xls").Activate
le fichier SOURCE est activé, il est ouvert sur l'onglet actif Feuil3 (il
comporte 3 onglets Feuil1, Feuil2, Feuil3 avec des majuscules)
à la 3ème ligne
Sheets("Feuil1").Rows(1).Copy
c'est tjrs l'onglet Feuil3 qui reste actif,
et on reçoit le message d'erreur:
Run-time error '9'
Subscript out of range
je ne comprends pas bien...
cordialement,
Marc D
"Daniel" a écrit dans le message de
news:J'aurai dû préciser que le classeur "SOURCE.xls" doit être ouvert. Si ce
n'est pas le cas, ouvre-le avant d'exécuter la macro ou ajoute :
Workbooks.Open "C:tempSOURCE.xls" (change le répertoire en
conséquence)
D'autre part vérifie que le nom de la feuille est bien "Feuil1".
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news: 433ef9ca$0$26565$Bon, merci d'avoir pris le temps de me répondre, mais je n'ai pas
réussi
àle faire marcher...
J'ai bien créé deux fichiers SOURCE ET CIBLE, et j'ai mis la macro
dans
CIBLE.
Mais à l'exécution, j'ai un message d'erreur :
Run-time error '9'
Subscript out of range
en exécutant pas-à-pas, je constate que çà bloque à la 3ème ligne
Sheets("Feuil1").Rows(1).Copy
En relisant la macro, je ne vois pas ce qui cloche...
Une idée ??
Marc D
"Daniel" a écrit dans le message de
news:%Je crois que tu aurais dû initialiser un nouveau fil avec un nouveau
titre.En fouillant dans mes archives, j'ai retrouvé la macro suivante avec
un
fichier source en lecture et un fichier "cible" de regroupement.
Je ne me rapelle plus si je l'avais publié. Je le remets à tout
hasard
:
Sub test()
Dim Ctr As Long, i As Integer
Workbooks("SOURCE.xls").Activate
Sheets("Feuil1").Rows(1).Copy
Workbooks("CIBLE.xls").Activate
Sheets("Global").Paste
Ctr = 2
Workbooks("SOURCE.xls").Activate
For i = 1 To Sheets.Count
Workbooks("SOURCE.xls").Activate
Sheets(i).Activate
Range("A2").Resize(Range("A65536").End(xlUp).Row - 1, _
Range("IV1").End(xlToLeft).Column).Copy
Workbooks("CIBLE.xls").Activate
Sheets("Global").Select
Cells(Ctr, 1).Select
Sheets("Global").Paste
Ctr = Range("A65536").End(xlUp).Row + 1
Next i
End Sub
Un peu bousculé en ce moment avec la rentrée scolaire et le
déménagementdemes gamins, mais ça commence à se calmer.
Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message
de
news: 433ea381$0$25975$Bonjour,
voici ce que je voudrais faire:
sur plusieurs onglets d'un fichier, j'ai des données sous forme de
listes(bases de données avec entête de colonnes en première ligne)
les onglets ont tous le même nombre de colonnes, avec les mêmes
entêtesle nombre de lignes est différent d'un onglet à l'autre (chaque
ligne
estun
article différent)
je voudrais faire une macro qui rassemble toutes les données des
onglets
en
une seule liste, plus facile à traiter ensuite sous forme de TcD
Information complémentaire:
le fichier ci-dessus est un fichier A de saisie de données : il est
déposésur un répertoire d'un réseau, et plusieurs participants peuvent y
accédersimultanément (fichier partagé)
je souhaite que la macro soit dans un autre fichier B, où serait
crééelacompil: cette compil servira de table de données pour un TcD
c'est à cause de ce TcD que je pense préférable de séparer en 2
fichiers
(un
de saisie, et un de traitement)
La macro proposée par Daniel dans les messages précédents marche
bien,mais
elle crée la compil sous forme d'un onglet Global dans le fichier
initial
Merci de votre aide
Marc D
"Daniel" a écrit dans le message de
news:%Bonjour.
Désolé, je ne me rappelle plus exactement de la question, sinon de
lamajuscule de "Global".
Le mieux serait de reposter l'ensemble de ton problème sans me
l'adresserenparticulier, afin que de plus savants que moi puissent aussi y
réfléchir.Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le
message
de
news: 433e926e$1$25983$J'espère que Daniel verra mon message: nous avons échangé
plusieursfois,mais je ne crois pas qu'il ait vu mon dernier message...
Je lance une nouvelle bouteille à la mer
cordialement,
Marc D
Bonjour Marc,
Cette procédure copie toutes les données de toutes les feuilles du
classeur2 vers la feuille1 du classeur3
'---------------------------------
Sub Compilation()
Dim a as Integer, Sh As Worksheet
With Workbooks("Classeur2")
For Each sh In .Worksheets
derlig = sh.Range("A65536").End(xlUp).Row
dercol = sh.Range("IV1").End(xlToLeft).Column
If a = 0 Then
sh.Range("A1", sh.Cells(derlig, dercol)).Copy _
Workbooks("classeur3").Worksheets("Feuil1").Range("A1")
a = 1
Else
sh.Range("A2", sh.Cells(derlig, dercol)).Copy _
Workbooks("classeur3").Worksheets("Feuil1").Range("A65536").End(xlUp)(2)
End If
Next
End With
End Sub
'---------------------------------
Salutations!
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news:
433fced7$0$16916$
C'est un mystère:
çà ne vient pas de l'ouverture de SOURCE: ils sont actifs tous les 2
(SOURCE
et CIBLE) : c'est déjà ce que je faisais hier
voici ce qui se passe quand on déroule la macro pas à pas:
à la deuxième instruction
Workbooks("SOURCE.xls").Activate
le fichier SOURCE est activé, il est ouvert sur l'onglet actif Feuil3 (il
comporte 3 onglets Feuil1, Feuil2, Feuil3 avec des majuscules)
à la 3ème ligne
Sheets("Feuil1").Rows(1).Copy
c'est tjrs l'onglet Feuil3 qui reste actif,
et on reçoit le message d'erreur:
Run-time error '9'
Subscript out of range
je ne comprends pas bien...
cordialement,
Marc D
"Daniel" a écrit dans le message de
news:J'aurai dû préciser que le classeur "SOURCE.xls" doit être ouvert. Si ce
n'est pas le cas, ouvre-le avant d'exécuter la macro ou ajoute :
Workbooks.Open "C:tempSOURCE.xls" (change le répertoire en
conséquence)
D'autre part vérifie que le nom de la feuille est bien "Feuil1".
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news: 433ef9ca$0$26565$Bon, merci d'avoir pris le temps de me répondre, mais je n'ai pas
réussi
àle faire marcher...
J'ai bien créé deux fichiers SOURCE ET CIBLE, et j'ai mis la macro
dans
CIBLE.
Mais à l'exécution, j'ai un message d'erreur :
Run-time error '9'
Subscript out of range
en exécutant pas-à-pas, je constate que çà bloque à la 3ème ligne
Sheets("Feuil1").Rows(1).Copy
En relisant la macro, je ne vois pas ce qui cloche...
Une idée ??
Marc D
"Daniel" a écrit dans le message de
news:%Je crois que tu aurais dû initialiser un nouveau fil avec un nouveau
titre.En fouillant dans mes archives, j'ai retrouvé la macro suivante avec
un
fichier source en lecture et un fichier "cible" de regroupement.
Je ne me rapelle plus si je l'avais publié. Je le remets à tout
hasard
:
Sub test()
Dim Ctr As Long, i As Integer
Workbooks("SOURCE.xls").Activate
Sheets("Feuil1").Rows(1).Copy
Workbooks("CIBLE.xls").Activate
Sheets("Global").Paste
Ctr = 2
Workbooks("SOURCE.xls").Activate
For i = 1 To Sheets.Count
Workbooks("SOURCE.xls").Activate
Sheets(i).Activate
Range("A2").Resize(Range("A65536").End(xlUp).Row - 1, _
Range("IV1").End(xlToLeft).Column).Copy
Workbooks("CIBLE.xls").Activate
Sheets("Global").Select
Cells(Ctr, 1).Select
Sheets("Global").Paste
Ctr = Range("A65536").End(xlUp).Row + 1
Next i
End Sub
Un peu bousculé en ce moment avec la rentrée scolaire et le
déménagementdemes gamins, mais ça commence à se calmer.
Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message
de
news: 433ea381$0$25975$Bonjour,
voici ce que je voudrais faire:
sur plusieurs onglets d'un fichier, j'ai des données sous forme de
listes(bases de données avec entête de colonnes en première ligne)
les onglets ont tous le même nombre de colonnes, avec les mêmes
entêtesle nombre de lignes est différent d'un onglet à l'autre (chaque
ligne
estun
article différent)
je voudrais faire une macro qui rassemble toutes les données des
onglets
en
une seule liste, plus facile à traiter ensuite sous forme de TcD
Information complémentaire:
le fichier ci-dessus est un fichier A de saisie de données : il est
déposésur un répertoire d'un réseau, et plusieurs participants peuvent y
accédersimultanément (fichier partagé)
je souhaite que la macro soit dans un autre fichier B, où serait
crééelacompil: cette compil servira de table de données pour un TcD
c'est à cause de ce TcD que je pense préférable de séparer en 2
fichiers
(un
de saisie, et un de traitement)
La macro proposée par Daniel dans les messages précédents marche
bien,mais
elle crée la compil sous forme d'un onglet Global dans le fichier
initial
Merci de votre aide
Marc D
"Daniel" a écrit dans le message de
news:%Bonjour.
Désolé, je ne me rappelle plus exactement de la question, sinon de
lamajuscule de "Global".
Le mieux serait de reposter l'ensemble de ton problème sans me
l'adresserenparticulier, afin que de plus savants que moi puissent aussi y
réfléchir.Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le
message
de
news: 433e926e$1$25983$J'espère que Daniel verra mon message: nous avons échangé
plusieursfois,mais je ne crois pas qu'il ait vu mon dernier message...
Je lance une nouvelle bouteille à la mer
cordialement,
Marc D
Bonjour Marc,
Cette procédure copie toutes les données de toutes les feuilles du
classeur2 vers la feuille1 du classeur3
'---------------------------------
Sub Compilation()
Dim a as Integer, Sh As Worksheet
With Workbooks("Classeur2")
For Each sh In .Worksheets
derlig = sh.Range("A65536").End(xlUp).Row
dercol = sh.Range("IV1").End(xlToLeft).Column
If a = 0 Then
sh.Range("A1", sh.Cells(derlig, dercol)).Copy _
Workbooks("classeur3").Worksheets("Feuil1").Range("A1")
a = 1
Else
sh.Range("A2", sh.Cells(derlig, dercol)).Copy _
Workbooks("classeur3").Worksheets("Feuil1").Range("A65536").End(xlUp)(2)
End If
Next
End With
End Sub
'---------------------------------
Salutations!
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news:
433fced7$0$16916$79c14f64@nan-newsreader-07.noos.net...
C'est un mystère:
çà ne vient pas de l'ouverture de SOURCE: ils sont actifs tous les 2
(SOURCE
et CIBLE) : c'est déjà ce que je faisais hier
voici ce qui se passe quand on déroule la macro pas à pas:
à la deuxième instruction
Workbooks("SOURCE.xls").Activate
le fichier SOURCE est activé, il est ouvert sur l'onglet actif Feuil3 (il
comporte 3 onglets Feuil1, Feuil2, Feuil3 avec des majuscules)
à la 3ème ligne
Sheets("Feuil1").Rows(1).Copy
c'est tjrs l'onglet Feuil3 qui reste actif,
et on reçoit le message d'erreur:
Run-time error '9'
Subscript out of range
je ne comprends pas bien...
cordialement,
Marc D
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de
news:OEX35FtxFHA.1284@tk2msftngp13.phx.gbl...
J'aurai dû préciser que le classeur "SOURCE.xls" doit être ouvert. Si ce
n'est pas le cas, ouvre-le avant d'exécuter la macro ou ajoute :
Workbooks.Open "C:tempSOURCE.xls" (change le répertoire en
conséquence)
D'autre part vérifie que le nom de la feuille est bien "Feuil1".
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news: 433ef9ca$0$26565$79c14f64@nan-newsreader-05.noos.net...
Bon, merci d'avoir pris le temps de me répondre, mais je n'ai pas
réussi
à
le faire marcher...
J'ai bien créé deux fichiers SOURCE ET CIBLE, et j'ai mis la macro
dans
CIBLE.
Mais à l'exécution, j'ai un message d'erreur :
Run-time error '9'
Subscript out of range
en exécutant pas-à-pas, je constate que çà bloque à la 3ème ligne
Sheets("Feuil1").Rows(1).Copy
En relisant la macro, je ne vois pas ce qui cloche...
Une idée ??
Marc D
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de
news:%23U1HYJqxFHA.2212@TK2MSFTNGP15.phx.gbl...
Je crois que tu aurais dû initialiser un nouveau fil avec un nouveau
titre.
En fouillant dans mes archives, j'ai retrouvé la macro suivante avec
un
fichier source en lecture et un fichier "cible" de regroupement.
Je ne me rapelle plus si je l'avais publié. Je le remets à tout
hasard
:
Sub test()
Dim Ctr As Long, i As Integer
Workbooks("SOURCE.xls").Activate
Sheets("Feuil1").Rows(1).Copy
Workbooks("CIBLE.xls").Activate
Sheets("Global").Paste
Ctr = 2
Workbooks("SOURCE.xls").Activate
For i = 1 To Sheets.Count
Workbooks("SOURCE.xls").Activate
Sheets(i).Activate
Range("A2").Resize(Range("A65536").End(xlUp).Row - 1, _
Range("IV1").End(xlToLeft).Column).Copy
Workbooks("CIBLE.xls").Activate
Sheets("Global").Select
Cells(Ctr, 1).Select
Sheets("Global").Paste
Ctr = Range("A65536").End(xlUp).Row + 1
Next i
End Sub
Un peu bousculé en ce moment avec la rentrée scolaire et le
déménagement
de
mes gamins, mais ça commence à se calmer.
Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message
de
news: 433ea381$0$25975$79c14f64@nan-newsreader-05.noos.net...
Bonjour,
voici ce que je voudrais faire:
sur plusieurs onglets d'un fichier, j'ai des données sous forme de
listes
(bases de données avec entête de colonnes en première ligne)
les onglets ont tous le même nombre de colonnes, avec les mêmes
entêtes
le nombre de lignes est différent d'un onglet à l'autre (chaque
ligne
est
un
article différent)
je voudrais faire une macro qui rassemble toutes les données des
onglets
en
une seule liste, plus facile à traiter ensuite sous forme de TcD
Information complémentaire:
le fichier ci-dessus est un fichier A de saisie de données : il est
déposé
sur un répertoire d'un réseau, et plusieurs participants peuvent y
accéder
simultanément (fichier partagé)
je souhaite que la macro soit dans un autre fichier B, où serait
créée
la
compil: cette compil servira de table de données pour un TcD
c'est à cause de ce TcD que je pense préférable de séparer en 2
fichiers
(un
de saisie, et un de traitement)
La macro proposée par Daniel dans les messages précédents marche
bien,
mais
elle crée la compil sous forme d'un onglet Global dans le fichier
initial
Merci de votre aide
Marc D
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de
news:%23lC1BVpxFHA.736@tk2msftngp13.phx.gbl...
Bonjour.
Désolé, je ne me rappelle plus exactement de la question, sinon de
la
majuscule de "Global".
Le mieux serait de reposter l'ensemble de ton problème sans me
l'adresser
en
particulier, afin que de plus savants que moi puissent aussi y
réfléchir.
Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le
message
de
news: 433e926e$1$25983$79c14f64@nan-newsreader-05.noos.net...
J'espère que Daniel verra mon message: nous avons échangé
plusieurs
fois,
mais je ne crois pas qu'il ait vu mon dernier message...
Je lance une nouvelle bouteille à la mer
cordialement,
Marc D
Bonjour Marc,
Cette procédure copie toutes les données de toutes les feuilles du
classeur2 vers la feuille1 du classeur3
'---------------------------------
Sub Compilation()
Dim a as Integer, Sh As Worksheet
With Workbooks("Classeur2")
For Each sh In .Worksheets
derlig = sh.Range("A65536").End(xlUp).Row
dercol = sh.Range("IV1").End(xlToLeft).Column
If a = 0 Then
sh.Range("A1", sh.Cells(derlig, dercol)).Copy _
Workbooks("classeur3").Worksheets("Feuil1").Range("A1")
a = 1
Else
sh.Range("A2", sh.Cells(derlig, dercol)).Copy _
Workbooks("classeur3").Worksheets("Feuil1").Range("A65536").End(xlUp)(2)
End If
Next
End With
End Sub
'---------------------------------
Salutations!
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news:
433fced7$0$16916$
C'est un mystère:
çà ne vient pas de l'ouverture de SOURCE: ils sont actifs tous les 2
(SOURCE
et CIBLE) : c'est déjà ce que je faisais hier
voici ce qui se passe quand on déroule la macro pas à pas:
à la deuxième instruction
Workbooks("SOURCE.xls").Activate
le fichier SOURCE est activé, il est ouvert sur l'onglet actif Feuil3 (il
comporte 3 onglets Feuil1, Feuil2, Feuil3 avec des majuscules)
à la 3ème ligne
Sheets("Feuil1").Rows(1).Copy
c'est tjrs l'onglet Feuil3 qui reste actif,
et on reçoit le message d'erreur:
Run-time error '9'
Subscript out of range
je ne comprends pas bien...
cordialement,
Marc D
"Daniel" a écrit dans le message de
news:J'aurai dû préciser que le classeur "SOURCE.xls" doit être ouvert. Si ce
n'est pas le cas, ouvre-le avant d'exécuter la macro ou ajoute :
Workbooks.Open "C:tempSOURCE.xls" (change le répertoire en
conséquence)
D'autre part vérifie que le nom de la feuille est bien "Feuil1".
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news: 433ef9ca$0$26565$Bon, merci d'avoir pris le temps de me répondre, mais je n'ai pas
réussi
àle faire marcher...
J'ai bien créé deux fichiers SOURCE ET CIBLE, et j'ai mis la macro
dans
CIBLE.
Mais à l'exécution, j'ai un message d'erreur :
Run-time error '9'
Subscript out of range
en exécutant pas-à-pas, je constate que çà bloque à la 3ème ligne
Sheets("Feuil1").Rows(1).Copy
En relisant la macro, je ne vois pas ce qui cloche...
Une idée ??
Marc D
"Daniel" a écrit dans le message de
news:%Je crois que tu aurais dû initialiser un nouveau fil avec un nouveau
titre.En fouillant dans mes archives, j'ai retrouvé la macro suivante avec
un
fichier source en lecture et un fichier "cible" de regroupement.
Je ne me rapelle plus si je l'avais publié. Je le remets à tout
hasard
:
Sub test()
Dim Ctr As Long, i As Integer
Workbooks("SOURCE.xls").Activate
Sheets("Feuil1").Rows(1).Copy
Workbooks("CIBLE.xls").Activate
Sheets("Global").Paste
Ctr = 2
Workbooks("SOURCE.xls").Activate
For i = 1 To Sheets.Count
Workbooks("SOURCE.xls").Activate
Sheets(i).Activate
Range("A2").Resize(Range("A65536").End(xlUp).Row - 1, _
Range("IV1").End(xlToLeft).Column).Copy
Workbooks("CIBLE.xls").Activate
Sheets("Global").Select
Cells(Ctr, 1).Select
Sheets("Global").Paste
Ctr = Range("A65536").End(xlUp).Row + 1
Next i
End Sub
Un peu bousculé en ce moment avec la rentrée scolaire et le
déménagementdemes gamins, mais ça commence à se calmer.
Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message
de
news: 433ea381$0$25975$Bonjour,
voici ce que je voudrais faire:
sur plusieurs onglets d'un fichier, j'ai des données sous forme de
listes(bases de données avec entête de colonnes en première ligne)
les onglets ont tous le même nombre de colonnes, avec les mêmes
entêtesle nombre de lignes est différent d'un onglet à l'autre (chaque
ligne
estun
article différent)
je voudrais faire une macro qui rassemble toutes les données des
onglets
en
une seule liste, plus facile à traiter ensuite sous forme de TcD
Information complémentaire:
le fichier ci-dessus est un fichier A de saisie de données : il est
déposésur un répertoire d'un réseau, et plusieurs participants peuvent y
accédersimultanément (fichier partagé)
je souhaite que la macro soit dans un autre fichier B, où serait
crééelacompil: cette compil servira de table de données pour un TcD
c'est à cause de ce TcD que je pense préférable de séparer en 2
fichiers
(un
de saisie, et un de traitement)
La macro proposée par Daniel dans les messages précédents marche
bien,mais
elle crée la compil sous forme d'un onglet Global dans le fichier
initial
Merci de votre aide
Marc D
"Daniel" a écrit dans le message de
news:%Bonjour.
Désolé, je ne me rappelle plus exactement de la question, sinon de
lamajuscule de "Global".
Le mieux serait de reposter l'ensemble de ton problème sans me
l'adresserenparticulier, afin que de plus savants que moi puissent aussi y
réfléchir.Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le
message
de
news: 433e926e$1$25983$J'espère que Daniel verra mon message: nous avons échangé
plusieursfois,mais je ne crois pas qu'il ait vu mon dernier message...
Je lance une nouvelle bouteille à la mer
cordialement,
Marc D
Bonjour Marc,
Est-ce que ton classeur porte le nom de Classeur2 ? Tu dois pour le moins
prendre le temps d'identifier les objets selon ton
application... Excel ne peut pas deviner !!! N'oublie pas d'y ajouter
l'extension si ton classeur est déjà enregistrée
With Workbooks("NomDeTonClasseur.xls")
Applique la même chose pour le classeur de destination.
Concernant la variable A, comme j'ai défini le type de la variable A As
integer, sa valeur est zéro en début de procédure. Rien à
modifier.
Salutations!
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news:
433fea8e$0$30255$
Bonjour Michdenis, merci d'intervenir
je butte encore sur la même erreur:
après la ligne
With Workbooks("Classeur2")
je reçois un message d'erreur
Run-time error '9'
Subscript out of range
une remarque sur l'instruction:
If a = 0 Then
le paramètre "a" ne doit-il pas être initialisé ? ou bien prend-il la
valeur
0 par défaut ?
autre remarque: j'ai mis la macro dans la feuille thisWorkbook du fichier
CIBLE, sans succès, puis n'étant pas sûr, j'ai créé un nouveau module dans
ce même fichier: même résultat
merci
Marc D
"michdenis" a écrit dans le message de
news:%23%Bonjour Marc,
Cette procédure copie toutes les données de toutes les feuilles du
classeur2 vers la feuille1 du classeur3
'---------------------------------
Sub Compilation()
Dim a as Integer, Sh As Worksheet
With Workbooks("Classeur2")
For Each sh In .Worksheets
derlig = sh.Range("A65536").End(xlUp).Row
dercol = sh.Range("IV1").End(xlToLeft).Column
If a = 0 Then
sh.Range("A1", sh.Cells(derlig, dercol)).Copy _
Workbooks("classeur3").Worksheets("Feuil1").Range("A1")
a = 1
Else
sh.Range("A2", sh.Cells(derlig, dercol)).Copy _
Workbooks("classeur3").Worksheets("Feuil1").Range("A65536").End(xlUp)(2)End If
Next
End With
End Sub
'---------------------------------
Salutations!
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news:433fced7$0$16916$
C'est un mystère:
çà ne vient pas de l'ouverture de SOURCE: ils sont actifs tous les 2
(SOURCEet CIBLE) : c'est déjà ce que je faisais hier
voici ce qui se passe quand on déroule la macro pas à pas:
à la deuxième instruction
Workbooks("SOURCE.xls").Activate
le fichier SOURCE est activé, il est ouvert sur l'onglet actif Feuil3
(il
comporte 3 onglets Feuil1, Feuil2, Feuil3 avec des majuscules)
à la 3ème ligne
Sheets("Feuil1").Rows(1).Copy
c'est tjrs l'onglet Feuil3 qui reste actif,
et on reçoit le message d'erreur:
Run-time error '9'
Subscript out of range
je ne comprends pas bien...
cordialement,
Marc D
"Daniel" a écrit dans le message de
news:J'aurai dû préciser que le classeur "SOURCE.xls" doit être ouvert. Si
ce
n'est pas le cas, ouvre-le avant d'exécuter la macro ou ajoute :
Workbooks.Open "C:tempSOURCE.xls" (change le répertoire en
conséquence)D'autre part vérifie que le nom de la feuille est bien "Feuil1".
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message
de
news: 433ef9ca$0$26565$Bon, merci d'avoir pris le temps de me répondre, mais je n'ai pas
réussiàle faire marcher...
J'ai bien créé deux fichiers SOURCE ET CIBLE, et j'ai mis la macro
dansCIBLE.
Mais à l'exécution, j'ai un message d'erreur :
Run-time error '9'
Subscript out of range
en exécutant pas-à-pas, je constate que çà bloque à la 3ème ligne
Sheets("Feuil1").Rows(1).Copy
En relisant la macro, je ne vois pas ce qui cloche...
Une idée ??
Marc D
"Daniel" a écrit dans le message de
news:%Je crois que tu aurais dû initialiser un nouveau fil avec un
nouveau
titre.En fouillant dans mes archives, j'ai retrouvé la macro suivante
avec
unfichier source en lecture et un fichier "cible" de regroupement.
Je ne me rapelle plus si je l'avais publié. Je le remets à tout
hasard:
Sub test()
Dim Ctr As Long, i As Integer
Workbooks("SOURCE.xls").Activate
Sheets("Feuil1").Rows(1).Copy
Workbooks("CIBLE.xls").Activate
Sheets("Global").Paste
Ctr = 2
Workbooks("SOURCE.xls").Activate
For i = 1 To Sheets.Count
Workbooks("SOURCE.xls").Activate
Sheets(i).Activate
Range("A2").Resize(Range("A65536").End(xlUp).Row - 1, _
Range("IV1").End(xlToLeft).Column).Copy
Workbooks("CIBLE.xls").Activate
Sheets("Global").Select
Cells(Ctr, 1).Select
Sheets("Global").Paste
Ctr = Range("A65536").End(xlUp).Row + 1
Next i
End Sub
Un peu bousculé en ce moment avec la rentrée scolaire et le
déménagementdemes gamins, mais ça commence à se calmer.
Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le
message
denews: 433ea381$0$25975$Bonjour,
voici ce que je voudrais faire:
sur plusieurs onglets d'un fichier, j'ai des données sous forme
de
listes(bases de données avec entête de colonnes en première ligne)
les onglets ont tous le même nombre de colonnes, avec les mêmes
entêtesle nombre de lignes est différent d'un onglet à l'autre (chaque
ligneestun
article différent)
je voudrais faire une macro qui rassemble toutes les données des
onglets
en
une seule liste, plus facile à traiter ensuite sous forme de TcD
Information complémentaire:
le fichier ci-dessus est un fichier A de saisie de données : il
est
déposésur un répertoire d'un réseau, et plusieurs participants peuvent
y
accédersimultanément (fichier partagé)
je souhaite que la macro soit dans un autre fichier B, où serait
crééelacompil: cette compil servira de table de données pour un TcD
c'est à cause de ce TcD que je pense préférable de séparer en 2
fichiers
(un
de saisie, et un de traitement)
La macro proposée par Daniel dans les messages précédents marche
bien,mais
elle crée la compil sous forme d'un onglet Global dans le fichier
initial
Merci de votre aide
Marc D
"Daniel" a écrit dans le message de
news:%Bonjour.
Désolé, je ne me rappelle plus exactement de la question, sinon
de
lamajuscule de "Global".
Le mieux serait de reposter l'ensemble de ton problème sans me
l'adresserenparticulier, afin que de plus savants que moi puissent aussi y
réfléchir.Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le
messagede
news: 433e926e$1$25983$J'espère que Daniel verra mon message: nous avons échangé
plusieursfois,mais je ne crois pas qu'il ait vu mon dernier message...
Je lance une nouvelle bouteille à la mer
cordialement,
Marc D
Bonjour Marc,
Est-ce que ton classeur porte le nom de Classeur2 ? Tu dois pour le moins
prendre le temps d'identifier les objets selon ton
application... Excel ne peut pas deviner !!! N'oublie pas d'y ajouter
l'extension si ton classeur est déjà enregistrée
With Workbooks("NomDeTonClasseur.xls")
Applique la même chose pour le classeur de destination.
Concernant la variable A, comme j'ai défini le type de la variable A As
integer, sa valeur est zéro en début de procédure. Rien à
modifier.
Salutations!
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news:
433fea8e$0$30255$79c14f64@nan-newsreader-05.noos.net...
Bonjour Michdenis, merci d'intervenir
je butte encore sur la même erreur:
après la ligne
With Workbooks("Classeur2")
je reçois un message d'erreur
Run-time error '9'
Subscript out of range
une remarque sur l'instruction:
If a = 0 Then
le paramètre "a" ne doit-il pas être initialisé ? ou bien prend-il la
valeur
0 par défaut ?
autre remarque: j'ai mis la macro dans la feuille thisWorkbook du fichier
CIBLE, sans succès, puis n'étant pas sûr, j'ai créé un nouveau module dans
ce même fichier: même résultat
merci
Marc D
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:%23%23nbyU1xFHA.900@TK2MSFTNGP11.phx.gbl...
Bonjour Marc,
Cette procédure copie toutes les données de toutes les feuilles du
classeur2 vers la feuille1 du classeur3
'---------------------------------
Sub Compilation()
Dim a as Integer, Sh As Worksheet
With Workbooks("Classeur2")
For Each sh In .Worksheets
derlig = sh.Range("A65536").End(xlUp).Row
dercol = sh.Range("IV1").End(xlToLeft).Column
If a = 0 Then
sh.Range("A1", sh.Cells(derlig, dercol)).Copy _
Workbooks("classeur3").Worksheets("Feuil1").Range("A1")
a = 1
Else
sh.Range("A2", sh.Cells(derlig, dercol)).Copy _
Workbooks("classeur3").Worksheets("Feuil1").Range("A65536").End(xlUp)(2)
End If
Next
End With
End Sub
'---------------------------------
Salutations!
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news:
433fced7$0$16916$79c14f64@nan-newsreader-07.noos.net...
C'est un mystère:
çà ne vient pas de l'ouverture de SOURCE: ils sont actifs tous les 2
(SOURCE
et CIBLE) : c'est déjà ce que je faisais hier
voici ce qui se passe quand on déroule la macro pas à pas:
à la deuxième instruction
Workbooks("SOURCE.xls").Activate
le fichier SOURCE est activé, il est ouvert sur l'onglet actif Feuil3
(il
comporte 3 onglets Feuil1, Feuil2, Feuil3 avec des majuscules)
à la 3ème ligne
Sheets("Feuil1").Rows(1).Copy
c'est tjrs l'onglet Feuil3 qui reste actif,
et on reçoit le message d'erreur:
Run-time error '9'
Subscript out of range
je ne comprends pas bien...
cordialement,
Marc D
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de
news:OEX35FtxFHA.1284@tk2msftngp13.phx.gbl...
J'aurai dû préciser que le classeur "SOURCE.xls" doit être ouvert. Si
ce
n'est pas le cas, ouvre-le avant d'exécuter la macro ou ajoute :
Workbooks.Open "C:tempSOURCE.xls" (change le répertoire en
conséquence)
D'autre part vérifie que le nom de la feuille est bien "Feuil1".
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message
de
news: 433ef9ca$0$26565$79c14f64@nan-newsreader-05.noos.net...
Bon, merci d'avoir pris le temps de me répondre, mais je n'ai pas
réussi
à
le faire marcher...
J'ai bien créé deux fichiers SOURCE ET CIBLE, et j'ai mis la macro
dans
CIBLE.
Mais à l'exécution, j'ai un message d'erreur :
Run-time error '9'
Subscript out of range
en exécutant pas-à-pas, je constate que çà bloque à la 3ème ligne
Sheets("Feuil1").Rows(1).Copy
En relisant la macro, je ne vois pas ce qui cloche...
Une idée ??
Marc D
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de
news:%23U1HYJqxFHA.2212@TK2MSFTNGP15.phx.gbl...
Je crois que tu aurais dû initialiser un nouveau fil avec un
nouveau
titre.
En fouillant dans mes archives, j'ai retrouvé la macro suivante
avec
un
fichier source en lecture et un fichier "cible" de regroupement.
Je ne me rapelle plus si je l'avais publié. Je le remets à tout
hasard
:
Sub test()
Dim Ctr As Long, i As Integer
Workbooks("SOURCE.xls").Activate
Sheets("Feuil1").Rows(1).Copy
Workbooks("CIBLE.xls").Activate
Sheets("Global").Paste
Ctr = 2
Workbooks("SOURCE.xls").Activate
For i = 1 To Sheets.Count
Workbooks("SOURCE.xls").Activate
Sheets(i).Activate
Range("A2").Resize(Range("A65536").End(xlUp).Row - 1, _
Range("IV1").End(xlToLeft).Column).Copy
Workbooks("CIBLE.xls").Activate
Sheets("Global").Select
Cells(Ctr, 1).Select
Sheets("Global").Paste
Ctr = Range("A65536").End(xlUp).Row + 1
Next i
End Sub
Un peu bousculé en ce moment avec la rentrée scolaire et le
déménagement
de
mes gamins, mais ça commence à se calmer.
Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le
message
de
news: 433ea381$0$25975$79c14f64@nan-newsreader-05.noos.net...
Bonjour,
voici ce que je voudrais faire:
sur plusieurs onglets d'un fichier, j'ai des données sous forme
de
listes
(bases de données avec entête de colonnes en première ligne)
les onglets ont tous le même nombre de colonnes, avec les mêmes
entêtes
le nombre de lignes est différent d'un onglet à l'autre (chaque
ligne
est
un
article différent)
je voudrais faire une macro qui rassemble toutes les données des
onglets
en
une seule liste, plus facile à traiter ensuite sous forme de TcD
Information complémentaire:
le fichier ci-dessus est un fichier A de saisie de données : il
est
déposé
sur un répertoire d'un réseau, et plusieurs participants peuvent
y
accéder
simultanément (fichier partagé)
je souhaite que la macro soit dans un autre fichier B, où serait
créée
la
compil: cette compil servira de table de données pour un TcD
c'est à cause de ce TcD que je pense préférable de séparer en 2
fichiers
(un
de saisie, et un de traitement)
La macro proposée par Daniel dans les messages précédents marche
bien,
mais
elle crée la compil sous forme d'un onglet Global dans le fichier
initial
Merci de votre aide
Marc D
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de
news:%23lC1BVpxFHA.736@tk2msftngp13.phx.gbl...
Bonjour.
Désolé, je ne me rappelle plus exactement de la question, sinon
de
la
majuscule de "Global".
Le mieux serait de reposter l'ensemble de ton problème sans me
l'adresser
en
particulier, afin que de plus savants que moi puissent aussi y
réfléchir.
Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le
message
de
news: 433e926e$1$25983$79c14f64@nan-newsreader-05.noos.net...
J'espère que Daniel verra mon message: nous avons échangé
plusieurs
fois,
mais je ne crois pas qu'il ait vu mon dernier message...
Je lance une nouvelle bouteille à la mer
cordialement,
Marc D
Bonjour Marc,
Est-ce que ton classeur porte le nom de Classeur2 ? Tu dois pour le moins
prendre le temps d'identifier les objets selon ton
application... Excel ne peut pas deviner !!! N'oublie pas d'y ajouter
l'extension si ton classeur est déjà enregistrée
With Workbooks("NomDeTonClasseur.xls")
Applique la même chose pour le classeur de destination.
Concernant la variable A, comme j'ai défini le type de la variable A As
integer, sa valeur est zéro en début de procédure. Rien à
modifier.
Salutations!
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news:
433fea8e$0$30255$
Bonjour Michdenis, merci d'intervenir
je butte encore sur la même erreur:
après la ligne
With Workbooks("Classeur2")
je reçois un message d'erreur
Run-time error '9'
Subscript out of range
une remarque sur l'instruction:
If a = 0 Then
le paramètre "a" ne doit-il pas être initialisé ? ou bien prend-il la
valeur
0 par défaut ?
autre remarque: j'ai mis la macro dans la feuille thisWorkbook du fichier
CIBLE, sans succès, puis n'étant pas sûr, j'ai créé un nouveau module dans
ce même fichier: même résultat
merci
Marc D
"michdenis" a écrit dans le message de
news:%23%Bonjour Marc,
Cette procédure copie toutes les données de toutes les feuilles du
classeur2 vers la feuille1 du classeur3
'---------------------------------
Sub Compilation()
Dim a as Integer, Sh As Worksheet
With Workbooks("Classeur2")
For Each sh In .Worksheets
derlig = sh.Range("A65536").End(xlUp).Row
dercol = sh.Range("IV1").End(xlToLeft).Column
If a = 0 Then
sh.Range("A1", sh.Cells(derlig, dercol)).Copy _
Workbooks("classeur3").Worksheets("Feuil1").Range("A1")
a = 1
Else
sh.Range("A2", sh.Cells(derlig, dercol)).Copy _
Workbooks("classeur3").Worksheets("Feuil1").Range("A65536").End(xlUp)(2)End If
Next
End With
End Sub
'---------------------------------
Salutations!
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message de
news:433fced7$0$16916$
C'est un mystère:
çà ne vient pas de l'ouverture de SOURCE: ils sont actifs tous les 2
(SOURCEet CIBLE) : c'est déjà ce que je faisais hier
voici ce qui se passe quand on déroule la macro pas à pas:
à la deuxième instruction
Workbooks("SOURCE.xls").Activate
le fichier SOURCE est activé, il est ouvert sur l'onglet actif Feuil3
(il
comporte 3 onglets Feuil1, Feuil2, Feuil3 avec des majuscules)
à la 3ème ligne
Sheets("Feuil1").Rows(1).Copy
c'est tjrs l'onglet Feuil3 qui reste actif,
et on reçoit le message d'erreur:
Run-time error '9'
Subscript out of range
je ne comprends pas bien...
cordialement,
Marc D
"Daniel" a écrit dans le message de
news:J'aurai dû préciser que le classeur "SOURCE.xls" doit être ouvert. Si
ce
n'est pas le cas, ouvre-le avant d'exécuter la macro ou ajoute :
Workbooks.Open "C:tempSOURCE.xls" (change le répertoire en
conséquence)D'autre part vérifie que le nom de la feuille est bien "Feuil1".
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le message
de
news: 433ef9ca$0$26565$Bon, merci d'avoir pris le temps de me répondre, mais je n'ai pas
réussiàle faire marcher...
J'ai bien créé deux fichiers SOURCE ET CIBLE, et j'ai mis la macro
dansCIBLE.
Mais à l'exécution, j'ai un message d'erreur :
Run-time error '9'
Subscript out of range
en exécutant pas-à-pas, je constate que çà bloque à la 3ème ligne
Sheets("Feuil1").Rows(1).Copy
En relisant la macro, je ne vois pas ce qui cloche...
Une idée ??
Marc D
"Daniel" a écrit dans le message de
news:%Je crois que tu aurais dû initialiser un nouveau fil avec un
nouveau
titre.En fouillant dans mes archives, j'ai retrouvé la macro suivante
avec
unfichier source en lecture et un fichier "cible" de regroupement.
Je ne me rapelle plus si je l'avais publié. Je le remets à tout
hasard:
Sub test()
Dim Ctr As Long, i As Integer
Workbooks("SOURCE.xls").Activate
Sheets("Feuil1").Rows(1).Copy
Workbooks("CIBLE.xls").Activate
Sheets("Global").Paste
Ctr = 2
Workbooks("SOURCE.xls").Activate
For i = 1 To Sheets.Count
Workbooks("SOURCE.xls").Activate
Sheets(i).Activate
Range("A2").Resize(Range("A65536").End(xlUp).Row - 1, _
Range("IV1").End(xlToLeft).Column).Copy
Workbooks("CIBLE.xls").Activate
Sheets("Global").Select
Cells(Ctr, 1).Select
Sheets("Global").Paste
Ctr = Range("A65536").End(xlUp).Row + 1
Next i
End Sub
Un peu bousculé en ce moment avec la rentrée scolaire et le
déménagementdemes gamins, mais ça commence à se calmer.
Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le
message
denews: 433ea381$0$25975$Bonjour,
voici ce que je voudrais faire:
sur plusieurs onglets d'un fichier, j'ai des données sous forme
de
listes(bases de données avec entête de colonnes en première ligne)
les onglets ont tous le même nombre de colonnes, avec les mêmes
entêtesle nombre de lignes est différent d'un onglet à l'autre (chaque
ligneestun
article différent)
je voudrais faire une macro qui rassemble toutes les données des
onglets
en
une seule liste, plus facile à traiter ensuite sous forme de TcD
Information complémentaire:
le fichier ci-dessus est un fichier A de saisie de données : il
est
déposésur un répertoire d'un réseau, et plusieurs participants peuvent
y
accédersimultanément (fichier partagé)
je souhaite que la macro soit dans un autre fichier B, où serait
crééelacompil: cette compil servira de table de données pour un TcD
c'est à cause de ce TcD que je pense préférable de séparer en 2
fichiers
(un
de saisie, et un de traitement)
La macro proposée par Daniel dans les messages précédents marche
bien,mais
elle crée la compil sous forme d'un onglet Global dans le fichier
initial
Merci de votre aide
Marc D
"Daniel" a écrit dans le message de
news:%Bonjour.
Désolé, je ne me rappelle plus exactement de la question, sinon
de
lamajuscule de "Global".
Le mieux serait de reposter l'ensemble de ton problème sans me
l'adresserenparticulier, afin que de plus savants que moi puissent aussi y
réfléchir.Cordialement.
Daniel
"Marc D" <http://cerbermail.com/?GYTiuFqCBb> a écrit dans le
messagede
news: 433e926e$1$25983$J'espère que Daniel verra mon message: nous avons échangé
plusieursfois,mais je ne crois pas qu'il ait vu mon dernier message...
Je lance une nouvelle bouteille à la mer
cordialement,
Marc D