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 :

conflit entre userform


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    R&D laboratoire
    Inscrit en
    Janvier 2008
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : R&D laboratoire
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2008
    Messages : 83
    Par défaut conflit entre userform
    Bonjour,
    Dans une feuille N°1, un userform offre plusieurs choix de traitement de données aboutissant à la création d'une feuille N°2.
    Dans cette feuille N°2, je souhaite faire apparaître un autre userform en modeless, lequel, après ajout d'info par l'utilisateur doit déclencher un autre traitement aboutissant à une feuille N°3 etc.
    A l'essai, je reçois un message m'indiquant qu'un userform modeless ne peut s'exécuter alors qu'un modal est ouvert (malgré le unload que j'ai mis avant le traitement). Comment éviter ce conflit? et quelle est l'approche rationnelle. Voici deux solutions possibles mais pas forcément élégantes ni rationnelles:
    1. la macro de la feuille 1 crée un bouton de formulaire qui permet après son exécution de faire apparaître le userform 2 modeless (çà doit être mieux avec un bouton activeX mais çà me paraît plus laborieux).
    2. ruser avec des feuilles masquées qui sont érasées sauf un bandeau en en-tête supportant des boutons
    Merci pour m'aider dans la manipulation de ces outils que je maîtrise mal
    Bon week-end, Serge

  2. #2
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour,

    Dans l'ordre des évènements, tu as bien mis le Unload du UserForm1 avant l'affichage du UserForm2 ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub CommandButton1_Click()
    '...procédure
    Unload Me
    UserForm2.Show
    End Sub

  3. #3
    Membre confirmé
    Homme Profil pro
    R&D laboratoire
    Inscrit en
    Janvier 2008
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : R&D laboratoire
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2008
    Messages : 83
    Par défaut
    Merci fring,

    Voici le code du userform 1: il commence par se décharger, puis appelle une procédure qui elle appelle le userform2 non modal.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub CmdOKtri_Click()
      If OptCustom.Value = True Then
        Unload FrmTriMarkerList
        Call MarkersAssoc
      End If
      If FrmTriMarkerList.Visible = True Then Unload FrmTriMarkerList
    End Sub
    Pour l'instant, j'ai une solution temporaire à mon problème cad que la procédure appelée crée un bouton avec lequel l'utilisateur peut appeler le userform 2 une fois la feuille cible renseignée.

    Mon véritable problème maintenant est la conception de la suite de mon application: j'envisageais des feuilles crées par la macro, auxquelles seraient rattachées des userform visibles seulement quand le feuille est active; j'aurais maintenant tendance à sécuriser les choses avec des feuilles masquées, sur lesquelles des boutons seraient pré-positionnés et que ne nettoirais de leur contenu au lancement des procédures qui les appellent.
    Comment gèrerais-tu le problème?
    D'avence merci, Serge,

  4. #4
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Citation Envoyé par Taillise Voir le message
    Comment gèrerais-tu le problème?
    Ne connaissant pas les tenants et les aboutissants, comment veux-tu que je réponde à cette question ??

  5. #5
    Membre confirmé
    Homme Profil pro
    R&D laboratoire
    Inscrit en
    Janvier 2008
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : R&D laboratoire
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2008
    Messages : 83
    Par défaut
    En reformulant de manière plus claire (du moins j'espère):
    1. Mes données cascadent de feuille en feuille.
    2. Elles subissent un traitement dans la feuille n, puis sont dupliquées après traitement dans la feuille n+1 pour en subir d'autres
    3. Pour créer la feuille n+1, je duplique et renomme la copie n+1.
    4. Compte-tenu du point 3, Je souhaitais que l'activation de la feuille "feuil n+1" provoque l'apparition du userform n+1 proposant les macros spécifiques pour la traiter


    l'option du point 3 m'oblige à avoir des commandes "immatérielles" non ancrées dans une feuille pré-existante: est-ce rationnel?

    Alternative: avoir des feuilles pré-existantes qu'on masque/démasque, qui sont automatiquement nettoyées de leur contenu antérieur à chaque traitement mais qui conservent leurs boutons d'option (avec le risque qu'un utilisateur modifie la structure de la feuille)

  6. #6
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Peut-être comme ceci, à la fin de ta procédure qui crée la feuille n+1, tu affiches le userForm en question mais encore une fois, difficile de répondre sans voir la totalité du code et l'explication de ce qu'il est censé faire.

Discussions similaires

  1. Conflit entre javascript et script ASP
    Par Mvu dans le forum ASP
    Réponses: 2
    Dernier message: 22/02/2005, 16h28
  2. Possibles conflits entre GL, GLAUX et GLUT
    Par barthelv dans le forum GLUT
    Réponses: 1
    Dernier message: 19/11/2004, 12h31
  3. Conflit entre bases de données
    Par BRODU dans le forum Bases de données
    Réponses: 4
    Dernier message: 18/10/2004, 11h40
  4. conflit entre couleurs
    Par khayyam90 dans le forum OpenGL
    Réponses: 2
    Dernier message: 03/07/2004, 18h00
  5. [Technique] Conflits entre plusieurs requêtes
    Par Neowile dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 24/03/2003, 09h37

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