A l'aide d'une macro j'aimerais trier et regrouper par pseudo sur une feuille différentes feuilles d'un classeur

Le
fred
Bonjour,
J'ai sur plusieurs feuilles d'un classeur des tableaux avec ces en-têtes :
Feuil1
ColA ColB C D
Date Note Pseudo Commentaire
3/11 3 alizee xxxx
5/01 4 alizee xxxx
7/03 3 alizee xxxx
4/01 5 amoramor xxxx
7/02 8 janna2 xxxx
1/03 8 janna2 xxxx
10/03 5 AT xxx
etc
Feuil2
ColA ColB C D
Date Note Pseudo Commentaire
12/11 3 beaufixe xxxx
8/01 4 beaufixe xxxx
14/03 3 alizee xxx
4/01 5 amoramor xxxx
14/02 8 janna2 xxxx
etc..
Feuil3
Feuil4
Feuil5 etc

A l'aide d'une macro j'aimerais trier par pseudo (en gardant la date, la
note et le commentaire correspondant à la même ligne) les différents
tableaux des feuilles et regrouper (copy de la feuille d'origine et
ActiveSheet.Paste sur la FeuilTriPseudo) sur une seule feuille en ajoutant
au tableau l'origine de la feuille.
FeuilTriPseudo
ColA ColB C D E
Date Note Pseudo Commentaire Origine
3/11 3 alizee xxxx Feuil1
5/01 4 alizee xxxx Feuil1
7/03 3 alizee xxxx Feuil1
14/03 3 alizee xxxx Feuil2
7/02 8 janna2 xxxx Feuil1
1/03 8 janna2 xxxx Feuil1
14/02 8 janna2 xxxx Feuil2
etc
En fait il faudrait récupérer les tableaux d'une quinzaine de feuilles du
classeur!
Merci pour votre aide!
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JB
Le #5229241
Bonjour,

Sub consolide_ongletsNomOnglet()
Sheets("base").[A1].CurrentRegion.Offset(1, 0).Clear
For s = 2 To Sheets.Count
nlig = Sheets(s).[A65000].End(xlUp).Row - 1
ncol = Sheets(s).[A1].CurrentRegion.Columns.Count
[A65000].End(xlUp).Offset(1, ncol).Resize(nlig, 1).Value =
Sheets(s).Name
[A65000].End(xlUp).Offset(1, 0).Resize(nlig, ncol).Value = _
Sheets(s).[A2].Resize(nlig, ncol).Value
Next s
On Error Resume Next
[A:A].SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

http://cjoint.com/?dpfdjc558W

JB
http://boisgontierjacques.free.fr


On 15 mar, 01:00, "fred"
Bonjour,
J'ai sur plusieurs feuilles d'un classeur des tableaux avec ces en-têtes :
Feuil1
ColA     ColB        C                D
Date     Note     Pseudo          Commentaire
3/11         3         alizee              x xxx
5/01         4         alizee              x xxx
7/03         3         alizee              x xxx
4/01         5         amoramor      xxxx
7/02         8         janna2            xxxx
1/03         8         janna2            xxxx
10/03       5         AT                 xxx
etc...
Feuil2
ColA     ColB        C                D
Date     Note        Pseudo       Commentaire
12/11     3            beaufixe       xxxx
8/01       4            beaufixe       xxxx
14/03     3            alizee            xxx
4/01       5            amoramor    xxxx
14/02     8            janna2          xxxx
etc..
Feuil3
Feuil4
Feuil5 etc...

A l'aide d'une macro j'aimerais trier par pseudo (en gardant la date, la
note et le commentaire correspondant à la même ligne) les différents
tableaux des feuilles et regrouper (copy de la feuille d'origine et
ActiveSheet.Paste sur la FeuilTriPseudo) sur une seule feuille en ajoutant
au tableau l'origine de la feuille.
FeuilTriPseudo
ColA     ColB        C            D                    E
Date     Note     Pseudo  Commentaire    Origine
3/11         3         alizee      xxxx                Feuil1
5/01         4         alizee      xxxx                Feuil1
7/03         3         alizee      xxxx                Feuil1
14/03       3         alizee      xxxx                Feuil2
7/02         8         janna2    xxxx                Feuil1
1/03         8         janna2    xxxx                Feuil1
14/02       8         janna2    xxxx                Feuil2
etc...
En fait il faudrait récupérer les tableaux d'une quinzaine de feuilles du
classeur!
Merci pour votre aide!


JB
Le #5229231
Avecle tri:

Sub consolide_ongletsNomOnglet()
Sheets("base").[A1].CurrentRegion.Offset(1, 0).Clear
For s = 2 To Sheets.Count
nlig = Sheets(s).[A65000].End(xlUp).Row - 1
ncol = Sheets(s).[A1].CurrentRegion.Columns.Count
[A65000].End(xlUp).Offset(1, ncol).Resize(nlig, 1).Value =
Sheets(s).Name
[A65000].End(xlUp).Offset(1, 0).Resize(nlig, ncol).Value = _
Sheets(s).[A2].Resize(nlig, ncol).Value
Next s
On Error Resume Next
Range("A1:E10000").Sort Key1:=Range("C2"), Order1:=xlAscending,
Header:=xlGuess
End Sub

