EXCEL Sauvegarder le resultat en fichier *.TXT

cs_ATitus 33 Messages postés samedi 8 mai 2004Date d'inscription 9 février 2010 Dernière intervention - 22 déc. 2006 à 12:02 - Dernière réponse : cs_ATitus 33 Messages postés samedi 8 mai 2004Date d'inscription 9 février 2010 Dernière intervention
- 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
Afficher la suite 

4 réponses

Répondre au sujet
cavo789 168 Messages postés vendredi 9 janvier 2004Date d'inscription 28 juillet 2009 Dernière intervention - 22 déc. 2006 à 14:47
0
Utile
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
Commenter la réponse de cavo789
cs_ATitus 33 Messages postés samedi 8 mai 2004Date d'inscription 9 février 2010 Dernière intervention - 23 déc. 2006 à 12:09
0
Utile
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
Commenter la réponse de cs_ATitus
cavo789 168 Messages postés vendredi 9 janvier 2004Date d'inscription 28 juillet 2009 Dernière intervention - 27 déc. 2006 à 09:35
0
Utile
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
Commenter la réponse de cavo789
cs_ATitus 33 Messages postés samedi 8 mai 2004Date d'inscription 9 février 2010 Dernière intervention - 29 déc. 2006 à 11:44
0
Utile
Bonjour.

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

Merci

ATitus _
Commenter la réponse de cs_ATitus

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.