Nombre au hasard

Bonjour,

J'ai un fichier client sous excel qui compte 2500 lignes, il faut que je fasse un questionnaire en tirant au hasard 200 lignes. Pourriez vous me donner une formule me permettant d'obtenir ce résultat.
J'ai office 2003. Merci par avance de votre aide
Configuration: Windows XP
Firefox 2.0.0.12

4 réponses

  1. Contributeur
    Bonsoir,

    Voici une methode, à toi de voir si elle te convient.
    Dans une colonne vide sur la 1ère ligne qui t'interesse tu saisis =ENT(ALEA()*1000000) que tu recopies vers le bas pour tous les clients.
    Ca attribuera un n° aléatoire à chacun, le nombre est choisis élevé pour limiter le risque de doublon.
    Il faut figer ces n° maintenant par un copier / collage spécial 'valeur' sur toute la colonne.
    Tu tries sur cette colonne et tu prends les 200 premiers.

    eric
    5
    1. Modérateur
      Bonjour Riquet
      Essaye ceci

      Syntaxe : ALEA ()

      Remarque : Pour générer un nombre réel aléatoire compris entre a et b, utilisez : ALEA()*(b-a)+a.

      Exemples : Pour générer un nombre aléatoire entier supérieur ou égal à 1 mais inférieur à 100 : ENT(1+99*ALEA())


      Extrait de http://www.grappa.univ-lille3.fr/polys/excel-2000-option2/poly008.html#toc47
      voir : le hasard 8.10
      1
      1. Bonjour Baladur13,
        merci pour cette suggestion que je connaissais déjà. J'aimerai trouver une formule qui, insérée dans mon fichier me permettrait de selectionner 200 lignes au hasard de mon fichier. Saurais tu m'aider?
        0
    2. Modérateur
      Non perso je sais pas trop
      Je cherches pour toi sur la toile
      Regarde le dernier post de ce lien
      http://forum.hardware.fr/hfr/WindowsSoftware/Stockage-Sauvegarde/tirage-aleatoire-excel-sujet_160967_1.htm
      1
      1. merci balladur13 mais c'est du chinois pour moi
        je te remercie pour ton aide, je joins un aperçu de mon fichier
        Peux tu m'indiquez le mode opératoire?

        Code Client Civilité abrégée Prénom Nom V3 : Complément d'adresse V4 : ligne adresse complète
        540100929 M. LIONEL BOURGAU 159 rue du vieux rampart
        540102546 M. JEAN GABRIEL CAVARLE
        540103317 M. FABRICE BROUZE Chemin DE CHAVENTON
        540102144 M. LUDOVIC DUCHENE grande rue
        540101379 M. PATRICK GREGGIA Rue STE CATHERINE
        540103372 M. STEPHANE PESANTI 29 Allée DU BOIBAN
        540102451 M. DOMINIQUE MIGNOT
        540102298 M. ALBIN ALVAREZ 81 Allée DES ARTISANS
        540100843 M. CATHERINE CACHARD
        540102437 M. JEAN LOUP CHATELLARD 35 Allée DES BOULEAUX
        540100226 M. GILLES DIGARD
        540100555 M. THIERRY JEULLAIN
        540101185 M. SEBASTIEN MALVILLE 5
        540100750 M. JEAN BAPTISTE MORES
        540102828 M. FABIEN PALENI 193 Avenue DE SAVOIE
        540102755 M. DOMINIQUE PIERREZ 254 Rue DU BELLACHAT
        540101203 M. YOUCEF ZAIBOUCHE bp 9
        540103321 M. DONATIEN BAULAT
        540100648 M. MARC BOULENGER 7 LE GENEVRIER
        540101202 M. CHRISTINE JOURNOT
        540101629 M. GERALD ANDRE
        540101971 M. JEAN LUC BERARD BERGERY VILLA LE GRAND PRE
        540102070 M. DAMIEN CRESSEND 14 Place JOUX
        540101966 M. CHRISTOPHE DUCHOSAL 540 Avenue DE TARENTAISE
        540102430 M. MARC GOSTOLI 823 Rue DE LA TULIPE
        540102332 M. GEOFFREY ROHR 454 Route DE VILLAROLAND
        540101008 M. NATHALIE BERTHET la tour
        540101258 M. MICHEL CHRISTIN LOT LA MOUDRU
        540100439 M. ALAIN COURTIN
        540100893 M. PASCAL GARCIA le plan
        540103227 M. NICOLAS GRASSI 19 LA MOUDRU
        540101790 M. MUARREM KAYGUSUZ Chemin DU MILIEU
        540100095 M. GUILLAUME KHIRANI 41 Allée C
        540100036 M. GABRIEL MONTESINOS
        540101154 M. GERARD MORISSET
        540101025 M. TONY SEGUIN Chemin DU PIED DES BOIS
        540102457 M. THIERRY AGOGUE 19 Rue LOUIS BLERIOT
        0
      2. Modérateur
        @riquet73J'ai pigé ton Pb... mais n'ayant excel dans le PC at home... c'est dur de guider.
        J'ai contacté un autre membre pour qu'il te guider....
        Patience
        0
    3. Contributeur
      bonjour

      à la demande de baladur13, je te mets cette macro qui permet de copier un certain nombre de lignes sélectionnées aléatoirement sur une feuille sur une autre feuille et elle avait été conçue paramétrable.
      Donc il faut mettre le nom correct de tes feuilles.
      Option Explicit
      
      Sub sélection()
      Dim nbr_sel, nbr_elm, nbr_col, choix, pos, lig, i
      Dim inf_feu, inf_lig, inf_col
      Dim res_feu, res_lig, res_col
      nbr_sel = 200 ' le nombre de lignes à récupérer
      nbr_col = 20 ' le nombre de colonnes à recopier
      inf_lig = 2 ' les données sont en ligne inf_lig
      inf_col = 1 ' les données sont en colonne inf_col
      inf_feu = "données" ' les données sont sur la feuille inf_feu
      res_lig = 1 ' le résultat est en ligne res_lig
      res_col = 1 ' le résultat est en colonne res_col
      res_feu = "resu" ' le résultat est sur la feuille res_feu
      ' récupération du nombre de lignes de données
      nbr_elm = Worksheets(inf_feu).Cells(inf_lig, inf_col).End(xlDown).Row
      ' suppression précédente sélection
      Worksheets(res_feu).Cells(res_lig, res_col).CurrentRegion.ClearContents
      
      For lig = 0 To nbr_sel - 1
      Do
      choix = Int(Rnd(1) * nbr_elm) + inf_lig
      For i = 0 To lig ' test doubles
      If Worksheets(res_feu).Cells(res_lig, res_col).Offset(i).Value _
      = Worksheets(inf_feu).Cells(inf_lig, inf_col).Offset(choix - inf_lig).Value _
      Then
      Exit For
      End If
      Next i
      Loop Until Worksheets(res_feu).Cells(res_lig, res_col).Offset(i).Value = ""
      
      ' copie des données sélectionnées
      Worksheets(res_feu).Cells(res_lig, res_col).Offset(lig).Formula = "=" & inf_feu & "!R" & choix & "C"
      Worksheets(res_feu).Cells(res_lig, res_col).Offset(lig).Resize(1, nbr_col).FillRight
      
      Next lig
      End Sub
      

      Sur la feuille "resu" ou le nom que tu lui donnera, tu obtiendra les 200 lignes sélectionnées au hasard.
      La macro doit être copiée sur la feuille ou dans un module
      1
      1. bonjour à vous tous qui m'avez répondu,

        je vous remercie pour votre aide, je vais me débrouiller maintenant.
        slt
        0