Copie "n" fois une ligne donnée

Résolu
Bonjour,
j'ai un code qui me permet de copier une ligne précise contenant dans différentes cellules (de la ligne) des listes déroulantes.
Sub Copie_Ligne_Neutre()
Dim n%
n = selection.Row
With ActiveSheet
[\\B_Copie_1_ligne_Neutre].Copy
.Range("A" & n).Resize(, 21).Insert Shift:=xlDown
End With
End Sub


Etant amené à pouvoir copier et insérer une seule ligne ou plusieurs, je souhaiterai compléter le code de la manière suivante :
en cellule F5 j'inscris le nombre de fois que je souhaite voir ma ligne dupliquée et insérée.
Mais quel que soit le nombre de fois que cette ligne est dupliquée et insérée elle doit l'être en respectant les MFC présentes dans mes colonnes, ce qui n'est pas le cas dans le code ci-dessus
J'ai vu sur les forums une formule :"PasteSpecial Paste:=xlPasteFormats" qui semblerait donc "coller" les mises en formes conditionnelles mais je ne sais comment l'intégrer dans le code
Merci par avance de vos éclaircissements
Cordialement

4 réponses

  1. Bonjour,

    'a vous de modifier pour la ligne a copier
    Sub Copie_Ligne_Neutre()
        With ActiveSheet
            pos = Selection.Row
            Nb = .Range("F5") - 1
            .Range("A2:B2").Copy
            .Range("A" & pos & ":B" & pos + Nb).Insert Shift:=xlDown
        End With
    End Sub
    
    0
    1. Merci infiniment mais cela ne fonctionne pas
      J'ai bien recopié In Extenso la VBA,
      Puis modifié les références de la plage à copier
      ( Range("A2;B2").Copy )
      remplacé par
      [\\B_Copie_1_ligne_Neutre].Copy
      mais cela ne m'insère qu'une seule ligne, quelque soit le nombre saisi en cellule F5
      Je dois faire une erreur quelque part, laquelle ?
      Merci de votre patience et compréhension
      Cordialement
      0
      1. Re,

        Je dois faire une erreur quelque part, laquelle ?
        Montrez le code que vous avez ecrit !!!

        [\\B_Copie_1_ligne_Neutre] c'est quoi ??
        0
    2. C'est la ligne que j'ai nommé ainsi
      le code je l'ai donné dans mon premier message
      0
      1. Re,

        C'est la ligne que j'ai nommé ainsi
        Z'etes sur que c'est toute l ligne et pas une plage de cellules??
        0
    3. Oui je suis certain que c'est bien la sélection d'une ligne entière en l'occurance dans ma BD la ligne n° 1034 (pour l'instant ; au moment où je viens de vérifier elle se modifiera bien sur par la suite en fonction des entrées de lignes ultérieures)
      0
      1. Re,

        Sub Copie_Ligne_Neutre()
            With ActiveSheet
                pos = Selection.Row
                nb = .Range("F5") - 1
                .Range("\\B_Copie_1_ligne_Neutre").Copy
                .Range(pos & ":" & pos + nb).Insert Shift:=xlDown
            End With
        End Sub
        
        0
      2. @f894009OK merci infiniment cela fonctionne parfaitement
        Bonnes fêtes à vous
        Cordialement
        0