Effacer Textbox avec exception
Résolu
Invite097654
-
Invite097654 -
Invite097654 -
Bonjour,
j'ai Excel 2003, j'aurai besoin de votre aide concernant une boucle pour effacer les textboxes de mon Uform
J'ai placé ce code dans un module standard :
Public Sub EffaceTextBox(ByRef UForm As UserForm)
Dim Ctrl As Control
'Boucle pour tout les contrôle de UForm
For Each Ctrl In UForm.Controls
If TypeOf Ctrl Is MSForms.TextBox Then Ctrl.Value = vbNullString
Next
Set Ctrl = Nothing
End Sub
Puis un bouton :
private sub effacertxt()
call EffaceTextBox
end sub
Le problème c'est que j'ai un textbox (textbox16)dans ce Uform, et je ne veux pas qu'il soit réinitialisé. J'ai essayé de mettre la propriété Locked à True mais il est quand même effacé.
Quelqu'un peut me dir quel commande mettre dans mon module pour faire en sorte que Textbox16 ne soit pas reinitialisé?
Merci!
j'ai Excel 2003, j'aurai besoin de votre aide concernant une boucle pour effacer les textboxes de mon Uform
J'ai placé ce code dans un module standard :
Public Sub EffaceTextBox(ByRef UForm As UserForm)
Dim Ctrl As Control
'Boucle pour tout les contrôle de UForm
For Each Ctrl In UForm.Controls
If TypeOf Ctrl Is MSForms.TextBox Then Ctrl.Value = vbNullString
Next
Set Ctrl = Nothing
End Sub
Puis un bouton :
private sub effacertxt()
call EffaceTextBox
end sub
Le problème c'est que j'ai un textbox (textbox16)dans ce Uform, et je ne veux pas qu'il soit réinitialisé. J'ai essayé de mettre la propriété Locked à True mais il est quand même effacé.
Quelqu'un peut me dir quel commande mettre dans mon module pour faire en sorte que Textbox16 ne soit pas reinitialisé?
Merci!
Configuration: Windows XP Internet Explorer 6.0
9 réponses
-
Bonjour,
essaye ça, ça devrai marcher:
For Y = 1 To 15
private sub effacertxt()
call EffaceTextBox & Y
Next Y
For Y = 17 To ...
private sub effacertxt()
call EffaceTextBox & Y
Next Y -
Réctification, j'ai Excel 2000.
87fred je ne comprends pas ton code :)
Est-ce que tu peux expliquer stp ?
Merci -
la variable Y prend en compte dans un premier temps toutes tes textbox de 1 a 15, (textbox1,textbox2,...,textbox15)
puis dans un deuxième temps tes textbox de 17 a la derniere
(textbox17,textbox18,...)
tu devrais pouvoir effacer toutes tes textbox sauf la textbox16 -
Comment VBA sait que "Y" correspond à un textbox ?
Il me passe en rouge cette instruction : call EffaceTextBox & Y
Apparement le Y le gêne !
Ou je place ton code ?
Merci -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
J'utilise excel2003, c'est peut-être pour ça que ça ne fonctionne pas
-
Je vais attendre d'autres réponses alors, merci quand même !
Sinon est ce que tu c quelle instruction correspond à "décocher" pour un checkbox
j'ai une fonction :
private sub checkbox1_click()
Sheets("Feuil1").Range("A1").Value = "Case 1 cochée"
end sub
Mais j'aurai besoin d'une fonction
private sub checkbox1_unchecked?()
Sheets("Feuil1").Range("A1").clear
end sub </gras>
Tu sais comment faire?
Merci ! -
sub userform_initialize
chekbox1=false
end sub
ce code te permettra de décocher un chekbox lorsque que tu activera ton userform, sinon écrit simple:
chekbox1=false
dans la partie de programme ou tu souhaite décocher un chekbox -
J'ai essayé de faire ca mais ca fonctionne pas :
Private Sub CheckBox1_Click()
Sheets("Feuil1").Range("A1").Value = "Case 1 cochée"
If chekbox1 = False Then Sheets("Feuil1").Range("A1").Clear
End Sub
Une idée? -
Pour mes checkboxs c'est résolu, erreur de syntaxe.
Personne d'autres pour ma boucle sur le texbox ?