[VBA Excel] Ré-init ts txtBox MultiPage en 1x
Fermé
@ntic
-
31 janv. 2008 à 14:51
phil_232 Messages postés 286 Date d'inscription jeudi 6 décembre 2007 Statut Membre Dernière intervention 12 juin 2008 - 8 févr. 2008 à 21:39
phil_232 Messages postés 286 Date d'inscription jeudi 6 décembre 2007 Statut Membre Dernière intervention 12 juin 2008 - 8 févr. 2008 à 21:39
A voir également:
- [VBA Excel] Ré-init ts txtBox MultiPage en 1x
- Liste déroulante excel - Guide
- Mise en forme conditionnelle excel - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
4 réponses
phil_232
Messages postés
286
Date d'inscription
jeudi 6 décembre 2007
Statut
Membre
Dernière intervention
12 juin 2008
33
31 janv. 2008 à 23:04
31 janv. 2008 à 23:04
Ai essayé de deux manières, mais ça ne fonctionne pas ....
Ai aussi essayé avec ctrls.Value="", ça ne marche pas non plus ...
Est-ce parce que mon FrmPlainte est un formulaire multi-pages ?
Private Sub CmdAnnul_Click()
Dim ctrls As Control
For Each ctrls In FrmPlainte.Controls
If Left$(ctrls.Name, 7) = "TextBox" Then
ctrls.Text = ""
End If
Next
'For Each Ctrls In Controls
' If TypeOf Ctrls Is TextBox Then
' Ctrls.Text = ""
' ElseIf TypeOf Ctrls Is ComboBox Then
' Ctrls.Clear
' End If
'Next
End Sub
J'ai bien regardé dans les différents messages qui parlent de ça.
Je ne comprends pas pq ça ne fonctionne pas chez moi ...
Si qqn peut m'éclairer ?
Ai aussi essayé avec ctrls.Value="", ça ne marche pas non plus ...
Est-ce parce que mon FrmPlainte est un formulaire multi-pages ?
Private Sub CmdAnnul_Click()
Dim ctrls As Control
For Each ctrls In FrmPlainte.Controls
If Left$(ctrls.Name, 7) = "TextBox" Then
ctrls.Text = ""
End If
Next
'For Each Ctrls In Controls
' If TypeOf Ctrls Is TextBox Then
' Ctrls.Text = ""
' ElseIf TypeOf Ctrls Is ComboBox Then
' Ctrls.Clear
' End If
'Next
End Sub
J'ai bien regardé dans les différents messages qui parlent de ça.
Je ne comprends pas pq ça ne fonctionne pas chez moi ...
Si qqn peut m'éclairer ?
J'ai trouvé !
1°) En fait, j'ai un un miltipage et aussi des formulaires dans un formulaire.
Ce qui veut dire qu'il faut le faire au niveau du formulaire enfant et pas du formulaire parent comme je faisais (FrmPlainte).
Je n'avais pas su le déchiffrer dans les autres messages du forum, mais voilà, maintenant c'est bon
2°) De plus, avec TypeOf, ça ne fonctionne pas, mais bien avec left$.
Mais j'ai dû encore changer car les noms de mes TextBox sont du style BoxNomPlgt, BoxPrenomPlgt et mes comboBox du style CboVillePlgt, CboCodePostPlgt, ...
Donc, avec le code ci-dessous, ça marche !
For Each ctrls In FrmPlaignant.Controls
If Left$(ctrls.Name, 3) = "Box" Then
ctrls.Text = ""
ElseIf Left$(ctrls.Name, 3) = "Cbo" Then
ctrls.Text = ""
End If
Next
For Each ctrls In FrmContrevenant.Controls
If Left$(ctrls.Name, 3) = "Box" Then
ctrls.Text = ""
ElseIf Left$(ctrls.Name, 3) = "Cbo" Then
ctrls.Text = ""
End If
Next
For Each ctrls In FrmPlainte.Controls
If Left$(ctrls.Name, 3) = "Box" Then
ctrls.Text = ""
ElseIf Left$(ctrls.Name, 3) = "Cbo" Then
ctrls.Text = ""
ElseIf Left$(ctrls.Name, 5) = "Check" Then
ctrls.Value = False
End If
Next
Ouf, voilà un problème résolu.
Merci pour les recherches !
1°) En fait, j'ai un un miltipage et aussi des formulaires dans un formulaire.
Ce qui veut dire qu'il faut le faire au niveau du formulaire enfant et pas du formulaire parent comme je faisais (FrmPlainte).
Je n'avais pas su le déchiffrer dans les autres messages du forum, mais voilà, maintenant c'est bon
2°) De plus, avec TypeOf, ça ne fonctionne pas, mais bien avec left$.
Mais j'ai dû encore changer car les noms de mes TextBox sont du style BoxNomPlgt, BoxPrenomPlgt et mes comboBox du style CboVillePlgt, CboCodePostPlgt, ...
Donc, avec le code ci-dessous, ça marche !
For Each ctrls In FrmPlaignant.Controls
If Left$(ctrls.Name, 3) = "Box" Then
ctrls.Text = ""
ElseIf Left$(ctrls.Name, 3) = "Cbo" Then
ctrls.Text = ""
End If
Next
For Each ctrls In FrmContrevenant.Controls
If Left$(ctrls.Name, 3) = "Box" Then
ctrls.Text = ""
ElseIf Left$(ctrls.Name, 3) = "Cbo" Then
ctrls.Text = ""
End If
Next
For Each ctrls In FrmPlainte.Controls
If Left$(ctrls.Name, 3) = "Box" Then
ctrls.Text = ""
ElseIf Left$(ctrls.Name, 3) = "Cbo" Then
ctrls.Text = ""
ElseIf Left$(ctrls.Name, 5) = "Check" Then
ctrls.Value = False
End If
Next
Ouf, voilà un problème résolu.
Merci pour les recherches !
phil_232
Messages postés
286
Date d'inscription
jeudi 6 décembre 2007
Statut
Membre
Dernière intervention
12 juin 2008
33
8 févr. 2008 à 21:39
8 févr. 2008 à 21:39
si tu utilise les préfix standard de MS tu pourrais écrire
select case left(ctrls.Name, 3)
case "cbo", "txt" : ctrls:Text = ""
case "chk" : ctrls.Value = False
end select
select case left(ctrls.Name, 3)
case "cbo", "txt" : ctrls:Text = ""
case "chk" : ctrls.Value = False
end select