Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
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 !
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
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.😛
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
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