recopier ou regrouper plusieurs colonnes en 1 seul

  • Initiateur de la discussion Initiateur de la discussion breakers
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

B

breakers

Guest
bonjour à tous !

je suis devant un dilemne, je souhaite afin de me simplifier la vie regrouper de façon automatique plusieurs colonnes considérer comme fixe (en gros colonne C, F et ainsi de suite) mais avec un nombre de cellules variable, dans une autre feuille en colonne A le tout à la suite de façon verticale et non horizontale !

cela est il possible ?

je reste à votre dispo si le fichier n'est pas assez clair.

un grand merci par avance pour votre aide !!
 

Pièces jointes

recopier ou regrouper plusieurs colonnes en 1 seul [RESOLU]

yep

je viens de trouver ce bout de code qui m'irait bien, mais comment rajouter dedans et surtout ou pour qu'il fasse un copier valeur ?
voici le code :

Code:
Sub copiecolonne()

Dim Ligne As Long, I As Integer
Dim Colonnes
Sheets("SUIVI QTE").Select
  Colonnes = Array("a", "D", "g")
  Ligne = Range("eo" & Rows.Count).End(xlUp).Row
  If Ligne > 1 Then Ligne = Ligne + 1
  For I = 0 To UBound(Colonnes)
    Range(Cells(1, Colonnes(I)), Cells(Cells(Rows.Count, Colonnes(I)).End(xlUp).Row, Colonnes(I))).Copy Range("eo" & Ligne)
    Ligne = Range("L" & Rows.Count).End(xlUp).Row + 1
  Next I
End Sub

merci d'avance
 
Dernière modification par un modérateur:
Re : recopier ou regrouper plusieurs colonnes en 1 seul

re et re

je viens de penser en voulant le tester qu'il faut aussi que la macro efface la colonne "eo" avant de s'éxecuter sinon elle me recopie les 1eres colonnes plusieurs fois.

merci d'avance si vous connaissez ces bouts de code.
 
Re : recopier ou regrouper plusieurs colonnes en 1 seul

hello !

merci pour ta reponse c'est parfait !

en gros tu défini si je comprend bien les colonnes etc avec i j et k ?

et cela recopie tant qu'une valeur et trouver dans la colonne ? genre colonne a puis d etcc jusqu'a ce qu'il ne trouve plus rien ?
 
Re : recopier ou regrouper plusieurs colonnes en 1 seul

par contre dernière question peut on accélerer son fonctionnement ?, car à termes on parle de 600000 lignes en gros a recopier.......

merci 🙂
 
Re : recopier ou regrouper plusieurs colonnes en 1 seul

oui il faut convertir en xlsm pour avoir environ 1 million de lignes par feuille

je viens de faire un test sur plus d'1 million de lignes ; verdict 45 secondes !

voici le code tres legerement modifié :
Code:
Sub classeur_breakers()
  Dim i As Long, j As Long, k As Integer
  Dim fQ As Worksheet, fR As Worksheet
  
  Set fQ = Worksheets("suivi qté")
  Set fR = Worksheets("recherche")
  
  fR.Range("G3") = Time
  
  Application.ScreenUpdating = False
  Application.Calculation = xlCalculationManual
  
  i = 2         'N° ligne feuille Qté
  j = 1         'N° ligne feuille Recherche
  k = 3         'N° colonne feuille Recherche
  
  With fR
    Do While Not IsEmpty(fQ.Cells(i, k))
      Do While Not IsEmpty(fQ.Cells(i, k))
        .Cells(j, 1) = fQ.Cells(i, k)
        i = i + 1
        j = j + 1
      Loop
      i = 2
      k = k + 3
    Loop
  End With

  fR.Range("G4") = Time

  Application.ScreenUpdating = True
  Application.Calculation = xlCalculationAutomatic
  
End Sub

Caillou
 
Re : recopier ou regrouper plusieurs colonnes en 1 seul

bonjour à tous,

ne serait-ce pas plus rapide de copier des champs complets plutôt que des cellules une à une !?
comme ceci:

Code:
Sub classeur_breakers()
Dim PremLigQ&, DernLigQ&, NoColQ%, PasColQ&, NoColR&
  
fQ$ = "suivi qté"
fR$ = "recherche"
NoColQ = 3: PasColQ = 3: PremLigQ = 2: NoColR = 1

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

Sheets(fQ$).Select 'active le feuille de données à copier !
DernLigR = 1
Do While Not IsEmpty(Cells(PremLigQ, NoColQ))
   DernLigQ = Columns(NoColQ).Rows(Rows.Count).End(xlUp).Row
   Application.CutCopyMode = False
   Range(Cells(PremLigQ, NoColQ), Cells(DernLigQ, NoColQ)).Copy
   Sheets(fR$).Cells(DernLigR, NoColR).PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
   DoEvents
   DernLigR = Sheets(fR$).Columns(NoColR).Rows(Rows.Count).End(xlUp).Row + 1
   NoColQ = NoColQ + PasColQ
Loop

Sheets(fR$).Select: Range("A1").Select
Application.CutCopyMode = False
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
534
J
Réponses
3
Affichages
659
J
Réponses
0
Affichages
1 K
S
Réponses
7
Affichages
2 K
S
K
Réponses
4
Affichages
1 K
K
Retour