interface utilisateur

tititravelfrog

XLDnaute Nouveau
bonjour,

je me permet de solliciter votre aide pour un petit travail.
je dois créer un petit programme qui formera un puzzle de chiffre à l'ouverture de mon chiffrier excel, les chiffres sont mélanger de 1 à 15, avec 16 case dont une est vide pour pouvoir résoudre le programme, je ne m'étends pas plus sur ce programme.
Mon problème est que je n'arrive pas à centrer mes chiffres dans mon label, comment faire?? je n'ai réussit qu'à les centrer dans le haut de chaque label.
Ensuite je voudrais créer un boucle pour affecter un chiffre à chacun des 15 labels, de sorte que les chiffres aillent de 1 à 15, et qu'ils soient tous différent. je veux juste savoir comment affecter une valeur à chaque label; car mon code ne fonctionne pas:
Label1.Caption = Chr(101)
Label2.Caption = Chr(102)
Label3.Caption = Chr(103)
Label4.Caption = Chr(104)
Label5.Caption = Chr(105)
Label6.Caption = Chr(106)
Label7.Caption = Chr(107)
Label8.Caption = Chr(108)
Label9.Caption = Chr(109)
Label10.Caption = Chr(110)
Label11.Caption = Chr(111)
Label12.Caption = Chr(112)
Label13.Caption = Chr(113)
Label14.Caption = Chr(114)
Label15.Caption = Chr(115)
label16.Caption = Chr(116)

Randomize
For X = A To B
Y = 1 + Int(Rnd * 15)
X = Y
Next

je vous remercie de votre attention

thierry
 

Papou-net

XLDnaute Barbatruc
Re : interface utilisateur

Bonsoir tititravelfrog, et bienvenue !

Concernant le centrage vertical des chiffres dans les Labels, la seule solution que je connaisse est d'augmenter la taille des caractères pour qu'ils paraissent être au milieu du contrôle.
Concernant la boucle, je ne suis pas certain d'avoir tout compris mais je te propose ceci :

Code:
For n = 1 to 16
  UserForm1.Controls("Label" & n).Caption = Chr(100 + n)
Next

dans laquelle tu remplaces UserForm1 par le nom du formulaire s'il est différent.

Pour le reste, à quoi sert ta boucle aléatoire ? Est-ce pour affecter les chiffres au hasard à tes labels ?

Cordialement.
 

tititravelfrog

XLDnaute Nouveau
Re : interface utilisateur

oui c'est exactement ça, il faut affecter un nombre de 1 à 15 pour chaque label, tout en laissant un vide, je pourrais par exemple faire en sorte que si un label est égal à 0 il reste vide, ou alors laisser en permanence le dernier label vide. En tout cas tu as tout à fait saisi la chose merci pour tes renseignement je teste ça tout de suite.

cordialement
 

ROGER2327

XLDnaute Barbatruc
Re : interface utilisateur

Bonjour tititravelfrog
Pour avoir les nombrs de 1 à 15 sans doublon et une case vide, avec un certain désordre, essayez :
Code:
[COLOR="DarkSlateGray"][B]Private Sub Recommencer_Click()
Dim N As Integer
Dim DAT(1 To 16)
Dim U
   For N = 1 To 15
      DAT(N) = N
   Next N
   DAT(16) = ""
   Randomize
   N = 1 + Int(16 * Rnd)
   Do
      U = DAT(16): DAT(16) = DAT(1 + Int(15 * Rnd)): DAT(1 + Int(15 * Rnd(0))) = U
   Loop Until DAT(N) = ""
   For N = 1 To 16
      UserForm1.Controls("Label" & N).Caption = DAT(N)
   Next
End Sub[/B][/COLOR]
ROGER2327
#2247
 

Statistiques des forums

Discussions
312 228
Messages
2 086 421
Membres
103 206
dernier inscrit
diambote