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 :

Appeler un userform a partir d'un meme userform [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 65
    Par défaut Appeler un userform a partir d'un meme userform
    Bonjour a tous,

    J'essaie de faire quelque chose en vba mais je ne sais pas comment faire (et meme si c'est possible).

    Je vous explique mon probleme:

    Dans une feuille excel, j'ai une liste de metiers (colonne A) et des personnes qui occupent un ou deux postes chacune (colonne B). Jusque la, pas de difficulte, je pense.

    Ex:
    Footballeur A
    Handballeur B
    Nageur C
    Gymnaste A

    Sauf que parfois, une personne (disons B) s'en va (donc il faut remplacer son poste) et une personne (A) de la liste veut la remplacer. Il faut alors remplacer la personne A par quelqu'un d'autre et ainsi de suite.
    On peut, bien evidemment, ajouter des personnes a la liste de personnes.

    J'ai donc cree un userform qui demande :
    1) De selectionner le poste et la personne (qui va partir)
    2) De nommer son remplacant. Deux cas:
    - Il n'est pas dans la liste : pas de probleme
    - Il est dans la liste : dans ce cas, une fois dans son nouveau poste, il faut remplacer son (ou ses deux) anciens postes.

    Dans ce dernier cas, je veux que la meme userform s'affiche une fois s'il y a un poste a remplacer et deux fois simultanement s'il y a deux postes a remplacer.

    Reprenons mon exemple precedent:
    - B s'en va et laisse le poste "Handballeur" vacant
    - Je decide de le remplacer par A: je lance mon userform et je dis A remplace B dans son poste de "Handballeur". A laisse libre deux postes : "Footballeur" et "Gymnaste".
    - Je voudrais alors que s'affichent deux userforms simultanement pour pouvoir remplacer les postes "Footballeur" et "Gymnaste"

    Ce que j'ai essayer de faire jusqu'a present, c'etait quand on clique sur le bouton OK de mon userform, le premier poste est remplace et a la fin de la procedure, je fais unload userform et userform.show et ainsi de suite.
    Cela marche tres bien quand il n'y a qu'un poste a remplacer. La ou cela coince, c'est quand il faut remplacer deux postes.

    Je ne sais pas comment (et meme si c'est possible) de lancer une meme userform deux fois simultanement. Avez-vous une solution? Ou une autre maniere de voir le pb?

    J'espere que j'ai ete assez clair.

    Je vous remercie d'avance,

    Pubbins.

  2. #2
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut heu
    bonjour


    c'est tout a fait normal quand tu unload ton usf il est donc mort il ne peut pas reloader

    donc la solution :

    tu change rien a ta macro seulement une chose son "emplacement"

    c'est a dire au lieu de le metre dans le module de luserform tu met cette macro dans un module standard et tu fait appel a cette macro dans le clic du control dans ton usf

    exemple

    dans le module standard
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public mavar as long
    sub macroperso ()
    mavar=mavar+1
    unload userform1
    userform1.show
    userform1.textbox1="bonjour  "& "pour la" & mavar & "fois"
    end sub
    et dans le module de l'userform
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    private commandbutton1.clic()
    macroperso
    end sub

    dans cette exemple a chaque fois que tu va cliquer sur le bouton le usf s'enva et revien et met a jour le textbox


    au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

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

Discussions similaires

  1. Fermeture d'un userform a partir d'un autre userform
    Par VELO1222 dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 04/01/2011, 18h49
  2. Appel d'une routine à partir d'un userform
    Par Blord dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 07/11/2008, 03h53
  3. Réponses: 4
    Dernier message: 01/06/2005, 17h01
  4. [SERVLET]Appel d'un fichier à partir d'une servlet
    Par fchafia dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 17/03/2005, 12h21
  5. appel d'une fonction à partir d'un popup
    Par villeneuvejsp dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 02/12/2004, 17h00

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