Nombre aléatoire

Bonjour à tous,

J'aimerai intégrer des chiffres/nombres aléatoires dans les cellules de B6 à O30 de 0 à 50.

Voici ce que j'ai tenté de faire :

Sub Exercice3()

Dim i As Integer

For i = B6 To O30

Randomize
i = Int(50 * Rnd) + 1

Next

Pouvez vous me dire ce qui va et ce qui ne va pas ?

Merci

Bonjour,

Pourquoi poster la même chose 2 fois deux jours de suite : https://forum.excel-pratique.com/excel/nombre-aleatoire-157023. Ce n'est pas très aléatoire ..

Cdlt,

Bonjour,

Comment le rendre aléatoire alors ?

Merci

Bonjour,

@Ergotamine, j'ai pas été très sympa avec elle sur son poste hier. Après pas mal de discussion, ameroch fait preuve de bonne volonté. Je pense qu'on peut aider.

Le souci résidant dans le peu d'infos qu'ils ont eu en cours par rapport à ce qu'on leur demande. C'est mission impossible pour qu'ils comprennent sans que ça prenne des heures.

Bonjour, salut Ergotamine !

On ne boucle pas sur une plage de cette manière. Sois tu précises de boucler sur les cellules d'une plage, sois tu boucles sur une variable numérique, que tu utilises par la suite comme indice de ligne :

'Cas 1
For Each Cellule In Range("A1:A100")
    Cellule = "Blabla"
Next Cellule

'Cas 2
For Ligne = 1 To 100
    Cells(Ligne, 1) = "Blabla" 'Possibilité 1
    Range("A" & Ligne) = "BlaBla" 'Possibilité 2
Next Ligne

Toi tu as fait un mixte des 2, i est une variable numérique (déclaré comme type Entier), que tu as tenté de faire correspondre à des adresses de cellule (de manière incorrecte). La génération de nombre aléatoire de semble cohérente.

Edit : salut xorsankukai, mes félicitations pour ton greenwashing !

Bonjour ameroch, le forum,

Salut Ergotamine,

[EDIT] : salut Pedro22, JoyeuxNoel

Sans parler des multi-posts et MP......

https://forum.excel-pratique.com/s/goto/971349

Cordialement,

Salut Xorsankukai, ça te va bien le vert :)

Oui, je lui ai fait remarquer le fait que tu étais prêt à aider. Mais paraît que tu répondais pas aux MP ;)

Tu n'as jamais répondu au mien, cela dit

Bonjour à tous,

à chaque fois que je poste, j'ai le droit à une remarque désobligeante.

Donc j'ai décidé de demander de l'aide plutôt en privé mais on m'a dit que le mieux était de partager sur la forum, ce que je fais donc bon.

Xorsankukai, j'ai lu les pages et j'essaie de coder mais ils ne marchent pas.

Pedro22, merci beaucoup

Sachez qu'à défaut d'avoir un cours compréhensible et bien construit, vous trouverez ici des cours pas à pas pour prendre en main VBA.

Bonjour à tous,

@JoyeuxNoel : Je reste assez fatigué d'un post où j'ai l'impression nous ne sommes là que pour faire des devoirs (l'ESTACA serait ravi de l'apprendre) mais que la personne ne s'intéresse pas même à l'étude de la réponse ni même de répondre aux questions posées : https://forum.excel-pratique.com/excel/probleme-de-combobox-qui-ne-reconnait-pas-la-feuille-de-calcu....

Je suis, je pense, encore assez jeune, mais l'irrespect de ne pas faire de recherches préalables, d'explications du contexte, de questions sur la réponse, des multi posts ou post cross forum, me laissent plus que perplexe sur l'intérêt et l'implication des gens pour résoudre la problématique qui est leur. Même s'il ne faut pas en faire une généralité, je crains les prochaines années des sociétés ... Après cela ne reste que mon avis. Mais le jour ou le monde du bénévolat se sera épuisé de toutes ses ressources, il faudra bien se recentrer sur un réel apprentissage ou formation.

Cdlt,

PS : C'est un constat totalement subjectif, je suis là par passion pour l'apprentissage d'un sujet qui m'intéresse.

Edit : A l'auteur : Ca ne me gêne absolument pas d'aider, c'est plus la manière dont est apporté la problématique qui me gêne. Votre collègue nous à carrément dit "faites nos exercices et renvoyez le moi" ...

Ah non mais je suis complètement d'accord avec toi Ergotamine.

Après pour le moment, si ce n'est pas toi, ni moi, il y aura toujours quelqu'un pour le faire. Mais pour combien de temps ? Tu as raison de poser la question.

Mais ... que ce soit faire des devoirs à la place d'étudiants qui ne cherchent pas par eux-mêmes, ou le boulot de gens qui ne recherchent même pas, posent la question et attendent la réponse devant la machine à café... puis ne te remercient même pas d'avoir fait leur boulot ...

