cs_Masco
Messages postés4Date d'inscriptionjeudi 11 mai 2006StatutMembreDernière intervention26 mai 2008
-
26 mai 2008 à 15:06
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 2018
-
27 mai 2008 à 23:46
Bonjour,
Je programme sous macro excel en VBA
Voila mon soucis:
J'utilise plusieurs (une dizaine) de label où je demande à l'utilisateur ce qu'il souhaite y inscrire après qu'il ai cliqué sur l'un de ces label et le fait reccommencer tant que la taille de la phrase inscrite est trop grande.
Le seul truc c'est que je re-écrit le code pour chaque label...type:
Private Sub Label1_Click()
Label1.Caption = InputBox("blablabla")
With Label1
.autosize = True
.TextAlign = fmTextAlignCenter
.Width = 63
.WordWrap = True
.SpecialEffect = fmSpecialEffectFlat
End With
Do While Label1.Height > 59.25
Label.Caption = InputBox("blablabla")
Loop
With Label1
.Width = 63
.Height = 59.25
End With
End Sub
Private Sub Label2_Click()
Label2.Caption = InputBox("blablabla")
With Label4
.autosize = True
.TextAlign = fmTextAlignCenter
.Width = 63
.WordWrap = True
.SpecialEffect = fmSpecialEffectFlat
End With
Do While Label4.Height > 59.25
Label.Caption = InputBox("blablabla")
Loop
With Label4
.Width = 63
.Height = 59.25
End With
End Sub
Ce qui est lourd et qui plus est, je suis persuadé qu'il y a un moyen extreeeeeeeeeeeemement plus simple comme un appel de fonction ou autre.
Or je n'arrive pas à me débrouiller pour récupérer le chiffre qui suit le label (Label1, Label2, Label3...) et par conséquent je n'arrive pas avancer.
Quelqu'un aurait une indication sur la voie à suivre ou meme une astuce évitant le copier-coller de code basic.
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 27 mai 2008 à 23:46
Sous Excel, si tu es sur un UserForm, utilise la collection Controls si tu veux utiliser un pseudo-index
Me.Controls("Label" & numero) pointera sur le Label en question.
Par contre, tu n'auras pas le choix que d'entrer un minimum de code redondant pour chaque Label puisque le paramètre Index n'existe pas sous Excel...
MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI