Copie "n" fois une ligne donnée

Résolu
Gazpaschaud Messages postés 14 Statut Membre -  
Gazpaschaud Messages postés 14 Statut Membre -
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. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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
  2. Gazpaschaud Messages postés 14 Statut Membre
     
    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. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      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
  3. Gazpaschaud Messages postés 14 Statut Membre
     
    C'est la ligne que j'ai nommé ainsi
    le code je l'ai donné dans mon premier message
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      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
  4. Gazpaschaud Messages postés 14 Statut Membre
     
    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. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      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
      1. Gazpaschaud Messages postés 14 Statut Membre > f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention  
         
        OK merci infiniment cela fonctionne parfaitement
        Bonnes fêtes à vous
        Cordialement
        0