cs_ATitus
Messages postés32Date d'inscriptionsamedi 8 mai 2004StatutMembreDernière intervention 9 février 2010
-
22 déc. 2006 à 12:02
cs_ATitus
Messages postés32Date d'inscriptionsamedi 8 mai 2004StatutMembreDerniè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
cavo789
Messages postés168Date d'inscriptionvendredi 9 janvier 2004StatutMembreDernière intervention28 juillet 20091 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.
cavo789
Messages postés168Date d'inscriptionvendredi 9 janvier 2004StatutMembreDernière intervention28 juillet 20091 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.