Sélection excel au Hasard

Résolu
Clem93 -  
 Clem93 -
Bonjour,

Je suis en train de faire une macro pour un tableau et je souhaiterai savoir s'il est possible ou pas de faire sélectionner 2 critères au hasard dans une colonne. En fait je reçoit toutes les semaines un tableau dans lequel il y a la date des 5 jours de la semaine précédente sous ce format 20120830
20120830
20120830
20120831
20120831
20120831
Et comme cela change toutes les semaines j'aimerai que la macro puisse choisir toute seule 2 dates au hasard parmis les 5 et cacher ou faire disparaitre les autre. Est-ce possible? D'avance merci!

5 réponses

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    bonjour

    une petite macro commandée par un bouton

    Const plageDate = "A2:A6"
    
    Private Sub CommandButton1_Click()
    Dim li As Long, d1 As Long, d2 As Long
    d1 = Int(5 * Rnd) + 1
    Do
      d2 = Int(5 * Rnd) + 1
    Loop Until d1 <> d2
    For li = 1 To 5
      If li <> d1 And li <> d2 Then Range(plageDate).Cells(li, 1).ClearContents
    Next li
    End Sub

    bonne suite
    0
    1. Clem93
       
      Bonjour,
      Merci pour ta réponse mais ne marche pas chez moi... j'ai juste modifié la plage mais ça ne marche pas...

      Const plageDate = "H1:H2000"

      Private Sub CommandButton1_Click()
      Dim li As Long, d1 As Long, d2 As Long
      d1 = Int(5 * Rnd) + 1
      Do
      d2 = Int(5 * Rnd) + 1
      Loop Until d1 <> d2
      For li = 1 To 5
      If li <> d1 And li <> d2 Then Range(plageDate).Cells(li, 1).ClearContents
      Next li
      End Sub
      0
    2. Clem93
       
      En plus j'aimerai l'intégrer à la suite du début de ma macro si c'est possible
      0
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    ça ne marche pas chez moi
    qu'est ce qui ne marche pas

    Le code que je t'ai donné est censé répondre strictement à ta question. A savoir, dans une plage de 5 dates, sélectionner au hasard 2 dates parmi 5 et effacer les 3 autres
    Tu évoques une plage de 200 lignes, ça change tout
    Q1. veux tu que la macro sélectionne 2 dates dans ta plage de 200 lignes et efface les 198 restantes
    Q2. as tu mis un bouton dans ta feuille

    peux tu envoyer ton fichier au format excel 2003 (fichier/enregistrer sous/type ...) sur cjoint.com et joindre le lien obtenu à ton prochain message.

    bonne suite
    0
    1. Clem93
       
      http://www.cjoint.com/confirm.php?cjoint=3IhnYyYz8Kk
      Voici le lien. En fait je me suis mal exprimé mon fichier à 898 lignes (mais cela change toute les semaines) qui représentent des règlements fait sur 5 jours. Ce que je voudrais c'est conserver les règlements de 2 journées seulement et enlever les autres.
      Si c'est possible intégrer cette action dans ma macro.
      0
  3. ccm81 Messages postés 11033 Statut Membre 2 434
     
    tous les règlements de deux journées choisies au hasard
    par exemple si les deux dates sont (les deux premières)
    20120823
    20120830
    on conserve les 71 lignes correspondantes?
    0
  4. Clem93
     
    C'est exactement ça que je voudrais pouvoir faire
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. ccm81 Messages postés 11033 Statut Membre 2 434
     
    comme ça?
    https://www.cjoint.com/?3IhtaNzcq4Z

    bonne suite
    0
    1. Clem93
       
      Bonjour, je suis désolé de pas avoir pu te répondre avant (ordi mort...) mais c'est exactement ça je te remerci beaucoup!!!
      0