Sélection excel au Hasard
Résolu
Clem93
-
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!
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!
A voir également:
- Sélection excel au Hasard
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
- Excel trier par ordre croissant chiffre - Guide
5 réponses
bonjour
une petite macro commandée par un bouton
bonne suite
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
ç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
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
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.
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.
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?
par exemple si les deux dates sont (les deux premières)
20120823
20120830
on conserve les 71 lignes correspondantes?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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