Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

rassembler les colonnes

38 réponses
Avatar
daniel M.
bonjour
j'ai 450 noms dans la colonne A (450 lignes), 5300 noms dans la colonne
B, 25 noms dans la colonne C.
Existe il un moyen de rassembler tous ces noms dans une seule colonne?
Moi je fais des copier/coller fastidieux car j'en ai une foultitude des
colonnes à rassembler!
Merci de votre aide
daniel

10 réponses

1 2 3 4
Avatar
lSteph
Re,

;-)
C'est bien ce sur quoi je me permets d'attirer ton attention
Effectivement l'évolution se fait dans la chronologie de la discution ( ce
qui est loin d'être aussi aisé qu'une conversation de vive voix)
C'est une chose bien comprise mais , mauvaise méthode vis à vis de

ceux qui cherchent une solution et pour qui un contexte doit être bien
clair
( ici ce sont des bénévoles qui prennent de leur temps pour répondre)
ainsi, ceci est effectivement bien plus clair:

Colonne A (à partir de la ligne 10) de diverses feuilles à rassembler dans
la colonne A de la feuille "total" (d'un même classeur)
et aurait évité des recherches de solution ne correspondant pas à ton

besoin.

Amicordialement

--
lSteph

Avatar
lSteph
Re,
Exemple:

Sub Recop()
Dim sh As Worksheet
For Each sh In ActiveWorkbook.Worksheets
Select Case sh.Name
Case "Feuil3", "Feuil4"
sh.Range("a10", sh.[a65536].End(xlUp).Address).Copy _
Feuil1.[a65536].End(xlUp)(2)
End Select
Next
End Sub

'--
'Cordialement

'lSteph

On 4 nov, 15:38, "daniel M." wrote:
bonjour
j'ai 450 noms dans la colonne A (450 lignes), 5300 noms dans la colon ne
B, 25 noms dans la colonne C.
Existe il un moyen de rassembler tous ces noms dans une seule colonne?
Moi je fais des copier/coller fastidieux car j'en ai une foultitude des
colonnes à rassembler!
Merci de votre aide
daniel


Avatar
daniel M.
Merci de ta proposition
je ne connais pas le code mais je vois ecrit feuil1....feuil3....feuil4...
j'ai donc un doute
Je te rappelle que je veux copier la colonne A (à partir de la ligne 10) de
la feuille en cour, et l'ajouter dans la feuille "total" colonne A (à partir
ligne 10).
Merci
daniel

"lSteph" a écrit dans le message de news:

Re,
Exemple:

Sub Recop()
Dim sh As Worksheet
For Each sh In ActiveWorkbook.Worksheets
Select Case sh.Name
Case "Feuil3", "Feuil4"
sh.Range("a10", sh.[a65536].End(xlUp).Address).Copy _
Feuil1.[a65536].End(xlUp)(2)
End Select
Next
End Sub

'--
'Cordialement

'lSteph

On 4 nov, 15:38, "daniel M." wrote:
bonjour
j'ai 450 noms dans la colonne A (450 lignes), 5300 noms dans la
colonne
B, 25 noms dans la colonne C.
Existe il un moyen de rassembler tous ces noms dans une seule colonne?
Moi je fais des copier/coller fastidieux car j'en ai une foultitude des
colonnes à rassembler!
Merci de votre aide
daniel


Avatar
lSteph
.....


Colonne A (à partir de la ligne 10) de diverses feuilles à rassemble r dans
la colonne A de la feuille "total" (d'un même classeur)




les diverses feuilles symbolisées chacune par la variable Sh sont
bouclées
et la copie des cellules allant de a10 à la dernière remplie seront
collée
à la suite dans la colonne A sur Feuil1 de ton classeur,
le choix de ces feuilles est effectué par ce que tu vois là dans le
code

Select Case sh.Name
Case "Feuil3", "Feuil4"

Je te rappelle que
C'est comme j'ai dit un Exemple, (que tu peux adapter!!!)


Si le Select Case ne convient pas (tes feuilles trop nombreuses)
On peut utiliser SelectedSheets (il faudra que tu sélectionne les
onglets que tu veux)

Sub RecopSelSh()
Dim sh As Worksheet
For Each sh In ActiveWorkbook.Windows(1).SelectedSheets
sh.Range("a10", sh.[a65536].End(xlUp).Address).Copy _
Feuil1.[a65536].End(xlUp)(2)
Next
Feuil1.Activate
End Sub


'Bonne journée.

'--
'lSteph

On 5 nov, 12:54, "daniel M." wrote:
Merci de ta proposition
je ne connais pas le code mais je vois ecrit feuil1....feuil3....feuil4...
j'ai donc un doute
Je te rappelle que je veux copier la colonne A (à partir de la ligne 10 ) de
la feuille en cour, et l'ajouter dans la feuille "total" colonne A (à p artir
ligne 10).
Merci
daniel

