Fonction transposee

alexamel88

XLDnaute Junior
Bonjour

J'ai un problème avec la fonction transposée. Je voudrai transformer mes informations suivantes, en une seule colonne

ex
A1 B1 C1
A2 B2 C2

En une colonne
A1
B1
C1
A2
B2
C2

J'ai essayé avec le collage transposé mais ça ne marche pas.
Pouvez-vous m'aider ?

Merci d'avance pour votre aide

Agnès
 

aalex_38

XLDnaute Nouveau
Re : Fonction transposee

Bonjour,

Un exemple :

VB:
Sub transpose_Multiple()
Dim NomTableau(), Mplage As Range, Cpt As Long
Dim F1 As Worksheet, i As Long, Derlig As Long, j As Integer, Dercol As Integer

Set F1 = ActiveSheet ' Definir la feuille
Const Ligne As Integer = 1
Const Colonne As Integer = 1

With F1
    Dercol = .Range("A1", .Cells(Ligne, .Columns.Count).End(xlToLeft)).Columns.Count
    Derlig = .Cells(.Cells.Rows.Count, 1).End(xlUp).Row
    ReDim NomTableau(1 To Derlig * Dercol, 1 To 1)
    
    For i = Ligne To Derlig
        For j = Colonne To Dercol
            If .Cells(i, j) <> Empty Then
            Cpt = Cpt + 1
            NomTableau(Cpt, 1) = .Cells(i, j)
            End If
        Next j
    Next i
    
    Set Mplage = .Range(.Cells(Ligne, Colonne), .Cells(Derlig, Dercol))
    Mplage.ClearContents
    Set Mplage = .Range(.Cells(Ligne, Colonne), .Cells(Cpt, Colonne))
    Mplage = NomTableau
End With

Fin:
Set Mplage = Nothing: Set F1 = Nothing
End Sub

Edit : il faudrait ajouter un code si Derlig * Dercol > nombre de lignes de la feuille excel
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Fonction transposee

Bonjour


Une autre façon de faire
transpose.gif

Formules matricielles :à valider avec CTRL+MAJ+ENTER
 

Discussions similaires

Statistiques des forums

Discussions
312 348
Messages
2 087 512
Membres
103 572
dernier inscrit
hamzahaha