Lancer des userforms aléatoirement
Fermé
pierreLH
Messages postés
11
Date d'inscription
dimanche 21 décembre 2014
Statut
Membre
Dernière intervention
18 janvier 2016
-
Modifié par jordane45 le 22/12/2014 à 12:18
pierreLH Messages postés 11 Date d'inscription dimanche 21 décembre 2014 Statut Membre Dernière intervention 18 janvier 2016 - 19 janv. 2015 à 18:19
pierreLH Messages postés 11 Date d'inscription dimanche 21 décembre 2014 Statut Membre Dernière intervention 18 janvier 2016 - 19 janv. 2015 à 18:19
A voir également:
- Lancer des userforms aléatoirement
- Lancer une application au démarrage windows 10 - Guide
- Fichier batch pour lancer un programme - Guide
- Lancer discord au démarrage ✓ - Forum Logiciels
- Lancer en mode sans echec - Guide
- Nous éprouvons des difficultés à lancer cette vidéo sur votre navigateur veuillez vérifier que vous utilisez une version récente de votre navigateur - Forum Google Chrome
3 réponses
f894009
Messages postés
17239
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
10 février 2025
1 713
22 déc. 2014 à 09:21
22 déc. 2014 à 09:21
Bonjour,
une facon de faire:
une facon de faire:
Sub kies()
Dim TAleat() As Long, UF
Menu.Show
ReDim TAleat(1 To 6)
'appel fonction remplissage
TAleat() = Aleat_TQuestion()
For Question = 1 To 6
'choix UF en fonction table TAleat()
UF = Choose(TAleat(Question), "Question1", "Question2", "Question3", "Question4", "Question5", "Question6")
'Affichage UF
VBA.UserForms.Add(UF).Show
Next
End Sub
'remplissage tableau aleatoire sans doublon
Function Aleat_TQuestion()
Dim i As Long, n As Long
Dim numQuestion(1 To 6) As Long
Dim numCollection As New Collection
'Creation et utilisation d'une collection pour obtenir
'une table de numeros sans doublon
With numCollection
For i = 1 To 6
.Add i
Next
For i = 1 To 6
'nombre aleatoire de 1 a 6 avec -1 par tour: 5,4.......
n = Rnd * (.Count - 1) + 1
'ecriture table des numero de questions
numQuestion(i) = numCollection(n)
'suppression de l'Item(ici un nombre) de la collection
'pour ne pas l'avoir une deuxieme fois
.Remove n
Next
End With
Aleat_TQuestion = numQuestion()
Set numCollection = Nothing
End Function
f894009
Messages postés
17239
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
10 février 2025
1 713
21 déc. 2014 à 17:54
21 déc. 2014 à 17:54
Bonjour,
A quoi sert menu.show et comment lancez-vous Sub kies() ?????
A quoi sert menu.show et comment lancez-vous Sub kies() ?????
pierreLH
Messages postés
11
Date d'inscription
dimanche 21 décembre 2014
Statut
Membre
Dernière intervention
18 janvier 2016
21 déc. 2014 à 19:31
21 déc. 2014 à 19:31
menu.show est une un userform qui lance le jeu.
sub.keys est la macro que je lance manuellement, pour l'instant
sub.keys est la macro que je lance manuellement, pour l'instant
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 254
26 déc. 2014 à 12:37
26 déc. 2014 à 12:37
Bonjour,
Pour revenir à la question initiale vu que tous les UF sont identiques (oui/non) pourquoi ne pas en mettre qu'un seul et changer son texte et son image de fond ?
eric
Pour revenir à la question initiale vu que tous les UF sont identiques (oui/non) pourquoi ne pas en mettre qu'un seul et changer son texte et son image de fond ?
eric
f894009
Messages postés
17239
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
10 février 2025
1 713
Modifié par f894009 le 27/12/2014 à 13:45
Modifié par f894009 le 27/12/2014 à 13:45
Bonjour eriiic,
C'est ce que je veux arriver a faire entendre a pierreLH, mais pour le moment son code pour les questions/reponses est un peu portnawak et y pas les infos par UF pour lui faire un exemple
C'est ce que je veux arriver a faire entendre a pierreLH, mais pour le moment son code pour les questions/reponses est un peu portnawak et y pas les infos par UF pour lui faire un exemple
pierreLH
Messages postés
11
Date d'inscription
dimanche 21 décembre 2014
Statut
Membre
Dernière intervention
18 janvier 2016
19 janv. 2015 à 18:19
19 janv. 2015 à 18:19
Bonsoir,
désolé pour lé délai
en effet, changer le texte et l'image serait une bonne idée.
mon objectif est de lancer les questions jusqu'à ce que le programme trouve la bonne personne
désolé pour lé délai
en effet, changer le texte et l'image serait une bonne idée.
mon objectif est de lancer les questions jusqu'à ce que le programme trouve la bonne personne
Modifié par jordane45 le 22/12/2014 à 12:16
Dernier service, je voudrais ajouter une condition d'arrêt.Il faudrait que les questions n'apparaissent plus lorsqu'une variable atteint une valeur donnée, en l'occurence:
loop until c=1
c = Application.Sum(Range("B1").EntireColumn)
Comment rajouter cette condition dans le code? J'ai essayé plusieurs choses, notamment ceci mais ça ne marche pas:
EDIT : Ajout des balises de code
Modifié par f894009 le 22/12/2014 à 16:55
je voudrais ajouter une condition d'arrêt Oui, mais ce que vous avez ecrit ne peut pas marcher.
Que comptez vous faire avec ceci:
vu qu'il n'y a pas de decompte des cellules colonne B ?????????????????
22 déc. 2014 à 18:35
23 déc. 2014 à 11:12
La, il me faut votre fichier, puisque la programmation depend de celui-ci. Detaillez le fonctionnement, parce qu'il faudrait (je suppose) que seules les questions non valide doivent etre reposees ou ..... expliquez votre demarche
Pour transmettre un fichier,
il faut passer par un site de pièce jointe tel que cijoint.com
Allez sur ce site : https://www.cjoint.com/
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cijoint",
Copier le lien,
Revenir ici le coller dans une réponse...
23 déc. 2014 à 15:05
Il s'agit d'un Qui est-ce?
Le programme est très simple:
Un tableau comporte toutes les caractéristiques des personnes, 1 pour vrai et 0 pour faux.
A chaque question il faut cliquer sur oui ou non, le userform va chercher dans la colonne correspondante les 0 ou les 1, selon la réponse. Si la caractéristique ne correspond pas avec la réponse, alors la valeur dans la colonne B assignée à chaque personne devient 0. (Initialement elles sont toutes 1). La dernière personne qui a un 1 est donc la personne que l'on cherche.