• Initiateur de la discussion Initiateur de la discussion jcg
  • 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 !

J

jcg

Guest
Bonjour,

Je ne sais pas comment faire sous excel 2003 pour transformer le contenu d'une colonne d'une feuille en ligne dans une autre feuille.

Je m'explique :
Dans la feuille1 j'ai la colonne suivante :
TOTO
TITI
TOTO
TATA
TITI
TOTO
TUTU

Je souhaiterais obtenir dans le feuille2 la ligne
TATA | TITI | TOTO | TUTU

Est ce que quelqu'un à une idée ?
J'ai essayé de rechercher sur le forum mais c'est pas evident, et je suis un tout jeune dans le forum.

Merci d'avance

JCG🙂
 
Re : colonne verss ligne

Bonjour le forum,
Bonjour jcg,

sélectionne tes données fait copier va sur( ton autre feuille selectionne par exemple A1 et vas dans menu édition => collage spécial dans la fenetre qui s'ouvre coches transposer et ok

Bonne fêtes

Jocelyn
 
Re : colonne verss ligne

Merci pour ces propositions, mais je souhaiterais que cela soit fait de manière automatique et que les doublons soient supprimés.

Je ne souhaite voir sur la ligne que les cases differentes.

Une idée?
 
Re : colonne verss ligne

Re, bonjour Jocelyn


Voila une version un peu plus aboutie
Code:
Sub Macro2()
Dim x As Long
Range("A1:A" & [A65536].End(xlUp).Row).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("B1" _
        ), Unique:=True
Range("B2:B" & [B65536].End(xlUp).Row).Copy
Range("C1").PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _
        , Transpose:=True
    x = [C1].End(xlToRight).Column
Range(Cells(1, 3), Cells(1, x)).Copy Sheets("Feuil2").Range("A1")
End Sub
 
Re : colonne verss ligne

Bonjour tous le monde,

Jamais deux sans trois comme on dit 🙂

Une autre façon de faire en VBA : (Adapter la plage et la feuille)

Code:
Sub Sup_Doublon_Transpose1()
Dim COSD, x
Dim i As Long, y As Integer, k As Integer

Set COSD = CreateObject("Scripting.Dictionary")
y = 1
    For i = 1 To Range("A65536").End(xlUp).Row
        If Not COSD.Exists(Range("A" & i).Value) Then COSD.Add Range("A" & i).Value, Range("A" & i).Value
    Next i
x = COSD.Items 'ou .keys
    For k = 0 To COSD.Count - 1
        Sheets("Feuil2").Cells(1, y) = x(k)
        y = y + 1
    Next
Set COSD = Nothing
End Sub
Bonne journée
 
Re : colonne verss ligne

Bonjour à tous

une autre solution vba, abondance ne nuit pas, dit ont...

Code:
Sub test()
Dim p As Range, x As New Collection
For Each p In Sheets("Feuil1").Range("A1:A" & Sheets("Feuil1").Range("A65536").End(xlUp).Row)
    On Error Resume Next
    x.Add p, CStr(p)
    If Err = 0 Then Sheets("Feuil2").Cells(1, x.Count).Value = p.Value
Next p
On Error GoTo 0
End Sub

bon week end.
@+
 
- 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
10
Affichages
778
Retour