Copier et inserer lignes valeur et formule VBA

Bonjour à tous

J'aimerais avoir une macro qui me permettrait pour une ligne qui contient des valeurs sur 12 mois:

*Copier juste en dessous cette ligne 11 fois avec les même valeurs et les mêmes formules

*pour une sélection donnée de cette ligne de transposer les valeurs de manière verticale dans une colonne bien définie

*d'ajouter dans une colonne suivante (à coté des valeurs) les mois correspondants (1 pour janvier, 2 pour fevrier etc...=

*Et de reprendre la même itération pour chacune des lignes de ma sélection initiale.

Vous remerciant d'avance

31fichier-test.xlsx (11.80 Ko)

Bonjour

Code à placer dans un module de l'éditeur VBA

Sub test()
Dim j As Byte
Dim i As Integer, lg As Integer, dlg As Integer
lg = 20
dlg = Range("A" & Rows.Count).End(xlUp).Row
If dlg >= 20 Then Range("A" & lg & ":P" & dlg).Delete
For i = 2 To Range("A" & Rows.Count).End(xlUp).Row
    If WorksheetFunction.CountA(Range("C" & i & ":N" & i)) = 12 Then
        For j = 1 To 12
            Range("A" & i & ":B" & i).Copy Range("A" & lg)
            Range("O" & lg) = Cells(i, j + 2)
            Range("P" & lg) = j
            Range("A" & i & ":P" & i).Copy
            Range("A" & lg & ":P" & lg).PasteSpecial Paste:=xlFormats
            Range("A" & lg & ":P" & lg).BorderAround LineStyle = xlNone
            lg = lg + 1
        Next
    End If
Next
Application.CutCopyMode = False
End Sub

Pour l'exemple, il est supposé que l'on recopie sur la même feuille à partir de la ligne 20.

Crdlt

Rechercher des sujets similaires à "copier inserer lignes valeur formule vba"