Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Nombre aleatoire [ Divers / Débutants ] (lispo)

dimanche 28 janvier 2007 à 19:58:42 | Nombre aleatoire

lispo

Bonjour,

Voilà j 'essaye de faire une macro en vba

J'ai des noms qui se trouve dans  Range (" A5 :A15 ") je voudrais qu'il prenne un nom au hasard et qu'il le met dans un TextBox

Merci au volontaire

 

 


dimanche 28 janvier 2007 à 20:00:19 | Re : Nombre aleatoire

jmfmarques

Membre Club
Voir Randomize et Rnd dans ton aide en liggne
Reviens avec ton code d'essai si tu rencontres une difficulté d'application

dimanche 28 janvier 2007 à 22:52:55 | Re : Nombre aleatoire

MPi

Un petit ajout au cas où...
Randomize devrait être mis en tout début de la procédure ou dans Initialize du UserForm, si c'est le cas.

Je précise parce que j'ai vu des gens qui mettait Randomize à l'intérieur d'une boucle, ce qui ne devrait pas...

MPi

lundi 29 janvier 2007 à 07:27:52 | Re : Nombre aleatoire

Renfield

Administrateur CodeS-SourceS

ce genre de choses ... :

Function GetRandomCell(ByRef voInRange As Range) As Range
Dim nRow As Long
Dim nCol As Long
    Randomize
   
    With voInRange
        If (.Column = .SpecialCells(xlCellTypeLastCell).Column) Then
            nCol = .Column
            nRow = .Row + Rnd * (.SpecialCells(xlCellTypeLastCell).Row - .Row)
        Else
            nRow = .Row
            nRow = .Column + Rnd * (.SpecialCells(xlCellTypeLastCell).Column - .Column)
        End If
        Set GetRandomCell = .Worksheet.Cells(nRow, nCol)
    End With
End Function

Sub test()
    MsgBox GetRandomCell(ActiveSheet.Range("A5:A15")).Text
End Sub


Renfield
Admin CodeS-SourceS- MVP Visual Basic


lundi 29 janvier 2007 à 09:53:19 | Re : Nombre aleatoire

lispo

Re-Bonjour,
desoler vous allez un peux vite pour moi,
Voila je voudrez afficher le nom selectionner dans un msgbox
j'ai essayer comme cela mais il y a un hik
ex:
Private Sub lblp_Click()
msgbox = INDEX(A5:A15;ENT(ALEA()*(10-1)+1))
End Sub
merci d'avance

lundi 29 janvier 2007 à 11:28:46 | Re : Nombre aleatoire

MPi

Si je comprends bien, tu mélanges les formules Excel (dans les cellules) et la technique VBA (le code de Renfield, par exemple)

Si tu veux utiliser ta technique, il faudrait afficher ta formule dans une cellule quelconque au préalable.

'Changer Z1 pour une cellule de ton choix
Range("Z1").FormulaLocal = "=INDEX(A5:A15;ENT(ALEA()*(10-1)+1))"
msgbox Range("Z1").Value
Range("Z1") = ""

MPi

lundi 29 janvier 2007 à 18:51:47 | Re : Nombre aleatoire

lispo

Bonjour,

J'ai essayé mai il bloque sur la deuxième ligne et il affiche (Type mismatch)

 Est ce peut être à cause que ma liste contient du texte et non chiffres


Range("B17").FormulaLocal = "=INDEX(A5:A15;ENT(ALEA()*(10-1)+1))"
MsgBox (Range("B17").Value)

lundi 29 janvier 2007 à 19:57:15 | Re : Nombre aleatoire

lispo

En fait-je désire seulement choisir un nom au hasard dans ma liste et c'est tout

Si quelqu'un pouvait m'éclairer ça serais vraiment gentil a lui ou (a elle)


mardi 30 janvier 2007 à 00:17:19 | Re : Nombre aleatoire

MPi

