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
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
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
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$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
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
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$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
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" a écrit dans le message de
news: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$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
comment m'y prendre ?
Merci de votre aide
Marc D
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
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" a écrit dans le message de
news: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$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
comment m'y prendre ?
Merci de votre aide
Marc D
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$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" a écrit dans le message de
news: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$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
comment m'y prendre ?
Merci de votre aide
Marc D
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
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$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" a écrit dans le message de
news: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$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
comment m'y prendre ?
Merci de votre aide
Marc D
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
sur
leproblè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$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
autotal), 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'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" 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 message
de
news: 432b27d4$0$18213$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
comment m'y prendre ?
Merci de votre aide
Marc D
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
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
sur
leproblè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$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
autotal), 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'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" 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 message
de
news: 432b27d4$0$18213$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
comment m'y prendre ?
Merci de votre aide
Marc D
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 sur
leproblè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$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
autotal), 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'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" 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 message
de
news: 432b27d4$0$18213$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
comment m'y prendre ?
Merci de votre aide
Marc D
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
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 sur
leproblè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$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
autotal), 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'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" 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 message
de
news: 432b27d4$0$18213$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
comment m'y prendre ?
Merci de votre aide
Marc D
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$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
sur
leproblè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$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
autotal), 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'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" 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 message
de
news: 432b27d4$0$18213$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
comment m'y prendre ?
Merci de votre aide
Marc D
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
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$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
sur
leproblè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$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
autotal), 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'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" 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 message
de
news: 432b27d4$0$18213$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
comment m'y prendre ?
Merci de votre aide
Marc D
C'est juste, j'avais appelé l'onglet "global" au lieu de "Global".
Maintenant, ça marche très bien...
Merci beaucoup.
Une question supplémentaire: en fait, les onglets que je veux compiler
sont
des listes de longueur variable parce qu'elles sont documentées par
plusieurs personnes différentes, qui enregistrent des évènements chacune
dans son domaine.
J'envisageais de partager le fichier sur un réseau (outil/partager), mais
je
réalise que dans un fichier partagé, les macros ne sont pas actives.
Donc je pense qu'il faut séparer la saisie des données (sur un fichier
partagé, avec plusieurs onglets personne par personne), et le fichier de
synthèse, avec sa macro de compil. Comment demander à la macro de chercher
ses valeurs dans les onglets d'un autre fichier ?
Merci encore de ton aide.
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
de
news: 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
bien
la
ligne de titres + les lignes de données des 3 onglets (il y en avait
28autotal), 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'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" 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
message
de
news: 432b27d4$0$18213$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
comment m'y prendre ?
Merci de votre aide
Marc D
C'est juste, j'avais appelé l'onglet "global" au lieu de "Global".
Maintenant, ça marche très bien...
Merci beaucoup.
Une question supplémentaire: en fait, les onglets que je veux compiler
sont
des listes de longueur variable parce qu'elles sont documentées par
plusieurs personnes différentes, qui enregistrent des évènements chacune
dans son domaine.
J'envisageais de partager le fichier sur un réseau (outil/partager), mais
je
réalise que dans un fichier partagé, les macros ne sont pas actives.
Donc je pense qu'il faut séparer la saisie des données (sur un fichier
partagé, avec plusieurs onglets personne par personne), et le fichier de
synthèse, avec sa macro de compil. Comment demander à la macro de chercher
ses valeurs dans les onglets d'un autre fichier ?
Merci encore de ton aide.
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
C'est juste, j'avais appelé l'onglet "global" au lieu de "Global".
Maintenant, ça marche très bien...
Merci beaucoup.
Une question supplémentaire: en fait, les onglets que je veux compiler
sont
des listes de longueur variable parce qu'elles sont documentées par
plusieurs personnes différentes, qui enregistrent des évènements chacune
dans son domaine.
J'envisageais de partager le fichier sur un réseau (outil/partager), mais
je
réalise que dans un fichier partagé, les macros ne sont pas actives.
Donc je pense qu'il faut séparer la saisie des données (sur un fichier
partagé, avec plusieurs onglets personne par personne), et le fichier de
synthèse, avec sa macro de compil. Comment demander à la macro de chercher
ses valeurs dans les onglets d'un autre fichier ?
Merci encore de ton aide.
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
de
news: 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
bien
la
ligne de titres + les lignes de données des 3 onglets (il y en avait
28autotal), 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'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" 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
message
de
news: 432b27d4$0$18213$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
comment m'y prendre ?
Merci de votre aide
Marc D
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$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
sur
leproblè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$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
autotal), 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'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" 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 message
de
news: 432b27d4$0$18213$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
comment m'y prendre ?
Merci de votre aide
Marc D
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
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$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
sur
leproblè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$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
autotal), 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'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" 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 message
de
news: 432b27d4$0$18213$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
comment m'y prendre ?
Merci de votre aide
Marc D
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" 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
de
news: 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
bien
la
ligne de titres + les lignes de données des 3 onglets (il y en
avait
28autotal), 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'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" 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
message
de
news: 432b27d4$0$18213$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
comment m'y prendre ?
Merci de votre aide
Marc D
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
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" 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
de
news: 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
bien
la
ligne de titres + les lignes de données des 3 onglets (il y en
avait
28autotal), 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'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" 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
message
de
news: 432b27d4$0$18213$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
comment m'y prendre ?
Merci de votre aide
Marc D