JB

On 15 mar, 05:03, JB
Bonjour,

Sub consolide_ongletsNomOnglet()
   Sheets("base").[A1].CurrentRegion.Offset(1, 0).Clear
   For s = 2 To Sheets.Count
      nlig = Sheets(s).[A65000].End(xlUp).Row - 1
      ncol = Sheets(s).[A1].CurrentRegion.Columns.Count
      [A65000].End(xlUp).Offset(1, ncol).Resize(nlig, 1).Value =
Sheets(s).Name
      [A65000].End(xlUp).Offset(1, 0).Resize(nlig, ncol).Value = _
      Sheets(s).[A2].Resize(nlig, ncol).Value
   Next s
   On Error Resume Next
   [A:A].SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

http://cjoint.com/?dpfdjc558W

JBhttp://boisgontierjacques.free.fr

On 15 mar, 01:00, "fred"


Bonjour,
J'ai sur plusieurs feuilles d'un classeur des tableaux avec ces en-têt es :
Feuil1
ColA     ColB        C                D
Date     Note     Pseudo          Commentaire
3/11         3         alizee              xxxx
5/01         4         alizee              xxxx
7/03         3         alizee              xxxx
4/01         5         amoramor      xxxx
7/02         8         janna2            xxx x
1/03         8         janna2            xxx x
10/03       5         AT                 x xx
etc...
Feuil2
ColA     ColB        C                D
Date     Note        Pseudo       Commentaire
12/11     3            beaufixe       xxxx
8/01       4            beaufixe       xxxx
14/03     3            alizee            xxx
4/01       5            amoramor    xxxx
14/02     8            janna2          xxxx
etc..
Feuil3
Feuil4
Feuil5 etc...

A l'aide d'une macro j'aimerais trier par pseudo (en gardant la date, la
note et le commentaire correspondant à la même ligne) les différen ts
tableaux des feuilles et regrouper (copy de la feuille d'origine et
ActiveSheet.Paste sur la FeuilTriPseudo) sur une seule feuille en ajouta nt
au tableau l'origine de la feuille.
FeuilTriPseudo
ColA     ColB        C            D                    E
Date     Note     Pseudo  Commentaire    Origine
3/11         3         alizee      xxxx                Feuil1
5/01         4         alizee      xxxx                Feuil1
7/03         3         alizee      xxxx                Feuil1
14/03       3         alizee      xxxx                Feuil2
7/02         8         janna2    xxxx                Feuil1
1/03         8         janna2    xxxx                Feuil1
14/02       8         janna2    xxxx                Feuil2
etc...
En fait il faudrait récupérer les tableaux d'une quinzaine de feuill es du
classeur!
Merci pour votre aide!- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



fred
Le #5228261
Merci beaucoup JB...toujours aussi efficace!
Avec cette boucle nlig et ncol...ça va très vite ;)
Tout est parfait...c'est exactement ce que je voulais!


"JB"
Avecle tri:

Sub consolide_ongletsNomOnglet()
Sheets("base").[A1].CurrentRegion.Offset(1, 0).Clear
For s = 2 To Sheets.Count
nlig = Sheets(s).[A65000].End(xlUp).Row - 1
ncol = Sheets(s).[A1].CurrentRegion.Columns.Count
[A65000].End(xlUp).Offset(1, ncol).Resize(nlig, 1).Value Sheets(s).Name
[A65000].End(xlUp).Offset(1, 0).Resize(nlig, ncol).Value = _
Sheets(s).[A2].Resize(nlig, ncol).Value
Next s
On Error Resume Next
Range("A1:E10000").Sort Key1:=Range("C2"), Order1:=xlAscending,
Header:=xlGuess
End Sub

JB

On 15 mar, 05:03, JB
Bonjour,

Sub consolide_ongletsNomOnglet()
Sheets("base").[A1].CurrentRegion.Offset(1, 0).Clear
For s = 2 To Sheets.Count
nlig = Sheets(s).[A65000].End(xlUp).Row - 1
ncol = Sheets(s).[A1].CurrentRegion.Columns.Count
[A65000].End(xlUp).Offset(1, ncol).Resize(nlig, 1).Value > Sheets(s).Name
[A65000].End(xlUp).Offset(1, 0).Resize(nlig, ncol).Value = _
Sheets(s).[A2].Resize(nlig, ncol).Value
Next s
On Error Resume Next
[A:A].SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

http://cjoint.com/?dpfdjc558W

JBhttp://boisgontierjacques.free.fr

On 15 mar, 01:00, "fred"


