Choix aléatoire d'une ligne

Bonjour,

Pourriez- vous m'aider je souhaiterai faire un choix de ligne aléatoire je n'y arrive pas, je m'explique.

dans la feuille a j'ai une liste de mots en colonne A (25000) dans la colonne b leur définition ,

je voudrais dans la feuille b une macro qui me proposerais dans la ligne 1 quand je cliquerais sur le bouton

la ligne (par exemple 999 ) de la feuille a et une autre ligne de la feuille a à chaque nouveau clic sur le bouton macro.

merci à vous

Juan

Mercisssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss.

c'est parfait

Bonjour,

Essayez ceci dans la feuille concernée

Sub LigneHasard()

    Randomize
    x = Int(Rnd * 1000 + 1)
    Cells(x, "A").Select

End Sub

Cordialement


un fichier exemple

cordialement

Je pense que c'est plutôt ceci que vous attendez.

IL faut mettre le code dans un module.

Cordialement

59ligne-au-hasard.xlsm (218.69 Ko)

Bonsoir,

Ce que je comprends.

Cdlt.

Option Explicit
Option Private Module
Public Sub LigneHasard()
Dim objList As ListObject
Dim lrow As Long
Dim lRnd As Double

    Set objList = Feuil1.ListObjects(1)
    With Feuil2
        lrow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
        Randomize
        lRnd = Application.RandBetween(1, 25000)
        objList.ListRows(lRnd).Range.Copy .Cells(lrow, 1)
    End With

    Set objList = Nothing

End Sub
Public Sub RAZ()

    With Feuil2
        .Cells(1).CurrentRegion.Offset(1, 0).ClearContents
    End With

End Sub

Bonjour, dans le code ci-dessous je voudrais qu'il fasse un choix aléatoire mais seulement des lignes non vides.

Donc ne pas tenir compte par exemple des lignes " 25, 66,356, 5900, et de plein d'autres qui ne contiennent rien ."

Merci tout plein..

Option Explicit

Option Private Module

Public Sub LigneHasard()

Dim objList As ListObject

Dim lrow As Long

Dim lRnd As Double

Set objList = Feuil1.ListObjects(1)

With Feuil2

lrow = .Cells(Rows.Count, 1).End(xlUp).Row + 1

Randomize

lRnd = Application.RandBetween(1, 25000)

objList.ListRows(lRnd).Range.Copy .Cells(lrow, 1)

End With

Set objList = Nothing

End Sub

Bonjour, dans le code ci-dessous je voudrais qu'il fasse un choix aléatoire mais seulement des lignes non vides.

Donc ne pas tenir compte par exemple des lignes " 25, 66,356, 5900, et de plein d'autres qui ne contiennent rien ."

Merci tout plein..

Option Explicit

Option Private Module

Public Sub LigneHasard()

Dim objList As ListObject

Dim lrow As Long

Dim lRnd As Double

Set objList = Feuil1.ListObjects(1)

With Feuil2

lrow = .Cells(Rows.Count, 1).End(xlUp).Row + 1

Randomize

lRnd = Application.RandBetween(1, 25000)

objList.ListRows(lRnd).Range.Copy .Cells(lrow, 1)

End With

Set objList = Nothing

End Sub

Rechercher des sujets similaires à "choix aleatoire ligne"