fredieuric
Messages postés24Date d'inscriptionmercredi 10 juillet 2002StatutMembreDernière intervention 2 octobre 2008
-
1 oct. 2008 à 19:29
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 2012
-
2 oct. 2008 à 14:58
Bonjour à tous,
Petite questiond'un gros blaireau qui n'arrive à rien faire...
J'essaye (désespéremment...) de reinitialiser toute les textbox d'une feuille excel à 0.
J'ai écrit le code suivant...
Private Sub CommandButton1_Click()
Dim ctrl As Control
For Each ctrl In Sheets("Feuil1").Controls
If TypeOf ctrl Is TextBox Then
ctrl.Value = 0
End If
Next
End Sub
... qui bien entendu refuse de fonctionner (erreur: propriété ou méthode non gérée par cet objet)
Quelqu'un peut-il m'aider avant que je ne balance mon PC par la fenëtre???
Merci d'avance pour votre aide!
"Au moins, avec la mécanique, suffit de regarder pour comprendre..."
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
<hr style="width: 100%; height: 2px;" />
'N'importe ou dans un USerForm
Call EffaceTextBox(Me)
suffit juste de changer userform pourr sheet
<hr size="2" width="100%" />Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 2 oct. 2008 à 08:18
Salut,
>[../auteur/PCPT/401740.aspx PCPT] : merci pour la pub
>[../auteur/FREDIEURIC/12134.aspx fredieuric] : Une feuille ne possède pas de collection Controls. mais elle en possède une autre toutes aussi intéressante OLEObjects
regarde si ceci fonctionne.
Private Sub CommandButton1_Click()
Call EffaceTextBox(ActiveWorkbook.Worksheets("Feuil1"))
End Sub<hr />
Public Sub EffaceTextBox(WS As Worksheet)
Dim Ctrl As OLEObject
For Each Ctrl In WS.OLEObjects
If TypeOf Ctrl.Object Is MSForms.TextBox Then Ctrl.Object.Text = vbNullString
Next
Set Ctrl = Nothing
End Sub<hr />, ----
[../code.aspx?ID=41455 By Renfield]
fredieuric
Messages postés24Date d'inscriptionmercredi 10 juillet 2002StatutMembreDernière intervention 2 octobre 20081 1 oct. 2008 à 23:05
Merci pour cette première réponse, mais j'ai toujours un problème:
Voici le code que j'ai entré dans un module:
Public Sub EffaceTextBox(Sheet1 As Sheets)
Dim Ctrl As Control
For Each Ctrl In Sheet1.Controls
If TypeOf Ctrl Is TextBox Then Ctrl.Value = vbNullString
Next
Set Ctrl = Nothing
End Sub
Puis, lorque j'appuie sur le bouton:
Private Sub CommandButton1_Click()
Call EffaceTextBox(Ma_Feuille)
End Sub
Où Ma_Feuille représente la feuille dans laquelle je veux réinitialiser les textbox...
Erreur obtenue: Type d'argument ByRef incompatible.
????
Vous l'aurez compris, je suis vraiment TRES nul... Quelqu'un peut-il svp me détailler le code à entrer?