Bonjour,
J'ai sur plusieurs feuilles d'un classeur des tableaux avec ces en-têtes
:
Feuil1
ColA ColB C D
Date Note Pseudo Commentaire
3/11 3 alizee xxxx
5/01 4 alizee xxxx
7/03 3 alizee xxxx
4/01 5 amoramor xxxx
7/02 8 janna2 xxxx
1/03 8 janna2 xxxx
10/03 5 AT xxx
etc...
Feuil2
ColA ColB C D
Date Note Pseudo Commentaire
12/11 3 beaufixe xxxx
8/01 4 beaufixe xxxx
14/03 3 alizee xxx
4/01 5 amoramor xxxx
14/02 8 janna2 xxxx
etc..
Feuil3
Feuil4
Feuil5 etc...

A l'aide d'une macro j'aimerais trier par pseudo (en gardant la date, la
note et le commentaire correspondant à la même ligne) les différents
tableaux des feuilles et regrouper (copy de la feuille d'origine et
ActiveSheet.Paste sur la FeuilTriPseudo) sur une seule feuille en
ajoutant
au tableau l'origine de la feuille.
FeuilTriPseudo
ColA ColB C D E
Date Note Pseudo Commentaire Origine
3/11 3 alizee xxxx Feuil1
5/01 4 alizee xxxx Feuil1
7/03 3 alizee xxxx Feuil1
14/03 3 alizee xxxx Feuil2
7/02 8 janna2 xxxx Feuil1
1/03 8 janna2 xxxx Feuil1
14/02 8 janna2 xxxx Feuil2
etc...
En fait il faudrait récupérer les tableaux d'une quinzaine de feuilles
du
classeur!
Merci pour votre aide!- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



fred
Le #5329211
Bonjour,
J'ai un souci avec cette partie du code de la macro donné par JB
For s = 2 To Sheets.Count
nlig = Sheets(s).[A65000].End(xlUp).Row - 1
ncol = Sheets(s).[A1].CurrentRegion.Columns.Count
[A65000].End(xlUp).Offset(1, ncol).Resize(nlig, 1).Value Sheets(s).Name
[A65000].End(xlUp).Offset(1, 0).Resize(nlig, ncol).Value = _
Sheets(s).[A2].Resize(nlig, ncol).Value
Next s

J'ai des cellules contenant des commentaires avec un len de chaines de
caractères pouvant aller jusqu'à 900 - 1100 caractères
et au niveau du code de la macro
[A65000].End(xlUp).Offset(1, 0).Resize(nlig, ncol).Value = _
Sheets(s).[A2].Resize(nlig, ncol).Value
les valeurs sont bien reproduites...mais dès que le nbre de caractères
dépassent un certain seuil dans la cellule..je n'ai plus rien
et les valeurs des cellules deviennent = ""
Qu'est-il possible de faire??
Merci de votre aide


"JB"
Bonjour,

Sub consolide_ongletsNomOnglet()
Sheets("base").[A1].CurrentRegion.Offset(1, 0).Clear
For s = 2 To Sheets.Count
nlig = Sheets(s).[A65000].End(xlUp).Row - 1
ncol = Sheets(s).[A1].CurrentRegion.Columns.Count
[A65000].End(xlUp).Offset(1, ncol).Resize(nlig, 1).Value Sheets(s).Name
[A65000].End(xlUp).Offset(1, 0).Resize(nlig, ncol).Value = _
Sheets(s).[A2].Resize(nlig, ncol).Value
Next s
On Error Resume Next
[A:A].SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

http://cjoint.com/?dpfdjc558W

JB
http://boisgontierjacques.free.fr


On 15 mar, 01:00, "fred"
Bonjour,
J'ai sur plusieurs feuilles d'un classeur des tableaux avec ces en-têtes :
Feuil1
ColA ColB C D
Date Note Pseudo Commentaire
3/11 3 alizee xxxx
5/01 4 alizee xxxx
7/03 3 alizee xxxx
4/01 5 amoramor xxxx
7/02 8 janna2 xxxx
1/03 8 janna2 xxxx
10/03 5 AT xxx
etc...
Feuil2
ColA ColB C D
Date Note Pseudo Commentaire
12/11 3 beaufixe xxxx
8/01 4 beaufixe xxxx
14/03 3 alizee xxx
4/01 5 amoramor xxxx
14/02 8 janna2 xxxx
etc..
Feuil3
Feuil4
Feuil5 etc...

A l'aide d'une macro j'aimerais trier par pseudo (en gardant la date, la
note et le commentaire correspondant à la même ligne) les différents
tableaux des feuilles et regrouper (copy de la feuille d'origine et
ActiveSheet.Paste sur la FeuilTriPseudo) sur une seule feuille en ajoutant
au tableau l'origine de la feuille.
FeuilTriPseudo
ColA ColB C D E
Date Note Pseudo Commentaire Origine
3/11 3 alizee xxxx Feuil1
5/01 4 alizee xxxx Feuil1
7/03 3 alizee xxxx Feuil1
14/03 3 alizee xxxx Feuil2
7/02 8 janna2 xxxx Feuil1
1/03 8 janna2 xxxx Feuil1
14/02 8 janna2 xxxx Feuil2
etc...
En fait il faudrait récupérer les tableaux d'une quinzaine de feuilles du
classeur!
Merci pour votre aide!


Publicité
Poster une réponse
Anonyme