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

Macros et VBA Excel Discussion :

Problème d'actualisation d'un UserForm [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juillet 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2017
    Messages : 5
    Par défaut Problème d'actualisation d'un UserForm
    Bonjour à tous,

    Je suis confronté à un problème d'actualisation d'un UserForm sur un projet que j'ai en cours.

    Dans le fichier en PJ, on a 2 feuilles affichées à l'utilisateur :
    • Menu : Feuille permettant à l'utilisateur de lancer la Macro
    • Reception : Feuille permettant la dépose de données pour traitement par Macro


    La Macro en elle-même fonctionne, puisque lors de sa première utilisation, tout fonctionne.

    Toutefois, lorsque l'on souhaite lancer une nouvelle fois la Macro sur un nouveau jeu de données indiqué dans la feuille Reception, l'UserForm garde les valeurs du premier jeu de données. Pour tester, il suffit de modifier la valeur de la cellule I13 de la feuille Reception.

    Le problème est probablement plus large, puisque en lançant la Macro, l'ensemble des valeurs n'est pas mis à jour.

    Seule la fermeture d'Excel permet de traiter plusieurs jeux de données.

    Enfin, la macro pour réinitialiser la valeur des champs contenue dans l'UserForm engendre le même problème : une fois utilisée, impossible de récupérer les valeurs du jeu de données. marco qui fonctionne sur d'autres formulaires d'autres projets...

    Par avance merci de votre aide, et bon courage !

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    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 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    sans avoir ouvert ton classeur, je dirais que tu as tendance à faire des .Hide au lieu de Unload Me.
    Ce qui fait qu'au premier .Show, tu passeras par l'évènement Initialize d'où se remplissent tes champs ... mais pas sur les prochains .Show

    ca c'est pour l'actualisation des champs ... tu utilises Unload OU tu déporte ça dans l'évènement Activate (je déconseille pour éviter les effets de bords !)


    Maintenant, en prolongeant la logique dans laquelle c'est ton Initialize qui porte le traitement de remplissage des champs .... avoir un commandbutton qui va effacer les champs n'ira JAMAIS relancer le traitement présent dans Initialize.
    Je te conseille donc de créer une procédure dédiée au remplissage, que tu pourras donc appeler dans ton Initialize ET dans toute autre procédure de ton choix


    Si ce n'est pas cela, merci de nous montrer le code complet du Formulaire, avec quelques éléments pour qu'on pointe facilement les bonnes parties à regarder

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juillet 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2017
    Messages : 5
    Par défaut Re
    Bonjour Joe,

    Je ne connais pas la méthode Unload. Je vais y regarder de plus près.

    Dans tous les cas, je n'avais pas envisagé qu'un simple Command_button qui efface les champs relance le traitement présent dans Initialize, c'était pour donner une piste

    Dans tous les cas, le fichier en PJ contient le code dans le projet VBA associé. Je le mettrai à jour si j'arrive à aborder la méthode Unload.

    Merci de ton aide, et à plus tard !

  4. #4
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    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 169
    Billets dans le blog
    5
    Par défaut
    c'est comme faire un Hide ! Sauf que tu décharges complètement le Userform


  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juillet 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2017
    Messages : 5
    Par défaut Unload
    @Joe,

    C'était exactement ça : mon initialize commence à l'ouverture de mon UserForm. Le fait d'utiliser la méthode Unload pour terminer la Macro résout complètement mon problème.

    Je te remercie vivement !

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 11/04/2006, 09h07
  2. Problème d'actualisation de stats
    Par L'Oracle dans le forum Access
    Réponses: 7
    Dernier message: 10/04/2006, 10h09
  3. problème d'actualisation sur formulaire access
    Par abhleza dans le forum Access
    Réponses: 5
    Dernier message: 31/03/2006, 08h07
  4. Réponses: 1
    Dernier message: 08/03/2006, 19h30
  5. [Tableaux] Problème d'actualisation affichage
    Par miram dans le forum Langage
    Réponses: 7
    Dernier message: 09/02/2006, 15h14

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