Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro pour Transposition automatique d'une liste

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

M

matmataz

Guest
Bonjour Messieurs les experts,

Je me permet de solliciter vos talents en VB afin de pouvoir mettre en forme une liste de données. J'aimerais en effet faire la transposition d'une liste (fonction "Transpose" ?)... seulement je suis débutant en VB, et même en excel !

Le fichier ci-joint détail ce vers quoi je souhaiterais arriver.

Merci d'avance pour vos contributions.
 

Pièces jointes

Re : Macro pour Transposition automatique d'une liste

Merci beaucoup, ca fonctionne bien.

Par contre, si je veux rajouter une colonne à ma liste de données pour ensuite avoir une nouvelle ligne transposée, comment faire ? J'imagine qu'il faut repositionner l'offset ?
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect([E15:E15], Target) Is Nothing And Target.Count = 1 Then
    With Sheets("Feuil2")
    Dim NumeroDeColonne As Byte
    Dim NuméroDeLigne As Long
    NumeroDeColonne = 5
    NuméroDeLigne = 19
    Range("E19:J21") = ""
        For Each Cell In .Range("A2:A" & .Range("C65536").End(xlUp).Row)
            If Cell.Offset(0, 3) = Target.Value Then
                Application.EnableEvents = False
                Cells(NuméroDeLigne, NumeroDeColonne) = Cell
                Cells(NuméroDeLigne + 1, NumeroDeColonne) = Cell.Offset(0, 1)
                Cells(NuméroDeLigne + 2, NumeroDeColonne) = Cell.Offset(0, 2)
                NumeroDeColonne = NumeroDeColonne + 1
                Application.EnableEvents = True
            End If
        Next
    End With
 End If
End Sub

Merci encore
 
Re : Macro pour Transposition automatique d'une liste

Ok j'ai compris par contre il fait sauter la colonne tester dans :
Code:
If Cell.Offset(0, 3)

Comme ceci :

Code:
     If Cell.Offset(0, 3) = Target.Value Then
                Application.EnableEvents = False
                Cells(NuméroDeLigne, NumeroDeColonne) = Cell
                Cells(NuméroDeLigne + 1, NumeroDeColonne) = Cell.Offset(0, 1)
                Cells(NuméroDeLigne + 2, NumeroDeColonne) = Cell.Offset(0, [B]2[/B])
                Cells(NuméroDeLigne + 3, NumeroDeColonne) = Cell.Offset(0, [B]4[/B])
                NumeroDeColonne = NumeroDeColonne + 1


Désolé d'insister mais savez-vous mainteant comment faire simplement une listbox contenant les valeures (distinctes) de ma colonne "environnement" ?
IL faudrait aussi bien sure que celle ci déclenche la macro positionner sur la cellule.
 
Dernière modification par un modérateur:
- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…