• Initiateur de la discussion Initiateur de la discussion jfcjfc
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

jfcjfc

XLDnaute Nouveau
Bonjour, je voudrai faire un tri aléatoire sur une ligne de 20 valeurs différentes pour en garder que 10.
ex: ("A1,T1") = 1,2,3;4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20.
le tri aléatoire doit m'en garder que 10 sur ces 20.
en macro VBA.
D'avance merci
 
Re : tri aleatoire

Bonsour®
la même avec macro
Capture.jpg
 

Pièces jointes

  • jfcjfc.xlsm
    jfcjfc.xlsm
    21.7 KB · Affichages: 41
  • Capture.jpg
    Capture.jpg
    27.6 KB · Affichages: 33
Re : tri aleatoire

Merci, mais le curseur ne se déplace pas !
ex: j'ai 20 valeurs de ("BA,BT"), comment en effacer 10 de façon aléatoire sur cette ligne.
ou alors comment utiliser "clearcontents" aléatoirement, sur une ligne de 20 n° pour en effacer 10.
encore merci pour l'info.😛
 
Re : tri aleatoire

comment en effacer 10 de façon aléatoire sur cette ligne.
Comme je dis de le faire en combinant mes poste #3 et #9

Ce qui donne évidemment ça par exemple :
VB:
Sub test()
Dim TAléa() As Long, P As Long, A As Long, J As Long, Plg As Range
ReDim TAléa(1 To 20): For P = 1 To 20: TAléa(P) = P: Next P
For P = 20 To 2 Step -1
   A = Int(Rnd * P) + 1: J = TAléa(A): TAléa(A) = TAléa(P): TAléa(P) = J
   Next P
Set Plg = ActiveSheet.[A1:T1]
For P = 1 To 10
   Plg.Columns(TAléa(P)).Value = Empty
   Next P
End Sub
 
Dernière édition:
Re : tri aleatoire

Ce qui donne évidemment ça par exemple :
VB:
Sub test()
Dim TAléa() As Long, P As Long, A As Long, J As Long, Plg As Range
ReDim TAléa(1 To 20): For P = 1 To 20: TAléa(P) = P: Next P
For P = 20 To 2 Step -1
   A = Int(Rnd * P) + 1: J = TAléa(A): TAléa(A) = TAléa(P): TAléa(P) = J
   Next P
Set Plg = ActiveSheet.[A1:T1]
For P = 1 To 10
   Plg.Columns(TAléa(P)).Value = Empty
   Next P
End Sub
[/QUOTE]


j'ai besoin encore de votre aide😕
je voudrai pouvoir utiliser cette macro sur la ligne de mon choix
exemple
dim A,B,C as integer
A = 12163
B = 3
C = 22
''''Set Plg = ActiveSheet.[A1:T1], le changer en valeur numérique.
'du style : Range(Cells(A, B), Cells(A, C)).Select
' la boucle For P doit prendre en compte ce changement aussi.
'Plg.Columns(TAléa(P)).Value = Empty, doit être aussi changer,Il me semble.
'en résumé, pouvoir utiliser la macro à mon gré sur la ligne que j'ai choisie.
Encore une fois d'avance merci pour la réponse et excusez pour le dérangement.
Cordialement
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 MFC dans tableau
Réponses
2
Affichages
224
Réponses
2
Affichages
78
Réponses
7
Affichages
421
Réponses
5
Affichages
138
Réponses
6
Affichages
86
Retour