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
767

Statistiques des forums

Discussions
312 559
Messages
2 089 604
Membres
104 224
dernier inscrit
Brilma