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

VBA Discussion :

Vider tous les contrôles d'un formulaire


Sujet :

VBA

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2015
    Messages : 156
    Points : 102
    Points
    102
    Par défaut Vider tous les contrôles d'un formulaire
    Salut tous le monde,

    Je pensais que la commande "Unload Me" permettait de décharger tous les contrôles de leurs précentes informations, mais apparemment je me trompe.

    Donc si j'ai un formulaire, j'y insère quelques informations, je change de formulaire (en utilisant bien "Unload Me" et pas un simple" Me.Hide"), quand je reviens dessus, les informations précédemment insérées y sont toujours.

    Y a-t-il une simple commande pour tous vider ou alors il faut boucler sur tous les contrôles avec un code du style:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim Controle as Control
     
    For each Controle in Me.Controls
        If TypeName(Controle) = "TextBox" Then
     
           Controle.Text = ""
     
        End If 
     
    'Idem pour les autres contrôles...
     
    Next Controle
    Merci d'avance

  2. #2
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Unload décharge bien le formulaire

    si des informations "restent" (ou plutôt "paraissent rester") dans ton formulaire, il y a plusieurs possibilités à analyser

    peux-ton avoir de plus amples descriptions sur :

    - le contenu du userform : types de contrôles et le contenu de ta procédure d'initialisation
    - comment sont générées leur valeur : l'utilisateur les rempli ? l'utilisateur consulte des informations ? autre ?
    - si tu vides tes contrôles avec une boucle sur tous les contrôles, ça règle ton problème ou pas ? (il faut tester !)
    - utilises-tu des fonctions faisant appel aux VBE components ? (qui permet de modifier durablement la valeur par défaut ou la caractéristique d'un contrôle)
    - utilises-tu des "SaveSettings" qui stockent des valeurs ou paramètres dans la base de registre ?
    - utilises-tu la sauvegarde de valeurs et paramètres dans tes cellules excel ?

    pour ce type de problème, il faut vraiment bien expliquer comment tourne le projet

    et je dirai même ... pour aller à l'essentiel et voir ce qui coince, peux-tu nous montrer une copie simplifiée de ton projet, où ce problème est également rencontré ?

  3. #3
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 942
    Points
    55 942
    Billets dans le blog
    131
    Par défaut
    Bonjour Monsieur

    Unload Me décharge le formulaire. S'il reste des données lorsque tu le recharges ou que tu l'affiches (formulaire.Show étant implicitement précédé d'un formulaire.Load), c'est peut-être que tu l'as enregistré alors qu'il était chargé, et il a donc conservé les valeurs des contrôles.

    Une règle à observer pour éviter cela: Toujours enregistrer le projet AVANT de tester...

    Bon dimanche
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  4. #4
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2015
    Messages : 156
    Points : 102
    Points
    102
    Par défaut
    Bonjour Messieurs,

    Merci pour vos réponses Par contre, mille excuses de ma part: en fait, j'ai utilisé des variables publiques pour passer plus facilement des données d'un formulaire à l'autre. Et comme mon formulaire se remplissait via ces variables publiques à l'initialisation, j'avais l'impression que ces données restaient figées.


    Donc problème résolu, il fallait juste que je vide c'est variables lorsque l'utilisateur quitte ce formulaire. Grosse grosse erreur de débutant


    Bien à vous

  5. #5
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 942
    Points
    55 942
    Billets dans le blog
    131
    Par défaut
    Tu pourrais utilement te tourner vers les classes personnalisées (ou au moins les types personalisés) pour éviter les variables publiques, dans le cas où ton formulaire doit exposer les données de différents "objets" ayant une même structure...

    Vois mon tuto à ce niveau-là sur http://fauconnier.developpez.com/art...neral/classes/

    N'hésite pas à m'appeler si nécessaire ( ou à me demander une formation... )
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  6. #6
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2015
    Messages : 156
    Points : 102
    Points
    102
    Par défaut
    Je viens d'y jeter un œil, ça à l'air assez détaillé :o Je m'y plongerai incessamment sous peu !


    Là je me bas avec des dates: les placer dans une cellule, la passer à une variable et puis la replacer dans une autre cellule. Ca cafouille assez vite niveau type

    Mais j'avance petit à petit

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. verrouiller tous les contrôles d'un formulaire
    Par STANDBOY dans le forum IHM
    Réponses: 2
    Dernier message: 07/11/2010, 17h44
  2. [AC-2007] Supprimer tous les contrôle d'un formulaire
    Par othke dans le forum IHM
    Réponses: 0
    Dernier message: 07/07/2010, 12h59
  3. Réponses: 13
    Dernier message: 29/07/2009, 17h12
  4. Effacer tous les contrôles d'un formulaire
    Par guen dans le forum Access
    Réponses: 4
    Dernier message: 08/09/2006, 22h19
  5. Réponses: 1
    Dernier message: 27/10/2004, 15h36

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