IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Effacement d'une form


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 55
    Par défaut Effacement d'une form
    Bonjour je voudrai savoir comment on pourrai faire pour effacer tous les champs d'une form un fois appuyer sur un bouton...

    Pour l'instant j'ai ce code là

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    Private Sub cmdvalid_Click()
    Dim Repaffichage
    Dim ctext As Control
    Repaffichage = MsgBox("Souhaitez-vous ajouter une autre pièce", vbYesNo + vbQuestion, "Ajout d'une pièce")
    If Repaffichage = vbYes Then
     
        For Each ctext In Me.Controls
            If ctext.Name Like "txt_*" Then
                ctext.Value = ""
            End If
        Next
     
        Saisie.Show
     
    Else
            If Repaffichage = vbNo Then
                Total.Show
            End If
    End If
    End Sub
    Et alors ça me mets un message d'erreur Application error

  2. #2
    Expert confirmé
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Par défaut
    ou ça, l'erreur ?

  3. #3
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    Salut
    Dans la boucle tu teste si le contrôle de la collection est de type TextBox avec la fonction TypeOf. Si oui, tu efface le contenu.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 55
    Par défaut
    Non je demande d'effacer tous les champs qui commence par "txt_"

    Mes champs sont appelés ainsi txt_larg, txt_haut...etc

  5. #5
    Membre éprouvé Avatar de Le Pharaon
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 880
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim c as control 
    For Each c In nomFormulaire.Controls
     If Left(c.Name, 4) = "txt_" Then 
       c.text=""
     End If
    Next

  6. #6
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    d'ordinaire, quand on préfixe les noms de champs c'est pour savoir de quel type il sont quand on les programme... ?? J'avais donc conclu que txt_quelquechose était un textBox.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 55
    Par défaut
    Dim c as control
    For Each c In nomFormulaire.Controls
    If Left(c.Name, 4) = "txt_" Then
    c.text=""
    End If
    Next
    est égal (je veux dire que celà mets la même erreur) sur la ligne
    For each ... In ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Dim ctext AS control
    For Each ctext In Me.Controls
            If ctext.Name Like "txt_*" Then
                ctext.Value = ""
            End If
        Next
    Je n'ai pas que des textbox, j'ai aussi 3 combobox dont les noms sont txt_blabla

  8. #8
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut
    Au lieu de essaye Avec cette version, c'"est la priopriété par defaut du composant qui est remis a blanc.

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 55
    Par défaut
    Au lieu de ctext.Value = "" essaye
    ctext = ""
    Oui je veux bien mais j'ai déjà essayé Delbeke merci
    ça me met toujours la même erreur qui est :

    An error was encountered while running this program: Object doesn't support this property or method

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 55
    Par défaut
    Rebonjour, je vous donne le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    Private Sub cmdvalid_Click()
    Total.tot.Text = txt_tot.Text
    Dim Repaffichage
    Repaffichage = MsgBox("Souhaitez-vous ajouter une autre pièce", vbYesNo + vbQuestion, "Ajout d'une pièce")
    If Repaffichage = vbYes Then
    
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    123456
    Dim ctext AS control
    For Each ctext In Me.Controls
            If ctext.Name Like "txt_*" Then
                ctext.Value = ""
            End If
        Next
    Total.nom_p.AddItem Saisie.txt_Compie.Text Total.tot.AddItem Saisie.txt_tot.Text Saisie.Show Else If Repaffichage = vbNo Then Total.nom_p.AddItem Saisie.txt_Compie.Text Total.tot.AddItem Saisie.txt_tot.Text Total.Show End If End If End Sub
    Donc voilà ça donerai mais ça ne marche pas, pourquoi?
    La fonction typeOf L se met à la place de quelle ligne...

    merci en Attente de votre réposne

  11. #11
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    Regarde bien car je crois que c'est la dernière fois qu'on le répète

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        Dim t As Control
        For Each t In Me.Controls
            If TypeOf t Is TextBox Then
                If Left(t.Name, 4) = "txt_" Then
                    t.Text = ""
                End If
            End If
        Next

  12. #12
    Membre éprouvé Avatar de Le Pharaon
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 880
    Par défaut
    @walf80 tu as déjà quelque chose qui marche avec les textbox, ce qui est largement suffisant pour y aller à fond. Faut apprendre à être autonome quand même.

    A bientôt !

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 55
    Par défaut
    Bon je ne veux pas paraître pour un idiot mais ça ne marche pas dsl mais bon laissez tomB c'est pas grave...

Discussions similaires

  1. Effacer définitivement une fiche (Form)
    Par Ardely dans le forum Langage
    Réponses: 13
    Dernier message: 22/03/2011, 08h22
  2. [VB6] [Excel] Feuille dans une form, sans excel installé
    Par ro2v dans le forum Installation, Déploiement et Sécurité
    Réponses: 3
    Dernier message: 05/05/2010, 12h45
  3. Effacer une forme avec clearRect()
    Par slim_java dans le forum 2D
    Réponses: 1
    Dernier message: 15/07/2009, 12h06
  4. [VB6] Effacement d'un dessin lors du deplacement d'une form
    Par Lucas42 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 13/06/2006, 15h11
  5. [VBA Excel] Effacer rapidement une feuille
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 24/10/2002, 13h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo