VBA : Gestion d'évènement Userform dynamique
canichon
-
Aseghir -
Aseghir -
Bonjour à tous,
Voilà mon probleme, j'ai un Userform que je construis dynamiquement suivant le nombre d'items utilisé dans un onglet Excel ( en fait, je cré un formulaire dynamique ).
Dans ce formulaire, suivant certaines cases cochées, je bloque l'acces à certains TextBox à l'ouverture du Userform ( Initialisation ).
Mon probleme est que si je décoche ces cases, rien ne se passe : NORMAL !!
Je sais qu'on peut gérer ça en statique : Private sub TextBox1_Change ()
Mais comment proceder quand les TextBox sont multiples et que je ne connais pas leur nombre ( création en dynamique ) ??
Merci a tous pour votre aide... et bon week-end si je n'ai pas de réponse avant...
Voilà mon probleme, j'ai un Userform que je construis dynamiquement suivant le nombre d'items utilisé dans un onglet Excel ( en fait, je cré un formulaire dynamique ).
Dans ce formulaire, suivant certaines cases cochées, je bloque l'acces à certains TextBox à l'ouverture du Userform ( Initialisation ).
Mon probleme est que si je décoche ces cases, rien ne se passe : NORMAL !!
Je sais qu'on peut gérer ça en statique : Private sub TextBox1_Change ()
Mais comment proceder quand les TextBox sont multiples et que je ne connais pas leur nombre ( création en dynamique ) ??
Merci a tous pour votre aide... et bon week-end si je n'ai pas de réponse avant...
A voir également:
- Excel créer un formulaire dynamique
- Excel compter cellule couleur sans vba - Guide
- Incompatibilité de type vba ✓ - Forum VB / VBA
- Erreur 13 incompatibilité de type VBA excel ✓ - Forum Excel
- Mkdir vba ✓ - Forum VB / VBA
- Dépassement de capacité vba ✓ - Forum Excel
9 réponses
Je viens de trouver réponse à ma question.
Pour ceux que ca pourrait intéresser :
https://silkyroad.developpez.com/VBA/VisualBasicEditor/#LV-A
Pour ceux que ca pourrait intéresser :
https://silkyroad.developpez.com/VBA/VisualBasicEditor/#LV-A
bonjour,
Pour les créer :
Dim myTextBox As Object
Dim i As Long
With UserForm1
For i = 1 to nbCaseCochee
set myTextBox = .controls.add("Forms.TextBox.1","le nom du TextBox" & i, true)
... < tu mets les propriétés du textbox : myTextBox.Top = ..., la hauteur, largeur etc ...>
Next i
End With
....
pour les lire et mettre les données saisies dans les textboxes dans la colonne A de la première feuille du classeur par exemple:
Dim myTextBox As Object
Dim i As Long
With UserForm1
For i = 1 to nbCaseCochee
set myTextBox = .controls("le nom du TextBox" & i)
worksheets("Feuil1").Range("A" & i).Value = myTextBox
Next i
End With
.....
;o)
Polux
Pour les créer :
Dim myTextBox As Object
Dim i As Long
With UserForm1
For i = 1 to nbCaseCochee
set myTextBox = .controls.add("Forms.TextBox.1","le nom du TextBox" & i, true)
... < tu mets les propriétés du textbox : myTextBox.Top = ..., la hauteur, largeur etc ...>
Next i
End With
....
pour les lire et mettre les données saisies dans les textboxes dans la colonne A de la première feuille du classeur par exemple:
Dim myTextBox As Object
Dim i As Long
With UserForm1
For i = 1 to nbCaseCochee
set myTextBox = .controls("le nom du TextBox" & i)
worksheets("Feuil1").Range("A" & i).Value = myTextBox
Next i
End With
.....
;o)
Polux
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je veux bien croire que c'est vendredi soir mais où t'as fumé ou c'est moi... JE NE COMPRENDS RIEN A CE QUE TU ME DIS.... Laisse tomber !!!!
Bon week-end
Bon week-end
moi, c'est Super Pollem
et je me demandes si Delphi ne serait pas mieux adapté à tes besoin. là c'est pas un pb d'attacher un event p.ex.
par contre en vba ce n'est pas possible (à ma connaissance)
et je me demandes si Delphi ne serait pas mieux adapté à tes besoin. là c'est pas un pb d'attacher un event p.ex.
par contre en vba ce n'est pas possible (à ma connaissance)
Bonjour,
Je me permets de ressortir ce sujet pour savoir s'il était possible de créer une fonction du type Change() sur un TextBox créé dynamiquemment.
En statique cela donne :
Private sub myTextBox_Change ()
... [mon code]
End Sub
Mais quand est-il du dynamique? Est-ce possible?
Cordialement,
Romain.
Je me permets de ressortir ce sujet pour savoir s'il était possible de créer une fonction du type Change() sur un TextBox créé dynamiquemment.
En statique cela donne :
Private sub myTextBox_Change ()
... [mon code]
End Sub
Mais quand est-il du dynamique? Est-ce possible?
Cordialement,
Romain.
Tu a perdu u peu de temps avec ces imbéciles qui te répondent sans savoir de quoi ils parlent; mais la solution que tu as trouvée toi-même est excellente, j'aurais répondu la même chose si j'avais lu à temps.
Il faut en effet "Sub-classer" l'objet créé, dans une classe, déclarer l'évènement, etc. et après ça roule tout seul.
-AS