Sélection excel au Hasard

Résolu
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. 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. 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. En plus j'aimerai l'intégrer à la suite du début de ma macro si c'est possible
      0
  2. ç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. 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. 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
    1. C'est exactement ça que je voudrais pouvoir faire
      0
      1. comme ça?
        https://www.cjoint.com/?3IhtaNzcq4Z

        bonne suite
        0
        1. 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