VBA Macro avec textBox variables
SpcCwb
Messages postés
65
Date d'inscription
Statut
Membre
Dernière intervention
-
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
- Jitbit macro recorder - Télécharger - Confidentialité
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- L'indice n'appartient pas à la sélection vba - Forum VB / VBA
- 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