[VBA EXCEL] userform=véritable casse-tête
Résolu
sterog
Messages postés
20
Statut
Membre
-
sterog Messages postés 20 Statut Membre -
sterog Messages postés 20 Statut Membre -
Bonjour,
dans le cadre d'un stage, je fais face à un problème que je n'arrive vraiment pas à résoudre.
J'ai une premiere userform dans lequel l'utilisateur rentre plusieurs chiffres correspondant aux nombres de chaque appareil dans une installation. Puis, en cliquant sur un bouton dans la userform, une deuxième userform se lance, et le but serait d'avoir un nombre de label par appareil égal au nombre indiqué dans la première userform.
Par exemple, si je choisis dans la userform qu'il y: nombre frigo=2 et nombre four=4, je voudrai que dans la 2e userform on est 4 label frigo et 2 label four.
Voici mon code associé au bouton de la première userform lançant la deuxième:
Excel trouve une erreur aux lignes UserForm2.labeln.Caption = "frigo" et UserForm2.labeln.Caption = "four" car il essaie de trouver un label nommé labeln dans la userform 2, mais moi je voudrai qu'il comprenne que cela veut dire label1 puis label2 ...
J'ai essayé de contourner le problème en créant une variable temporaire du type var=lalel & n mais la ligne UserForm2.var.Caption = "four" ne lui va pas non plus.
Je ne sais pas si c'est un casse-tête ou si la solution est évidente et je ne l'ai pas vue, mais je vous défi de trouver la solution. ça me serait d'une grande aide!!!
Merci d'avance
dans le cadre d'un stage, je fais face à un problème que je n'arrive vraiment pas à résoudre.
J'ai une premiere userform dans lequel l'utilisateur rentre plusieurs chiffres correspondant aux nombres de chaque appareil dans une installation. Puis, en cliquant sur un bouton dans la userform, une deuxième userform se lance, et le but serait d'avoir un nombre de label par appareil égal au nombre indiqué dans la première userform.
Par exemple, si je choisis dans la userform qu'il y: nombre frigo=2 et nombre four=4, je voudrai que dans la 2e userform on est 4 label frigo et 2 label four.
Voici mon code associé au bouton de la première userform lançant la deuxième:
Private Sub CommandButton1_Click() 'création userform2 adaptée Dim i As Integer i = UserForm1.labelfrigo.Value For n = 1 To i UserForm2.labeln.Caption = "frigo" Next n Dim j As Integer j = UserForm1.labelfour.Value For n = 1 To i UserForm2.labeln.Caption = "four" Next n UserForm2.Show End Sub
Excel trouve une erreur aux lignes UserForm2.labeln.Caption = "frigo" et UserForm2.labeln.Caption = "four" car il essaie de trouver un label nommé labeln dans la userform 2, mais moi je voudrai qu'il comprenne que cela veut dire label1 puis label2 ...
J'ai essayé de contourner le problème en créant une variable temporaire du type var=lalel & n mais la ligne UserForm2.var.Caption = "four" ne lui va pas non plus.
Je ne sais pas si c'est un casse-tête ou si la solution est évidente et je ne l'ai pas vue, mais je vous défi de trouver la solution. ça me serait d'une grande aide!!!
Merci d'avance
A voir également:
- [VBA EXCEL] userform=véritable casse-tête
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel compter cellule couleur sans vba - Guide
4 réponses
je vais peut etre dire une bétise.. attention je ne suis pas sur de ma réponse.
Essaye de mettre des parenthèses autour du compteur.
label(n)
Essaye de mettre des parenthèses autour du compteur.
label(n)
Bonjour,
Exemple :
Issue d'un exemple d'excelabo.net (John Fauss)
Lupin
Exemple :
Option Explicit ' Public Function NomDuControle(varForme As UserForm, varControle As String) As Object On Error Resume Next Set NomDuControle = varForme.Controls(varControle) End Function ' Private Sub CommandButton1_Click() ' Création [UserForm2] adaptée Dim i As Integer, j As Integer, n As Long Dim Fonction As Variant UserForm2.Show UserForm2.Hide If (Me.TxtBoxFrigo.Value <> "") Then i = CInt(Me.TxtBoxFrigo.Value) If (i > 0) Then For n = 1 To i NomDuControle(UserForm2, "label" & n).Caption = "Frigo No: " & n Next n End If End If If (Me.TxtBoxFour.Value <> "") Then j = CInt(Me.TxtBoxFour.Value) If (j > 0) Then For n = 1 To j NomDuControle(UserForm2, "label" & n).Caption = "Four No: " & n Next n End If End If UserForm2.Show End Sub '
Issue d'un exemple d'excelabo.net (John Fauss)
Lupin