J'ai l'impression de moins me faire entuber en faisant des devoirs au final.

@Ergotamine

Oui j'ai vu son post mais je vois pas pourquoi on me ramène à ce post ? c'est la deuxième fois.

Au contraire, j'ai demandé à ce que l'on m'aide parce que je ne comprenais pas. Macro sur Excel (excel-pratique.com)

@Pedro22

Oui j'ai lu les cours, mais ce n'est pas si facile quand on en a jamais fait

En fait t'as juste pas de bol ameroch. C'est toi qui prends pour tout le monde.

En général ceux qui viennent juste pour avoir leurs devoirs faits se barrent tout de suite et ne répondent pas. Mais comme tu as le courage de rester et de répondre, la conversation est forcément nourrie. Mais quelque chose me dit que ça sera vite bénéfique pour toi. Si tu veux vraiment apprendre, tiens bon, tu auras plein de personnes prêtes à t'aider ici ;)

Je suis d'accord avec ce qui à été dit. Le fait d'être également étudiant me donne forcément envie d'aider.... Et on ne peux pas mettre toute la promo dans le même panier, certains n'ont pas été très respectueurs vis à vis de la demande, mais je vois que ameroch essaye toute fois.

Cependant, j'aimerai vous rapeller que j'ai répondu à votre précédent post, que j'ai proposé de vous aider en vocal par discord pour peut être avancer plus vite mon message à été ignoré...

J'ai pris le temps de mon côté de réaliser votre exercice il est complet et terminé si jamais vous vous retrouvé complètement à cours de temps.

@ameroch : car vos fichiers sont les mêmes, il est donc évident qu'on vous ramène vers ce dernier. Nous ne traitons pas ou peu de sujet en doublon directement liés.

Pour revenir à votre sujet ce qui va :

i = Int(50 * Rnd) + 1

i vous renvoie donc un nombre entier inférieur ou égal à 50 mais supérieur à 1. Ce qu'il vous manque c'est d'inscrire cette variable i dans une cellules. Comme l'a dit Pedro22, il faut que vous preniez toutes les cellules d'intérêts et boucliez dessus en leur attribuant une valeur i. La syntaxe serait donc :

'début de la macro
'1ère boucle sur les numéros de colonnes
    '2ème boucle sur les numéros de lignes
    i = Int(50 * Rnd) + 1'on génère i
    'la cellule à l'intersection de la colonne et de la ligne = i, cf message de Pedro22
    'on passe à la ligne suivante
'on passe à la colonne suivante
'fin de la macro

Cdlt,

@ameroch:

Ne te méprends pas, je ne doute pas de ton implication, mais c'est le fait que tu te disperses et monopolise plusieurs ressources du forum.

Dans ton premier post, je t'avais invité à poursuivre le fil si tu rencontrais des difficultés, tu as préféré ouvrir d'autres sujets et avoir recours aux MP.

@JoyeuxNoel:

Salut Xorsankukai, ça te va bien le vert :)

Oui, je lui ai fait remarquer le fait que tu étais prêt à aider. Mais paraît que tu répondais pas aux MP ;)

Tu n'as jamais répondu au mien, cela dit

Merci JoyeuxNoel, , si si, je t'assure, je t'ai répondu....à l'instant,

Cordialement,

@Pedro22

Oui j'ai lu les cours, mais ce n'est pas si facile quand on en a jamais fait

C'est tout l'intérêt de faire des exercice : mettre les mains de le moteur, se tromper, recommencer, réessayer et peu à peu s'approprier la méthode. Je rejoins JoyeuxNoel et Ergotamine, je ne vois pas l'intérêt de vous donner un résultat clé en main, qui n'aura fait progresser personne.

En revanche, apporter une aide sur une question ciblée, d'une personne qui s'est retroussé les manches (à priori c'est votre cas pour cette demande) me semble plus pertinent. En espérant que l'aide apportée vous fait progresser.

Bonjour @Gabin37, oui veuillez bien m'excuser de ne pas avoir répondu. je vous remercie de votre aide. Mon devoir était à rendre pour 17h. On m'a deja envoyer des codes ce matin mais je souhaitais quand même comprendre

@Ergotamine, merci pour votre explication

@Amroch, désolé que tout cela est été aussi cahotique, vous auriez du vous concerter avec la promo, anticiper et créer un seul post pour expliquer la situation.

Bon courage pour la suite.

A une prochaine fois ici peut être on veux vous voir progresser

Bon je ne suis pas sur d'avoir si bien compris, ça ne marche pas. je ne peux pas utiliser 2 fois "For"?

Sub Exercice3()

Dim i As Integer

For i = A to 0
For i = 6 to 30 
Randomize
i = Int(50 * Rnd) + 1

Next
Rechercher des sujets similaires à "nombre aleatoire"