Tableau VBA nombre aléatoire
Résolu
Débutant informatique
Messages postés
9
Date d'inscription
Statut
Membre
Dernière intervention
-
Débutant informatique Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
Débutant informatique Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je dois réaliser dans le cadre d'un cours un petit programme en VBA qui me permet de trouver une somme maximale.
Pour ce faire, je dois en premier lieu initialiser un tableau d'une taille aléatoire (entre 1 et 1000 cases).
Dans chacune de ces cases, je dois initialiser (générer) un nombre aléatoire entre -100 et 100. Or, mon problème est que le message d'erreur (l'indice n'appartient pas à la sélection apparait a chaque fois et je ne sais pas comment corriger cette erreur. Svp, quelqun peut-il m'aider?
Merci sincèrement d'avance pour votre temps
(voici donc mes lignes de programmations)
Randomize
intTaille = Int(Rnd * (1000 + 1 - 1) - 1)
ReDim intNombreAVerifier(intTaille)
For i = 0 To intTaille - 1 Step 1
intNombreAInitialiser(i) = Int(Rnd * (100 + 1 - (-100)) - 100) 'C'est ici que sa ne marche plus
Next i
Je dois réaliser dans le cadre d'un cours un petit programme en VBA qui me permet de trouver une somme maximale.
Pour ce faire, je dois en premier lieu initialiser un tableau d'une taille aléatoire (entre 1 et 1000 cases).
Dans chacune de ces cases, je dois initialiser (générer) un nombre aléatoire entre -100 et 100. Or, mon problème est que le message d'erreur (l'indice n'appartient pas à la sélection apparait a chaque fois et je ne sais pas comment corriger cette erreur. Svp, quelqun peut-il m'aider?
Merci sincèrement d'avance pour votre temps
(voici donc mes lignes de programmations)
Randomize
intTaille = Int(Rnd * (1000 + 1 - 1) - 1)
ReDim intNombreAVerifier(intTaille)
For i = 0 To intTaille - 1 Step 1
intNombreAInitialiser(i) = Int(Rnd * (100 + 1 - (-100)) - 100) 'C'est ici que sa ne marche plus
Next i
A voir également:
- Nombre aléatoire vba
- Nombre de jours entre deux dates excel - Guide
- Nombre facile - Télécharger - Outils professionnels
- Excel compter cellule couleur sans vba - Guide
- Gto nombre episode ✓ - Forum Cinéma / Télé
- Faites afficher avec un fond coloré les cellules qui contiennent une valeur comprise entre 250 et 350. quel nombre est dessiné en surbrillance ? ✓ - Forum Excel
3 réponses
bonjour
essaye:
Bonne suite
essaye:
intNombreAInitialiser(i) =Int(201* Rnd) - 100Int(201 * Rnd) te renvoie de 0 à 200 et comme tu fais -100, tu auras de -100 à +100
Bonne suite
Essaies ce code :
Option Explicit Option Base 1 Sub xxx() Dim intTaille As Integer Dim intNombreAVerifier() As Single Dim i As Integer Randomize intTaille = Int(Rnd * 1000) + 1 ReDim intNombreAVerifier(intTaille) For i = 1 To intTaille intNombreAVerifier(i) = Int(Rnd * 201) - 100 Next i End Sub
Merci Patrice et égalementPaf pour vos solutions, elles fonctionnent bien puisque VBA ne plante pas, mais je ne réussi pas a faie afficher les nombres générés dans excel....
Ce que je veux dire, c'est que une fois un nombre généré, ce dernier doit aller dans une case d'excel...
J'ai essayé avec
Range("A" & i).Value = intNombreAInitialiser(i)
mais rien n'apparait....
Ce que je veux dire, c'est que une fois un nombre généré, ce dernier doit aller dans une case d'excel...
J'ai essayé avec
Range("A" & i).Value = intNombreAInitialiser(i)
mais rien n'apparait....
C'est normal, intNombreAInitialiser n'existe pas !
Code :
Code :
Option Explicit Option Base 1 Sub xxx() Dim intTaille As Integer Dim intNombreAVerifier() As Single Dim i As Integer Randomize intTaille = Int(Rnd * 1000) + 1 ReDim intNombreAVerifier(intTaille) For i = 1 To intTaille intNombreAVerifier(i) = Int(Rnd * 201) - 100 Cells(i, 1).Value = intNombreAVerifier(i) Next i End Sub
For i = 1 To i = intTaille Step 1
intNombreAInitialiser(i - 1) = Int(Rnd * 201) - 100
Range("A" & i).Value = intNombreAInitialiser(i)
Next i
mais il redimensionne intNombreAVerifier et affecte intNombreAInitialiser d'où l'erreur !