Générer Chaîne caractères aléatoires sans limite

Bonjour à tous,

Je voudrais vous soumettre un problème de macro sur Word (je sais que nous sommes chez Excel, mais vu qu'elles sont souvent identiques, je me dis que l'un d'entre vous aura sûrement la solution).

Je souhaite générer des caractères aléatoires, selon une liste prédéfinie, et d'une longueur choisie sans contrainte (c'est le premier problème)

Je rencontre en effet un soucis de limite, au-delà de 10 000 caractères, ça veut plus générer !

Et je ne sais pas pourquoi.

Second problème, je veux pouvoir inclure des caractères franco-français dans la liste prédéfinie (éèçàâêûîô etc..)

Je ne sais pas faire

Quelqu'un aurait-il la gentillesse de me dépanner ?

tennea9

Sub AddUniqueID(oDoc As Word.Document)

Dim myRg As Range

Dim idx As Integer

Dim oCC As ContentControl

Dim GetUnique As String

Const CharList = "ABCDEFGHIJKLKMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 "

Randomize

For idx = 1 To 10000

GetUnique = GetUnique & Mid(CharList, 62 * Rnd + 1, 1)

Next idx

For Each oCC In oDoc.ContentControls

If oCC.Title = "RandomID" Then

oCC.Range.Text = GetUnique

Exit For

End If

Next oCC

End Sub

Sub InsertCC()

With Selection

.Range.ContentControls.Add (wdContentControlRichText)

.ParentContentControl.Title = "RandomID"

.ParentContentControl.Tag = "RandomID"

End With

AddUniqueID ActiveDocument

End Sub

Bonjour,

le but est lequel ?

Créer un texte aléatoire qui ressemble a du texte mais qui n'en est pas un ?

@ bientôt

LouReeD

Je vous demande cela car il existe =Rand() qui extrait automatiquement des parties de texte de l'aide de Word (je crois) et =Lorem() qui fait la même chose sauf que le texte est "incompréhensible" car en latin ou je ne sais quel langue....

je crois même que vous pouvez mettre un chiffre ou plusieurs séparés par une virgule ou point virgule afin de "gérer" la structure du résultat...

Par exemple :

=lorem(2,5)

veut dire 2 paragraphe avec un total de 5 lignes

La formule est à taper sous Word.

@ bientôt

LouReeD

Bonjour,

Merci pour votre réponse.

Le but n'est pas de générer du texte comme Word le propose via ces 2 formules que vous avez justement énoncées.

Le but est uniquement de générer des caractères aléatoires sur des limites allant jusqu'au milliard de caractères. Je mène une petite expérience de reconnaissance de mots sur logiciel dans des volumes de textes très importants.

Cela paraît simple, mais je ne comprends pas pourquoi cela bloque.

bonjour,

une proposition à adapter, génère du texte à partir de la position du curseur

Sub aargh()
    tabcar = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ,.?!;:éèàùâîûôüäëïöç"
    For j = 1 To 10
        For i = 1 To 10000
            msg = msg + Mid(tabcar, Rnd() * Len(tabcar) + 1, 1)
        Next i
        Selection.TypeText Text:=msg
    Next j
End Sub
Rechercher des sujets similaires à "generer chaine caracteres aleatoires limite"