Reinitialiser toutes les textbox d'une feuille excel

Résolu
fredieuric Messages postés 24 Date d'inscription mercredi 10 juillet 2002 Statut Membre Dernière intervention 2 octobre 2008 - 1 oct. 2008 à 19:29
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Derniè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..."

7 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
1 oct. 2008 à 20:12
salut,

un petit tour sur CODYX pour voir le snippet de jrivet

http://www.codyx.org/snippet_effacer-tous-textbox-userform_304.aspx#979





'Dans un Module



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
3
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
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]

@+: Ju£i€n
Pensez: Réponse acceptée
3
fredieuric Messages postés 24 Date d'inscription mercredi 10 juillet 2002 Statut Membre Dernière intervention 2 octobre 2008 1
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?

Merci d'avance.
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
1 oct. 2008 à 23:26
à tatons... :



Public Sub EffaceTextBox(Sheet1 As Sheet<strike>s</strike>)
    Dim Ctrl As Control
    For Each Ctrl In Sheet1.Controls
        If TypeOf Ctrl Is





MSForms.






TextBox Then Ctrl.Value = vbNullString




    Next
    Set Ctrl = Nothing
End Sub











Private Sub CommandButton1_Click()
Call EffaceTextBox(

Sheets("Feuil1")

)
End Sub






<hr size="2" width="100%" />
Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0

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

Posez votre question
fredieuric Messages postés 24 Date d'inscription mercredi 10 juillet 2002 Statut Membre Dernière intervention 2 octobre 2008 1
2 oct. 2008 à 09:37
Un grand merci, ça fonctionne parfaitement!

fred
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
2 oct. 2008 à 13:56
salut

[../auteur/JRIVET/89254.aspx jrivet]

,

çà peut être utile d'ajouter cette version à Codyx alors
++

<hr size="2" width="100%" />
Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
2 oct. 2008 à 14:58
Salut,
>[../auteur/PCPT/401740.aspx PCPT] : Bah oui... honte à moi, je n'y ai pas pensé

Je vais de ce pas le soumettre

@+: Ju£i€n
Pensez: Réponse acceptée
0
Rejoignez-nous