"lSteph" a écrit dans le message de news:

Re,
Exemple:

Sub Recop()
Dim sh As Worksheet
For Each sh In ActiveWorkbook.Worksheets
Select Case sh.Name
Case "Feuil3", "Feuil4"
sh.Range("a10", sh.[a65536].End(xlUp).Address).Copy _
Feuil1.[a65536].End(xlUp)(2)
End Select
Next
End Sub

'--
'Cordialement

'lSteph

On 4 nov, 15:38, "daniel M." wrote:

bonjour
j'ai 450 noms dans la colonne A (450 lignes), 5300 noms dans la
colonne
B, 25 noms dans la colonne C.
Existe il un moyen de rassembler tous ces noms dans une seule colonne?
Moi je fais des copier/coller fastidieux car j'en ai une foultitude des
colonnes à rassembler!
Merci de votre aide
daniel



'



Avatar
Tatanka
Et ceci alors ?

Sub Copier()
Dim plage As Range
Set plage = ActiveSheet.Range([a10], [a65535].End(xlUp))
If IsEmpty(Worksheets("Total").[a10]) Then
plage.Copy Worksheets("Total").[a10]
Else
plage.Copy Worksheets("Total").[a65535].End(xlUp).Offset(1, 0)
End If
End Sub

Serge


"daniel M." a écrit dans le message de news: %
Merci de ta proposition
je ne connais pas le code mais je vois ecrit feuil1....feuil3....feuil4... j'ai donc un doute
Je te rappelle que je veux copier la colonne A (à partir de la ligne 10) de la feuille en cour, et l'ajouter dans la feuille
"total" colonne A (à partir ligne 10).
Merci
daniel

"lSteph" a écrit dans le message de news:
Re,
Exemple:

Sub Recop()
Dim sh As Worksheet
For Each sh In ActiveWorkbook.Worksheets
Select Case sh.Name
Case "Feuil3", "Feuil4"
sh.Range("a10", sh.[a65536].End(xlUp).Address).Copy _
Feuil1.[a65536].End(xlUp)(2)
End Select
Next
End Sub

'--
'Cordialement

'lSteph

On 4 nov, 15:38, "daniel M." wrote:
bonjour
j'ai 450 noms dans la colonne A (450 lignes), 5300 noms dans la colonne
B, 25 noms dans la colonne C.
Existe il un moyen de rassembler tous ces noms dans une seule colonne?
Moi je fais des copier/coller fastidieux car j'en ai une foultitude des
colonnes à rassembler!
Merci de votre aide
daniel







Avatar
lSteph
Bonjour Serge,

si je ne m'abuse par rapport à ma proposition cela oblige à faire du
feuille à feuille.

Amicordialement.

--
lSteph

au cas où
:

Sub RecopSelSh()
Dim sh As Worksheet
For Each sh In ActiveWorkbook.Windows(1).SelectedSheets
sh.Range("a10", sh.[a65536].End(xlUp).Address).Copy _
Feuil1.[a65536].End(xlUp)(2)
Next
Feuil1.Activate
End Sub

On 5 nov, 14:39, "Tatanka" wrote:
Et ceci alors ?

Sub Copier()
Dim plage As Range
Set plage = ActiveSheet.Range([a10], [a65535].End(xlUp))
If IsEmpty(Worksheets("Total").[a10]) Then
plage.Copy Worksheets("Total").[a10]
Else
plage.Copy Worksheets("Total").[a65535].End(xlUp).Offset(1, 0)
End If
End Sub

