Microsoft 365 Transposer 1 ligne en plusieurs

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

raf26

XLDnaute Occasionnel
Bonjour le forum,

J'aurais besoin de votre aide pour une formule (ou une macro) pour transposer des données situées sur une seule ligne en plusieurs lignes, mais sans ligne vide si un produit est à 0.

Les montants de produits doivent être conservés avec sur la même colonne (ex Produit D colonne 4 sur la ligne originale, idem sur la ligne recopiée).


Ci-dessous le résultat attendu

Capture d’écran 2021-01-30 à 11.16.58.jpg


J'ai essayé avec SI, mais je bloque avec toutes les conditions.

J'espère avoir été assez claire.

Je vous joint un fichier test avec différents exemples de scénario.

Merci et bon week-end.
 

Pièces jointes

Bonjour Raf,
Un essai en PJ. Il suffit de modifier une valeur pour remettre le tableau à jour.
En l'état ne s'applique qu'à la zone rosée. A adapter suivant votre configuration réelle.
VB:
Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("B4:F4")) Is Nothing Then
        Dim N%, i%
        [B6:F9].ClearContents
        N = 6
        For i = 3 To 6
            If Cells(4, i) <> "" Then
                Cells(N, "B") = [B4]
                Cells(N, i) = Cells(4, i)
                N = N + 1
            End If
        Next i
    End If
End Sub
 

Pièces jointes

Bonjour le fil, raf26

Un début de quelque chose
VB:
Sub Premisses()
Dim dl&, i&, x&, xx
dl = Cells(Rows.Count, 1).End(xlUp).Row
For i = dl To 2 Step -1
x = Application.CountA(Cells(i, 1).Offset(, 1).Resize(, 4)) - 1
xx = Cells(i, 1)
Cells(i, 1).Resize(x, 5).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Cells(i, 1).Resize(x) = xx
xx = ""
Next
End Sub
Pour la suite, je pressens que d'autres viendront.
😉

EDITION 1 : Correction
D'autres sont déjà venus (Bonjour Sylvanu, M12)

EDITION 2 Bonjour pierrejean
 
Dernière édition:
Bonjour à tous,

Merci pour votre aide, vos différents résultats me conviennent.

Vous êtes FORMIDABLES !!

J'ai adopté la solution de M12 (macro nommée que je déclenche quand j'ai besoin - cela me va parfaitement), mais j'aimerais ajouter une colonne avant le nom, celle de la date qui doit être également copiée comme celle du nom

Cela donnerait :

Capture d’écran 2021-01-30 à 13.40.30.jpg




Comment adapter la macro de M12 pour que la date soit également prise en compte sur chaque ligne et arriver au résultat ci-dessus.

Je suis un peu larguée dans les i, to, cells 🙄

Voir exemple 4 de mon fichier joint

Merci
 

Pièces jointes

Dernière édition:
- 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

Discussions similaires

Réponses
2
Affichages
400
Réponses
1
Affichages
457
Réponses
1
Affichages
605
Réponses
2
Affichages
520
Retour