Transformer des lignes en colonnes
Résolu
lahitnihad
-
lahitnihad -
lahitnihad -
Bonjour,
je suis débutant en VBA et je voudrais copier plusieurs lignes d'une seule ranger par exemple "A" de la feuille 1 en excel et la coller en forme de colonne en feuille 2 mais je ne sais pas comment faire
clairement, je voudrais faire comme l'exemple suivant:
feuille 1:
Ranger: (A1:A6)
AA
BB
CC
DD
EE
FF
feuille2:
AA BB CC
DD EE FF
pouvez vous m'aider?
Mercii
Cordialement,
je suis débutant en VBA et je voudrais copier plusieurs lignes d'une seule ranger par exemple "A" de la feuille 1 en excel et la coller en forme de colonne en feuille 2 mais je ne sais pas comment faire
clairement, je voudrais faire comme l'exemple suivant:
feuille 1:
Ranger: (A1:A6)
AA
BB
CC
DD
EE
FF
feuille2:
AA BB CC
DD EE FF
pouvez vous m'aider?
Mercii
Cordialement,
A voir également:
- Transformer des lignes en colonnes
- Comment faire des colonnes sur word - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Partager des photos en ligne - Guide
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
- Transformer majuscule en minuscule word - Guide
4 réponses
Bonjour,
Une petite macro toute simple pour un débutant qui utilise quelques notions de base :
Toujours zen
La perfection est atteinte, non pas lorsqu'il n'y a plus rien à ajouter, mais lorsqu'il n'y a plus rien à retirer. Antoine de Saint-Exupéry
Une petite macro toute simple pour un débutant qui utilise quelques notions de base :
Public Sub copier() Dim col As Long, lig As Long, idx As Long, tbd tbd = Sheets("Feuil1").UsedRange.Columns(1).Cells.Value lig = 1: idx = 1 With Sheets("Feuil2") While idx <= UBound(tbd) For col = 1 To 3 If idx <= UBound(tbd) Then _ .Cells(lig, col).Value = tbd(idx, 1) idx = idx + 1 Next col lig = lig + 1 Wend End With End Sub
Toujours zen
La perfection est atteinte, non pas lorsqu'il n'y a plus rien à ajouter, mais lorsqu'il n'y a plus rien à retirer. Antoine de Saint-Exupéry
Tu ajoutes la partie soulignée
Sheets(FB).Cells(liFB, codebFB).PasteSpecial Paste:=xlPasteValues, Transpose:=True
RQ. La proposition de gbinforme (salut à toi au passage), ne copie aussi que les valeurs sans la mise en forme
Cdlmnt
Sheets(FB).Cells(liFB, codebFB).PasteSpecial Paste:=xlPasteValues, Transpose:=True
RQ. La proposition de gbinforme (salut à toi au passage), ne copie aussi que les valeurs sans la mise en forme
Cdlmnt
Bonjour
Cdlmnt
' constantes à modifier selon ta configuration
' feuille source
Const FS = "Feuil1"
Const lidebFS = 2
Const coFS = 1
' feuille but
Const FB = "Feuil1"
Const lidebFB = 2
Const codebFB = 3
' nombre de colonnes pour la copie
Const nbco = 2
Public Sub OK()
Dim liFS As Long, lifinFS As Long, plageFS As Range
Dim liFB As Long
Application.ScreenUpdating = False
liFB = lidebFB
With Sheets(FS)
lifinFS = .Cells(Rows.Count, coFS).End(xlUp).Row
liFS = lidebFS
While liFS <= lifinFS
Set plageFS = .Range(.Cells(liFS, coFS), .Cells(liFS + nbco - 1, coFS))
plageFS.Copy
Sheets(FB).Select
Sheets(FB).Cells(liFB, codebFB).PasteSpecial Transpose:=True
liFS = liFS + nbco
liFB = liFB + 1
Wend
End With
Application.ScreenUpdating = True
End Sub
Cdlmnt
Mercii beaucoup!!