Serge

"daniel M." a écrit dans le message denews: %23pgQVL6HIH A.1__BEGIN_MASK_n#9g02mG7!__...__END_MASK_i?a63jfAD$ gbl...

Merci de ta proposition
je ne connais pas le code mais je vois ecrit feuil1....feuil3....feuil4 ... j'ai donc un doute
Je te rappelle que je veux copier la colonne A (à partir de la ligne 10) de la feuille en cour, et l'ajouter dans la feuille
"total" colonne A (à partir ligne 10).
Merci
daniel

"lSteph" a écrit dans le message de news: 119426
Re,
Exemple:

Sub Recop()
Dim sh As Worksheet
For Each sh In ActiveWorkbook.Worksheets
Select Case sh.Name
Case "Feuil3", "Feuil4"
sh.Range("a10", sh.[a65536].End(xlUp).Address).Copy _
Feuil1.[a65536].End(xlUp)(2)
End Select
Next
End Sub

'--
'Cordialement

'lSteph

On 4 nov, 15:38, "daniel M." wrote:
bonjour
j'ai 450 noms dans la colonne A (450 lignes), 5300 noms dans la co lonne
B, 25 noms dans la colonne C.
Existe il un moyen de rassembler tous ces noms dans une seule colonne?
Moi je fais des copier/coller fastidieux car j'en ai une foultitude des
colonnes à rassembler!
Merci de votre aide
daniel






Avatar
Tatanka
Salut Stéphane,

Oui tu as bien raison. Avec ta macro dans laquelle
j'ai ajouté Sheets("Total"), Daniel devra sélectionner
les feuilles qu'il veut copier et lancer la macro.
Mais faudrait prévoir une « patente » permettant de
savoir si telle ou telle feuille a déjà été copiée.

Serge



Sub RecopSelSh()
Dim sh As Worksheet
For Each sh In ActiveWorkbook.Windows(1).SelectedSheets
sh.Range("a10", sh.[a65536].End(xlUp).Address).Copy _
Sheets("Total").[a65536].End(xlUp)(2)
Next
End Sub



"lSteph" a écrit dans le message de news:
Bonjour Serge,

si je ne m'abuse par rapport à ma proposition cela oblige à faire du
feuille à feuille.

Amicordialement.

--
lSteph

au cas où
:

Sub RecopSelSh()
Dim sh As Worksheet
For Each sh In ActiveWorkbook.Windows(1).SelectedSheets
sh.Range("a10", sh.[a65536].End(xlUp).Address).Copy _
Feuil1.[a65536].End(xlUp)(2)
Next
Feuil1.Activate
End Sub

On 5 nov, 14:39, "Tatanka" wrote:
Et ceci alors ?

Sub Copier()
Dim plage As Range
Set plage = ActiveSheet.Range([a10], [a65535].End(xlUp))
If IsEmpty(Worksheets("Total").[a10]) Then
plage.Copy Worksheets("Total").[a10]
Else
plage.Copy Worksheets("Total").[a65535].End(xlUp).Offset(1, 0)
End If
End Sub

Serge

"daniel M." a écrit dans le message denews:
%23pgQVL6HIHA.1__BEGIN_MASK_n#9g02mG7!__...__END_MASK_i?a63jfAD$

Merci de ta proposition
je ne connais pas le code mais je vois ecrit feuil1....feuil3....feuil4... j'ai donc un doute
Je te rappelle que je veux copier la colonne A (à partir de la ligne 10) de la feuille en cour, et l'ajouter dans la feuille
"total" colonne A (à partir ligne 10).
Merci
daniel

"lSteph" a écrit dans le message de news:
Re,
Exemple:

Sub Recop()
Dim sh As Worksheet
For Each sh In ActiveWorkbook.Worksheets
Select Case sh.Name
Case "Feuil3", "Feuil4"
sh.Range("a10", sh.[a65536].End(xlUp).Address).Copy _
Feuil1.[a65536].End(xlUp)(2)
End Select
Next
End Sub

'--
'Cordialement

'lSteph

