Transformer des lignes en colonnes
Résolu/Fermé
A voir également:
- Transformer des lignes en colonnes
- Transformer majuscule en minuscule - Guide
- Comment ne pas apparaître en ligne sur whatsapp - Guide
- Transformer une note sur 20 ✓ - Forum Bureautique
- En ligne sur instagram alors que non - Forum Instagram
- Lidl vente en ligne en france ✓ - Forum Consommation et internet
4 réponses
gbinforme
Messages postés
14939
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 657
Modifié par gbinforme le 26/07/2016 à 21:42
Modifié par gbinforme le 26/07/2016 à 21:42
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
ccm81
Messages postés
10566
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
29 mars 2023
2 341
26 juil. 2016 à 21:45
26 juil. 2016 à 21:45
Bonjour
Un exemple
http://www.cjoint.com/c/FGAtToUCX5e
Cdlmnt
Un exemple
http://www.cjoint.com/c/FGAtToUCX5e
Cdlmnt
gbinforme
Messages postés
14939
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 657
27 juil. 2016 à 08:39
27 juil. 2016 à 08:39
Bonjour,
je voudrais copier ces cellules sans la mise en forme ,qu'est ce que je peux faire?
Peut-être essayer la macro que je t'ai mis au-dessus...
je voudrais copier ces cellules sans la mise en forme ,qu'est ce que je peux faire?
Peut-être essayer la macro que je t'ai mis au-dessus...
ccm81
Messages postés
10566
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
29 mars 2023
2 341
Modifié par ccm81 le 27/07/2016 à 11:37
Modifié par ccm81 le 27/07/2016 à 11:37
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
gbinforme
Messages postés
14939
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 657
27 juil. 2016 à 16:22
27 juil. 2016 à 16:22
Bonjour ccm81,
Effectivement, il y a souvent de multiples façons d'arriver au résultat et j'ai utilisé la table mémoire alors que tu maitrises parfaitement d'habitude : comme quoi cela dépend de l'humeur du moment. ;-)
Effectivement, il y a souvent de multiples façons d'arriver au résultat et j'ai utilisé la table mémoire alors que tu maitrises parfaitement d'habitude : comme quoi cela dépend de l'humeur du moment. ;-)
ccm81
Messages postés
10566
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
29 mars 2023
2 341
29 juil. 2016 à 15:34
29 juil. 2016 à 15:34
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
27 juil. 2016 à 10:20
Mercii beaucoup!!