EXCEL Sauvegarder le resultat en fichier *.TXT

cs_ATitus Messages postés 32 Date d'inscription samedi 8 mai 2004 Statut Membre Dernière intervention 9 février 2010 - 22 déc. 2006 à 12:02
cs_ATitus Messages postés 32 Date d'inscription samedi 8 mai 2004 Statut Membre Dernière intervention 9 février 2010 - 29 déc. 2006 à 11:44
Bonjour

Ce code (VB EXCEL) genere des nombres au hazard dans un tableau().
On choisis la longueur du tableau, on genere aleatoirement les valeurs de remplissage, ensuite on cherche la valeur Max du tableau et en resultat on affiche les "lignes" ou rangs ou se trouvent la ou les valeurs MAX .
Sur excel il y a la possibilite d'inscrire le ou les resultats dans des cellules; mais par securite , une sauvegarde en un fichier *.texte, me serait interressante .

C'est pour faire la sauvegarde de ces resultats qu'une aide me serait precieuse.

Option Explicit


Sub test()
'
Dim tableau() As Long
Dim base As Long, pourcentage As Long
Dim aleatoire As Long, resulte As Long
Dim i As Long, z As Long, max As Long, ligne As Long
Dim compte As Long, total As Long, affiche As Long
base = 5379
ReDim tableau(base)
'--------- Boucle remplissage base avec nombres aleatoires
For i = 1 To base
'
     aleatoire = Int(Rnd * 100) + 1
     tableau(i) = aleatoire
'
Next i
'--------- affichage du Tabeau avec valeurs aleatoire
For resulte = 1 To base
'
          Debug.Print ("Resulta = "); resulte; " & "; tableau(resulte)
'
Next resulte
'---calcul de la Valeur Max du tableau et le nombre
max = 0
For z = 1 To base
          If tableau(z) > max Then
               max = tableau(z)
               ligne = z
          End If
Next z
'
For compte = 1 To base
          If tableau(compte) = max Then
               total = total + 1
          End If
Next compte
' MsgBox " Max " & max & "  Total trouvé " & total'MsgBox " Ligne " & ligne & " Valeur " & tableau(ligne)
'
For affiche = 1 To base
          If tableau(affiche) = max Then
               Debug.Print " Lignes Trouvées =  " & affiche
          End If
Next affiche
'
End Sub

ATitus

4 réponses

cavo789 Messages postés 168 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 28 juillet 2009 1
22 déc. 2006 à 14:47
Je ne suis pas sûr d'avoir saisi le sens de ta question : si les nombres aléatoires sont repris dans la sheet active (p.e. Range(1,1).Value = chiffre et puis tu fais varier la ligne et/ou la colonne); il suffirait ensuite de faire appel à la méthode Save de l'objet ActiveWorkbook et de spéficier comme format de fichier un format texte.

Christophe
0
cs_ATitus Messages postés 32 Date d'inscription samedi 8 mai 2004 Statut Membre Dernière intervention 9 février 2010
23 déc. 2006 à 12:09
Le Code tourne bien sur excel ,mais seul les resultats en fin seront ecrit sur excel, le nombre de lignes ayant Max.

Je souhaite juste faire une sauvegarde en format texte de ces lignes trouvées.


S'il y a 100 lignes trouvées, il faudrait generer un ficheir texte avec les 100 numeros de ligne les uns a la suite des autres.

@ +


ATitus
0
cavo789 Messages postés 168 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 28 juillet 2009 1
27 déc. 2006 à 09:35
Bonjour,

Je reste toujours perplexe : pourquoi ne pas remplacer les lignes Debug.Print dans ton code par un ActiveWorkbook.Cells(x, y).Value et ensuite, quand tout est "printé" fais un ActiveWorkbook.SaveAs.

Christophe
0
cs_ATitus Messages postés 32 Date d'inscription samedi 8 mai 2004 Statut Membre Dernière intervention 9 février 2010
29 déc. 2006 à 11:44
Bonjour.

Oki cavo789, je vais tacher de faire un test avec ce que tu preconise .

Merci

ATitus _
0
Rejoignez-nous