On 4 nov, 15:38, "daniel M." wrote:
bonjour
j'ai 450 noms dans la colonne A (450 lignes), 5300 noms dans la colonne
B, 25 noms dans la colonne C.
Existe il un moyen de rassembler tous ces noms dans une seule colonne?
Moi je fais des copier/coller fastidieux car j'en ai une foultitude des
colonnes à rassembler!
Merci de votre aide
daniel






Avatar
daniel M.
ecoute, tout ce que je saurais faire c'est recopier ton code dans une macro
vide.
Je ne connais pas le code et encore moins l'anglais...
J'ai bien tenté de remplacé "feuill1" par "recap" mais la macro bug sur les
2 lignes:
sh.Range("a10", sh.[a65536].End(xlUp).Address).Copy _
recap.[a65536].End(xlUp)(2)
Pour simplifier et si tu veux bien, fais moi le code reel qui permettrait:
de copier la colonne A (a partir de ligne 10) de la FEUILLE OUVERTE
dans la colonne A (a partir de ligne 10) dans la feuille "RECAP"

Sachant qu'au fur et a mesure que j'activerai la macro, les données se
cumuleront dans "recap".
bien cordialement
daniel

"lSteph" a écrit dans le message de news:

.....


Colonne A (à partir de la ligne 10) de diverses feuilles à rassembler
dans
la colonne A de la feuille "total" (d'un même classeur)




les diverses feuilles symbolisées chacune par la variable Sh sont
bouclées
et la copie des cellules allant de a10 à la dernière remplie seront
collée
à la suite dans la colonne A sur Feuil1 de ton classeur,
le choix de ces feuilles est effectué par ce que tu vois là dans le
code

Select Case sh.Name
Case "Feuil3", "Feuil4"

Je te rappelle que
C'est comme j'ai dit un Exemple, (que tu peux adapter!!!)


Si le Select Case ne convient pas (tes feuilles trop nombreuses)
On peut utiliser SelectedSheets (il faudra que tu sélectionne les
onglets que tu veux)

Sub RecopSelSh()
Dim sh As Worksheet
For Each sh In ActiveWorkbook.Windows(1).SelectedSheets
sh.Range("a10", sh.[a65536].End(xlUp).Address).Copy _
Feuil1.[a65536].End(xlUp)(2)
Next
Feuil1.Activate
End Sub


'Bonne journée.

'--
'lSteph

On 5 nov, 12:54, "daniel M." wrote:
Merci de ta proposition
je ne connais pas le code mais je vois ecrit feuil1....feuil3....feuil4...
j'ai donc un doute
Je te rappelle que je veux copier la colonne A (à partir de la ligne 10)
de
la feuille en cour, et l'ajouter dans la feuille "total" colonne A (à
partir
ligne 10).
Merci
daniel

"lSteph" a écrit dans le message de news:

Re,
Exemple:

Sub Recop()
Dim sh As Worksheet
For Each sh In ActiveWorkbook.Worksheets
Select Case sh.Name
Case "Feuil3", "Feuil4"
sh.Range("a10", sh.[a65536].End(xlUp).Address).Copy _
Feuil1.[a65536].End(xlUp)(2)
End Select
Next
End Sub

'--
'Cordialement

'lSteph

On 4 nov, 15:38, "daniel M." wrote:

bonjour
j'ai 450 noms dans la colonne A (450 lignes), 5300 noms dans la
colonne
B, 25 noms dans la colonne C.
Existe il un moyen de rassembler tous ces noms dans une seule colonne?
Moi je fais des copier/coller fastidieux car j'en ai une foultitude des
colonnes à rassembler!
Merci de votre aide
daniel



'



Avatar
daniel M.
Salut serge
Non rien de changé, ca copie bien la première fois mais ça ne rajoute rien
ensuite...
je n'ai pas appelé la macro Sub Copier() mais Sub assemble_colonnes()
j'espère que celà n'a pas d'incidence...
bien cordialement
daniel

"Tatanka" a écrit dans le message de news:

Et ceci alors ?

