Choisir au hasard une ligne de texte d'un .txt

Soyez le premier à donner votre avis sur cette source.

Snippet vu 3 162 fois - Téléchargée 41 fois

Contenu du snippet

Voila ... il gère les erreurs ...
Si vous avez plus optimisé en vitesse ou en taille,
je suis preneur :)

Source / Exemple :


Private Sub Command1_Click()

' Coller un Textbox dans votre form et un CommandButton

'Declare les variables
Dim NbrLigne, I, Hasard, Phrase

On Error GoTo Erreur
Err.Number = Clear 'efface une eventuelle erreur ... (pas obligatoire mais prudent ...)

For I = 1 To 2
NbrLigne = 0
Open "C:\Documents and Settings\Administrateur\Bureau\Blague.txt" For Input As #1
Do While Not EOF(1)
     Line Input #1, Phrase
     NbrLigne = NbrLigne + 1
     If NbrLigne = Hasard Then Exit Do
Loop
' Choisit une ligne au hasard ..
Hasard = Int((Rnd * NbrLigne) + 1)
Close #1     ' Ferme le fichier (obligatoire)
Next I

' On décide de l'afficher ... mais vous faites ce que vous voulez après ... :)
Text1.Text = Phrase

Exit Sub
Erreur: ' a part l'erreur d'ouverture di fichier inexistant, y'en a pas d'autres...
MsgBox "Erreur boufon !!!" & vbCrLf & "Ton fichier n'existe pas ..."
Err.Number = Clear

End Sub

A voir également

Ajouter un commentaire

Commentaires

cs_Zeroc00l
Messages postés
370
Date d'inscription
lundi 1 avril 2002
Statut
Membre
Dernière intervention
11 février 2010
-
De rien ! :)
cs_Antony
Messages postés
83
Date d'inscription
mardi 30 juillet 2002
Statut
Membre
Dernière intervention
13 février 2008
-
ih ih non c'est moi en faite ! j'avais oublié randomize :D ! je suis un peu... étourdie !! merci de ton aide en tout cas !
cs_Zeroc00l
Messages postés
370
Date d'inscription
lundi 1 avril 2002
Statut
Membre
Dernière intervention
11 février 2010
-
Erf ! :-/
Pour les newbees :
La génération du hasard sous vb est la même à chaque fois que tu lances une appli en mode debugage.
Le hasard généré si tu préfères est le même .
Quand au fait que tu ais toujours "c'est ballo" c'est juste ... du hasard.
Combien de personne n'ont jamais fait que des 6 en jouant aux petits chevaux ? Et bien dans ton cas c'est pareil tu es tombé sur la même série qui se répète puisque le hasard est répété à chaque fois que tu lances ton appli.
Pour changer cela, mets 'Randomize' dans la procédure Form_Load de ton appli !

Si néanmoins tu connais déja tout cela et que ce n'est pas ce probleme, je ne sais pas. Il faudrait que j'ai ton projet entre les neurones ou bien alors c'ests ta version de vb qui déconne.
cs_Antony
Messages postés
83
Date d'inscription
mardi 30 juillet 2002
Statut
Membre
Dernière intervention
13 février 2008
-
euh bijour !
alors je ne sais pas si je suis nul ou quoi, mais ça marche seulement trois fois et il me met toujours trois fois les memes phrases de mon fichier txt... il commence par exemple par "bonjour" puis "coucou" et ensuite il met tout lle temps "c'est ballo"... comment je peux faire pour qu'il choississe au hasard à chaque fois que j'appuie sur le bouton ? merci d'avance
yoman64
Messages postés
962
Date d'inscription
samedi 19 janvier 2002
Statut
Membre
Dernière intervention
2 août 2010
-
Pas mal

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.