Recopier au hasard

Bonsoir,

En AZ20:AZ30, j'ai un mot de 6 lettres entrecoupées d'espace.

Je voudrais simplement copier ce mot en F20:F30.

Y a t'il une meilleure solution que de copier les lettres une par une ?

Et, un petit plus (si c'est possible), je souhaiterais qu'à chaque fois que je l'utilise, les lettres ne se mettent pas au même endroit ?

Merci de votre aide.

bonjour,

voici une macro qui fait ça :

Sub Adapt()
Dim Arr(6), tablo(6), i%, j%, s$, x%, mix$
For i = 20 To 30
s = s & Cells(i, 52).Value
Next
For i = 1 To 6
tablo(i) = Mid(s, i, 1)
Arr(i) = i
Next
Randomize
For i = 6 To 1 Step -1
  x = Int(((i) * Rnd) + 1)
  j = Arr(x)
  Arr(x) = Arr(i)
  Arr(i) = j
  mix = mix & " " & tablo(Arr(i))
Next
Application.ScreenUpdating = False
For i = 20 To 30
Cells(i, 6).Value = Mid(mix, i - 18, 1)
Next
End Sub

Nota : c'est crade et ça pue... mais ça marche ! C'est un code adapté à la sauvette d'une autre routine. Alors ya surement mieux mais j'ai pas trop de temps...

A+

Bonjour et merci de ton aide galopin01

J'ai quand même un problème au quel je n'avais pas pensé.

La macro me copient les valeurs.

Est-il possible de copier aussi le format (Couleur des lettres et des cellules) ?

Bonsoir

ça c'est une autre aventure !

J'y réfléchis...

A=

bonsoir,

Le résultat de mes cogitations :

Option Base 1

Sub Adapt2()
Dim Arr(6, 2), i%, j%, x%
For i = 1 To 6
  Arr(i, 1) = i
  Arr(i, 2) = Cells((20 + (i - 1) * 2), 52).Address
Next
Randomize
For i = 6 To 1 Step -1
  x = Int(((i) * Rnd) + 1)
  j = Arr(x, 1)
  Arr(x, 1) = Arr(i, 1)
  Arr(i, 1) = j
Next
Application.ScreenUpdating = False
For i = 1 To 6
Range(Arr(i, 2)).Copy Cells((20 + (Arr(i, 1) - 1) * 2), 6)
Next
End Sub

A+

Attention ! la première ligne (Option base 1) doit être la première ligne du module. Si d'autres marcros existent déja, il faut donc insérer ce code avant toute les autres macros de ce module.

Il est aussi possible de créer un nouveau module rien que pour cette macro. Comme ça tu n'as pas de souçis à te faire...

A+

Bonjour Galopin01

P'tit galopin, tu as réussi !!!!!

Excuse-moi de ne pas t'avoir répondu plutôt, je n'étais pas là hier.

Tes cogitations ont bien fonctionnées, ça fonctionne parfaitement, sait exactement ce que je souhaitais.

Une petite question en passant.

Si j'ai envie d'utiliser cette macro pour une quantité supérieur ou inférieure à copier, que faut-il faire pour l'adapter :?:

J'ai bien essayé de changer des 6 en 12, mais cela ne vas pas .

Merci encore

Cordialement

Guy

Sissi ! ça marche aussi.

Seul le dernier 6 ne doit pas être modifié : il correspondant à la colonne F

Quan au 52 il correspond à la colonne Z

A+

galopin01 a écrit :

Sissi ! ça marche aussi.

Seul le dernier 6 ne doit pas être modifié : il correspondant à la colonne F

Quan au 52 il correspond à la colonne Z

A+

Oui oui c'est bon, ça fonctionne.

Merci encore

A+

Rechercher des sujets similaires à "recopier hasard"