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

Insertion aléatoire de lignes

anber

XLDnaute Occasionnel
Bonsoir Le Forum et meilleurs voeux,

Je recherche un code pour insérer aléatoirement des lignes suivant un critère

Ci-joint un fichier d'exemple

Merci
 

Pièces jointes

  • etiq.xls
    34 KB · Affichages: 47

Robert

XLDnaute Barbatruc
Repose en paix
Re : Insertion aléatoire de lignes

Bonsoir Anber, bonsoir le forum,

Si j'ai bien compris, le code ci-dessous devrait convenir :
Code:
Sub Macro1()
Dim pl As Range 'déclare la variable pl (PLage)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim nb As Integer 'déclare la variable nb (NomBre)
Dim x As Integer 'déclare la variable x (incrément)
Dim dest As Range 'déclare la variable pl (cellule de DESTination)

With Sheets("import") 'prend en compte l'onglet "import"
    Set pl = .Range("H2:H" & .Cells(Application.Rows.Count, 8).End(xlUp).Row) 'définit la plage pl
    For Each cel In pl 'boucle sur toutes les cellules éditées cel de la plage pl
        nb = CInt(cel.Value) 'définit le nombre
        For x = 1 To nb 'boucle 2 : sur le nombre nb de fois
            With Sheets("résultat") 'prend en compte l'onglet "résultat"
                'définit la cellule de destination dest
                Set dest = IIf(.Range("A1") = "", .Range("A1"), .Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0))
            End With 'fin de la prise en compte de l'onglet "résultat"
            'copie la ligne de la cellule cel (colonnes A à H) et la colle dans dest
            .Range(.Cells(cel.Row, 1), .Cells(cel.Row, 8)).Copy dest
        Next x 'prochaine fois
    Next cel 'prochaine cellule de la boucle 1
End With 'fin de la prise en compte de l'onglet "import"
End Sub
 

Discussions similaires

Réponses
16
Affichages
826
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…