Sub Copier()
Dim plage As Range
Set plage = ActiveSheet.Range([a10], [a65535].End(xlUp))
If IsEmpty(Worksheets("Total").[a10]) Then
plage.Copy Worksheets("Total").[a10]
Else
plage.Copy Worksheets("Total").[a65535].End(xlUp).Offset(1, 0)
End If
End Sub

Serge


"daniel M." a écrit dans le message de news:
%
Merci de ta proposition
je ne connais pas le code mais je vois ecrit
feuil1....feuil3....feuil4... j'ai donc un doute
Je te rappelle que je veux copier la colonne A (à partir de la ligne 10)
de la feuille en cour, et l'ajouter dans la feuille "total" colonne A (à
partir ligne 10).
Merci
daniel

"lSteph" a écrit dans le message de news:

Re,
Exemple:

Sub Recop()
Dim sh As Worksheet
For Each sh In ActiveWorkbook.Worksheets
Select Case sh.Name
Case "Feuil3", "Feuil4"
sh.Range("a10", sh.[a65536].End(xlUp).Address).Copy _
Feuil1.[a65536].End(xlUp)(2)
End Select
Next
End Sub

'--
'Cordialement

'lSteph

On 4 nov, 15:38, "daniel M." wrote:
bonjour
j'ai 450 noms dans la colonne A (450 lignes), 5300 noms dans la
colonne
B, 25 noms dans la colonne C.
Existe il un moyen de rassembler tous ces noms dans une seule colonne?
Moi je fais des copier/coller fastidieux car j'en ai une foultitude des
colonnes à rassembler!
Merci de votre aide
daniel











Avatar
Tatanka
Copie cette macro dans un module standard,
sélectionne les feuilles contenant tes listes et
appelle cette macro :

Sub Copier_Selection_Feuilles_Colonne_A_Total()
Dim F As Worksheet
Dim Destination As Range
For Each F In ActiveWorkbook.Windows(1).SelectedSheets
i = i + 1
If i = 1 Then Set Destination = Sheets("Total").[a10] _
Else Set Destination = Sheets("Total").[a65536].End(xlUp).Offset(1)
F.Range("a10", F.[a65536].End(xlUp).Address).Copy Destination
Next F
End Sub

Serge



"daniel M." a écrit dans le message de news:
Salut serge
Non rien de changé, ca copie bien la première fois mais ça ne rajoute rien ensuite...
je n'ai pas appelé la macro Sub Copier() mais Sub assemble_colonnes() j'espère que celà n'a pas d'incidence...
bien cordialement
daniel

"Tatanka" a écrit dans le message de news:
Et ceci alors ?

Sub Copier()
Dim plage As Range
Set plage = ActiveSheet.Range([a10], [a65535].End(xlUp))
If IsEmpty(Worksheets("Total").[a10]) Then
plage.Copy Worksheets("Total").[a10]
Else
plage.Copy Worksheets("Total").[a65535].End(xlUp).Offset(1, 0)
End If
End Sub

Serge


"daniel M." a écrit dans le message de news: %
Merci de ta proposition
je ne connais pas le code mais je vois ecrit feuil1....feuil3....feuil4... j'ai donc un doute
Je te rappelle que je veux copier la colonne A (à partir de la ligne 10) de la feuille en cour, et l'ajouter dans la feuille
"total" colonne A (à partir ligne 10).
Merci
daniel

"lSteph" a écrit dans le message de news:
Re,
Exemple:

Sub Recop()
Dim sh As Worksheet
For Each sh In ActiveWorkbook.Worksheets
Select Case sh.Name
Case "Feuil3", "Feuil4"
sh.Range("a10", sh.[a65536].End(xlUp).Address).Copy _
Feuil1.[a65536].End(xlUp)(2)
End Select
Next
End Sub

'--
'Cordialement

'lSteph

On 4 nov, 15:38, "daniel M." wrote:
bonjour
j'ai 450 noms dans la colonne A (450 lignes), 5300 noms dans la colonne
B, 25 noms dans la colonne C.
Existe il un moyen de rassembler tous ces noms dans une seule colonne?
Moi je fais des copier/coller fastidieux car j'en ai une foultitude des
colonnes à rassembler!
Merci de votre aide
daniel















1 2 3 4