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

XL 2016 Conversion de colonne en lignes

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 !

GADENSEB

XLDnaute Impliqué
Bonjour,
j'aimerais, Pour l'onglet "Abonnements 2018" et pour chaque colonne C =OUI
Transformer la ligne concernée comme pour le modelé dans l'onglet "FINAL"

Sachant qu'il faut faire varier "Onglet FINAL" :
- La colonne A : 01/01/2018 puis 01/02/2018 ....... jusqu’à 01/12/2018
- La colonne B : 01/2018 puis 02/2018, calé sur la colonne A ....jusqu’à 12/2018

C'est deux dates correspondent aux colonnes de mois Janvier à Décembre dans l'onglet "Abonnements 2018"
Je sais pas si j'ai été suffisamment clair ...

Est-ce jouable ?

Bonne am
Seb
 

Pièces jointes

Hello
un essai par macro à mettre dans un module Standard
VB:
Sub Macro1()
'
' Macro1 Macro
'
Dim tablo() As Variant
'
    tablo = sheets("Abonnements 2018").Range("A1").CurrentRegion.Value
    With Sheets("Final")
        For i = LBound(tablo, 1) + 1 To UBound(tablo, 1)
            If UCase(tablo(i, 3)) = "OUI" Then
             For j = 13 To 24 'pour chaque mois
                 Fin = .Range("A" & .Rows.Count).End(xlUp).Row + 1
                 .Range("A" & Fin) = DateSerial(2018, j - 12, 1) 'Date
                 .Range("B" & Fin) = tablo(i, 8)  'Libelle
                 .Range("C" & Fin) = tablo(i, 4)  'Debit
                 .Range("D" & Fin) = tablo(i, 11)  'Crédit
                 .Range("E" & Fin) = tablo(i, j)  'Montant
                 .Range("F" & Fin) = tablo(i, 6)  'Analytique
            Next j
           End If
        Next i
    End With
End Sub
 
Modif
VB:
Sub Macro1()
'
Application.ScreenUpdating = False
' Macro1 Macro
'
Dim tablo() As Variant
'
    tablo = Sheets("Abonnements 2018").Range("A1").CurrentRegion.Value
    With Sheets("Final")
        For i = LBound(tablo, 1) + 1 To UBound(tablo, 1)
            If UCase(tablo(i, 3)) = "OUI" Then
             For j = 13 To 24 'pour chaque mois
                 Fin = .Range("A" & .Rows.Count).End(xlUp).Row + 1
                 .Range("A" & Fin) = DateSerial(2018, j - 12, 1) 'Date
                 .Range("B" & Fin) = tablo(i, 8)  'Libelle Colonne H
                 .Range("C" & Fin) = tablo(i, 3)  'Debit = Nv Cpt = ColonneC
                 .Range("D" & Fin) = tablo(i, 11)  'Crédit  =Cpte Abonnement =Colonne S ???
                 .Range("E" & Fin) = tablo(i, j)  'Montant
                 .Range("F" & Fin) = tablo(i, 6)  'Analytique = Colonne F
            Next j
           End If
        Next i
    End With
Application.ScreenUpdating = True
End Sub
 
s'il faut juste le remplacer
VB:
Sub Macro1()
'
Application.ScreenUpdating = False
' Macro1 Macro
'
Dim tablo() As Variant
'
    tablo = Sheets("Abonnements 2018").Range("A1").CurrentRegion.Value
    With Sheets("Final")
        For i = LBound(tablo, 1) + 1 To UBound(tablo, 1)
            If UCase(tablo(i, 3)) = "OUI" Then
             For j = 13 To 24 'pour chaque mois
                 Fin = .Range("A" & .Rows.Count).End(xlUp).Row + 1
                 .Range("A" & Fin) = DateSerial(2018, j - 12, 1) 'Date
                 .Range("B" & Fin) = WorksheetFunction.Substitute(tablo(i, 8), "xx", Format(j - 12, "00")) 'Libelle Colonne H
                 .Range("C" & Fin) = tablo(i, 3)  'Debit = Nv Cpt = ColonneC
                 .Range("D" & Fin) = tablo(i, 11)  'Crédit  =Cpte Abonnement =Colonne S ???
                 .Range("E" & Fin) = tablo(i, j)  'Montant
                 .Range("F" & Fin) = tablo(i, 6)  'Analytique = Colonne F
            Next j
           End If
        Next i
    End With
Application.ScreenUpdating = True
End Sub
 
- 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
6
Affichages
1 K
Réponses
1
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…