VBA Macro avec textBox variables
SpcCwb
Messages postés
67
Statut
Membre
-
Normad Messages postés 112 Date d'inscription Statut Membre Dernière intervention -
Normad Messages postés 112 Date d'inscription Statut Membre Dernière intervention -
Bonjour bonjour,
Me voici avec une nouvelle difficulté (pour moi c'en est une en tout cas ).
J'essaye de coder une macro qui fait intervenir plusieurs TextBox, et j'aimerai pouvoir faire comprendre à la macro que selon si les TextBox sont vides ou non, elles doivents être utilisées.
Dans cette première macro, si la TextBoxA1 est non vide, alors une autre macro se lance, mettant en jeux la TextBoxA1. Pour pouvoir alléger mon code je me suis dit qu'il serai préférable d'utiliser un substitut (TextBoxCouleur) et de l'insérer dans une macro pouvant être utilisée pour une autre TextBox que TextBoxA1.
Lorsque je lance mes macros j'ai un message d'erreur (Objet Inconnu; pour TextBoxCouleur). Pourriez-vous m'aider à clarifier cette situation? Merci!
Me voici avec une nouvelle difficulté (pour moi c'en est une en tout cas ).
J'essaye de coder une macro qui fait intervenir plusieurs TextBox, et j'aimerai pouvoir faire comprendre à la macro que selon si les TextBox sont vides ou non, elles doivents être utilisées.
Dans cette première macro, si la TextBoxA1 est non vide, alors une autre macro se lance, mettant en jeux la TextBoxA1. Pour pouvoir alléger mon code je me suis dit qu'il serai préférable d'utiliser un substitut (TextBoxCouleur) et de l'insérer dans une macro pouvant être utilisée pour une autre TextBox que TextBoxA1.
Sub couleur_et_taille()
If UserForm2.TextBoxA1.Value <> "" Then Call Module7.taille
With TextBoxCouleur.Value = UserForm2.TextBoxA1.Value
End With
If UserForm2.TextBoxB1.Value <> "" Then Call Module7.taille
With TextBoxCouleur.Value = UserForm2.TextBoxB1.Value
End With
...
End Sub
Sub taille()
If UserForm2.TextBoxA2.Value <> "" Then
Rows("5:5").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("C5").Value = UserForm2.TextBoxA2.Value
Range("B5").Value = TextBoxCouleur.Value
Range("A5").Value = UserForm2.TextBox1.Value
Else: End If
...
End Sub
Lorsque je lance mes macros j'ai un message d'erreur (Objet Inconnu; pour TextBoxCouleur). Pourriez-vous m'aider à clarifier cette situation? Merci!
A voir également:
- VBA Macro avec textBox variables
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Arreter une macro vba ✓ - Forum Excel
- Incompatibilité de type vba ✓ - Forum Programmation
1 réponse
Si TextBoxCouleur n'est pas un objet existant ou déclaré, l'erreur est normale...
Il faut soit déclarer un objet TextBox dans le code, soit plus simplement utiliser une variable au niveau module.
Sans avoir testé, j'écrirais comme ça :
Il faut soit déclarer un objet TextBox dans le code, soit plus simplement utiliser une variable au niveau module.
Sans avoir testé, j'écrirais comme ça :
Private TextBoxCouleur as String
Sub couleur_et_taille()
If UserForm2.TextBoxA1.Value <> "" Then Call Module7.taille
TextBoxCouleur = UserForm2.TextBoxA1.Value
If UserForm2.TextBoxB1.Value <> "" Then Call Module7.taille
TextBoxCouleur = UserForm2.TextBoxB1.Value
...
End Sub
Sub taille()
If UserForm2.TextBoxA2.Value <> "" Then
Rows("5:5").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("C5").Value = UserForm2.TextBoxA2.Value
Range("B5").Value = TextBoxCouleur.Value
Range("A5").Value = UserForm2.TextBox1.Value
End If
...
End Sub