Vider textbox et combobox

Gil369 Messages postés 120 Statut Membre -  
Polux31 Messages postés 7219 Statut Membre -
Bonjour,
novice en vba et nouvel inscrit sur le site je fais appel a vous.
J ai un formulaire avec des textbox et combobox dont le contenu est envoyé dans une feuille excel, lorsque je valide, je souhaite "vider" tous les champs et garder mon formulaire affiché pour de nouvelles saisies, avec le code ci joint je vide uniquement les textbox, merci de m orienter pour vider egalement les combobox

Dim objControl As Control

For Each objControl In FRM_Formulaire_de_saisies.Controls
If TypeOf objControl Is msforms.TextBox Then
objControl.Text = ""
End If
Next

End Sub

Merci a vous

PS je travaille avec excel 2007

51 réponses

Polux31 Messages postés 7219 Statut Membre 1 204
 
je te l'ai envoyé en message privé regarde en haut à droit et clic sur l'enveloppe
0
Polux31 Messages postés 7219 Statut Membre 1 204
 
je n'ai pas trouvé pourquoi ... je regarde ça demain et je te tiens au courant

bonne nuit
0
Gil369 Messages postés 120 Statut Membre
 
ok, merci a toi,
bonne nuit, a demain
0
Gil369 Messages postés 120 Statut Membre
 
Salut polux31
merci de ton aide, mais helas la fonction
Module1.InitComboBox ne vide tjs pas les combobox
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Polux31 Messages postés 7219 Statut Membre 1 204
 
Salut,

Pourquoi vider les combobox ??? il faut juste les réinitialiser. Sinon, les combobox sont vides et on ne plus rien sélectionner ...
0
Gil369 Messages postés 120 Statut Membre
 
re , EXACT je me suis mal exprimé, je veux reinitialiser mon formulaire tout en le gardant actif( apres validation ce qui envoie les donnees saisies dans les txtbox et combobox vers ma feuille excel) afin d effectuer d autres saisies
0
Polux31 Messages postés 7219 Statut Membre 1 204
 
et bien c'est ce que fait le code que je t'ai donné ...
0
Gil369 Messages postés 120 Statut Membre
 
ok, j essaie et te tiens au courant
merci a toi
0
Gil369 Messages postés 120 Statut Membre
 
re, il plante sur : Module1.InitComboBox
message : "erreur de compilation, membre de methode ou de donnees introuvable "

plein écran
Private Sub UserForm_Activate()
With Me
.StartUpPosition = 3
.Width = Application.Width
.Height = Application.Height
.Left = 0
.Top = 0
End With
Module1.InitComboBox
End Sub

faut il lui nommer les combobox ?
Merci
0
Gil369 Messages postés 120 Statut Membre
 
en fait il surligne
.InitComboBox
0
Polux31 Messages postés 7219 Statut Membre 1 204
 
je ne comprends pas ... ça fonctionne chez moi ... as-tu bien copier le contenu de module1 du fichier que je t'ai retourné ???
0
Gil369 Messages postés 120 Statut Membre
 
re, a l appel du formulaire il bug sur .ComboBox_Editeur.Clear dans le module1 ...
Public Sub InitComboBox()
Dim ws As Worksheet
Dim i As Long

With FRM_Formulaire_de_saisies
'// combo Editeurs
'//
Set ws = Worksheets("Licences")
i = 4
.ComboBox_Editeur.Clear
While ws.Range("W" & i).Value <> ""
.ComboBox_Editeur.AddItem ws.Range("W" & i).Value
i = i + 1
Wend

et j avoue que la... je ne comprend pas tout ce que tu ecris
mais merci
0
Polux31 Messages postés 7219 Statut Membre 1 204
 
dans ton userform, enlèves ce qu'il y a dans RowSource ou SourceRow, je sais plus ... mais la propriété doit être vide. Je te l'ai dit ce matin dans mon mail ... c'est cette propriété qui pose problème ... tu ne peux initialisé un combobox qui fait référence à une plage de cellules comme source. D'ou ma procédure d'initialisation ... :o))
0
Gil369 Messages postés 120 Statut Membre
 
J ai enlevé tous les RowSource et maintenant c est sur : objControl du BTN_valider que ça coince

For Each objControl In Controls 'FRM_Formulaire_de_saisies.Controls
If TypeOf objControl Is TextBox Then
objControl.Text = ""
End If
Next
Module1.InitComboBox

End Sub
0
Polux31 Messages postés 7219 Statut Membre 1 204
 
as-tu bien déclaré : dim objControl As Control ....
remet ça comme ça ... mais c'est étrange chez moi ça passe sans tout ça ...
For Each objControl In FRM_Formulaire_de_saisies.Controls
If TypeOf objControl Is msform.TextBox Then
objControl.Text = ""
End If
Next
0
Gil369 Messages postés 120 Statut Membre
 
oui la declaration est faite, le code que tu viens de me donner plante, je viens de supprimer msform, et la ça fonctionne a moitie : les combobox s 'initialise mais plus les txtbox....

Private Sub BTN_Valider_Click()
Dim objControl As Contro

For Each objControl In FRM_Formulaire_de_saisies.Controls
If TypeOf objControl Is TextBox Then
objControl.Text = ""
End If
Next
Module1.InitComboBox

End Sub
0
Polux31 Messages postés 7219 Statut Membre 1 204
 
voilà ce que j'ai dans mon fichier et qui marche chez moi ...

For Each objControl In Controls
If TypeOf objControl Is msforms.TextBox Then
objControl.Text = ""
End If
Next
0
Gil369 Messages postés 120 Statut Membre
 
ça avance !!!!!
c 'est tout bon, il me reste a ajouter les autres combobox dans le module.
C'est dans ce module que je dois determiner les feuilles et les plages auxquels je fais appel ?
merci bcp polux
0
Polux31 Messages postés 7219 Statut Membre 1 204
 
Oui c'est ça

Bon courage

;o)

polux
0
Gil369 Messages postés 120 Statut Membre
 
merci, je clos le post des que j aurai fini ça
encore merci
bye
0