Essaie ceci
Dans la colonne A, sur 10 lignes, rentre les lettres a, b, c, d...
En B1, mets cette formule et copie-la sur les 10 lignes (à refaire plusieurs fois pour voir le changement)
=RECHERCHEV(   INDEX($A$1:$A$10;ENT(ALEA()*(10-1)+1));$A:$A;   1;   FAUX)

MPi

mardi 30 janvier 2007 à 15:32:02 | Re : Nombre aleatoire

lispo

Re_salut

Vu que je m'étais mélanger les pinceaux, j'ai refait ça d'une autre manière

J'ai mis mon nombre aléatoire dans  un select case(function hasard) et ma select case associer a ma liste (Range " A5 :A15 ")

Et je l'appelle par une boucle

Le hic c'est qu'après deux instructions je bloque, je n'arrive pas a enchaîné les  6 autres instructions (il doit choisir 8 noms au total)

 

 
Function hasard()
Dim Nombre As Integer
Nombre = Rnd() * ((10 - 1) + 1)
Select Case Nombre
Case 0
 nom = Range("A5").Text
Case 1
nom = Range("A6").Text
Case 2
nom = Range("A7").Text
Case 3
nom = Range("A8").Text
Case 4
nom = Range("A9").Text
Case 5
nom = Range("A10").Text
Case 6
nom = Range("A11").Text
Case 7
nom = Range("A12").Text
Case 8
nom = Range("A13").Text
Case 9
nom = Range("A14").Text
Case 10
nom = Range("A15").Text
End Select
End Function
''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''
Dim liste(1 To 8) As String
Randomize

Do
 Call hasard
 Txb8_1.Text = nom
 liste(1) = Txb8_1.Text
 Call hasard
 Txb8_2.Text = nom
 liste(2) = Txb8_2.Text
 Loop While liste(1) = liste(2)


 

Si quelqu'un pouvait m'aider ça serais cool 



1 2

Cette discussion est classé dans : nombre, aleatoire


Répondre à ce message

Sujets en rapport avec ce message

Nombre aleatoire [ par vb7 ] Salut, comment faut generer des nombres aleatoire sur 3 labels? Generation d'un nombre aleatoire dans une variable [ par sese817 ] Salut !Voila je souhaiterais savoir si l'un d'entre vous c'est comment doit-on faire pour generer un nombre aleatoire compris entre 0 et 250 ???Merci nombre impaire [ par tarzom ] bonsoir, voila je voudrais s'avoir si il est possible d'entre un nombre impaire dans un textbox et qu'il me fasse un tirage aleatoire avec le reste ex affectation nombre aleatoire [ par boulbac ] Bonjour,je suis en cours de création d'un vb pour creer un tournoi sportif.J'ai une grille ( pour les quarts de finale) et je voudrai placer aleatoire nombre aleatoire [ par bux ] Salutje voudrais charger 10 nombres dans une listbox sans que ces chiffres se suivent (0-1-2-3 etc) mais dans un ordre aleatoire (8-9-5-4-2-7-6 etc)BY Moyenne sur un echantillon aleatoire [ par Taeris ] Navre si la question a déjà ete posée auparavant, mais je n'ai rien réussi a trouver, étant donne la spécificité de ma demande ...Navre également pour Conversion de dates en nombre et inversement [ par mimo37 ] Bonjour à tous,Débutant en Visual Basic je me trouve confronté à un PB que je suis incapable de résoudre, mais qui je pense doit être simple pour un e conversion hexa / décimal [ par Roussetj ] bonjour,j'ai besoin de convertir un nombre héxa en décimal, j'avais trouver sur le forum qu'avec la fonction "Val" on pouvait y arriver comme ça : Val supprimer espaces d'une cellule [ par marcolevrai858 ] Bonjour, J'au une colonne d'une feuille Excel contenant différents nombres. Parfois, des cellues contiennent, en plus du nombre, un certain nombre d' Comment compter le nombre de jours écoulés depuis une certaine date ? [ par NexoZ ] bonjour à tous et à toutes,je voudrais réaliser un programme pour faire une sorte de comptage.je voudrais fixer une date de début, exemple le : 2 octo


Nos sponsors

Sondage...

CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,234 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.