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 :

Macro Excel userfrom


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur en Amélioration Continue
    Inscrit en
    Juillet 2017
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur en Amélioration Continue
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2017
    Messages : 16
    Par défaut Macro Excel userfrom
    Bonjour à tous,

    Dans le cadre d’un fichier Excel que je souhaite réaliser, j’ai besoin d’utiliser une macro.
    Vous trouverez ci-joint le fichier Excel afin de faciliter la compréhension de mes questions et ce que je souhaite obtenir.

    Dans un premier temps, il y a :
    • Une feuille « ville » qui reprend des données (Région, département, Ville, En France ?)
    • Une autre feuille « macro », qui contient la macro

    Sur cette dernière feuille, j’aimerai lorsque je rempli la macro, dès que « oui » apparait dans la case de « En France ? » cela m’ouvre automatiquement le deuxième userfrom.
    Pour l’instant je suis obliger de passer par « Autres » pour ouvrir le second UserFrom et j’aimerai supprimer cette case « autres » afin de rendre la macro plus automatique.

    Dans le cas idéal :

    1) Dans la première feuille, PAU est en France. Donc dans ma macro lorsque je vais écrire « Pau », « oui » va apparaitre tout seul dans « Enfrance ? », et le deuxième userfrom va apparaitre dès que j’aurai remplie toutes les autres données (région et département) car c’est très important.
    On remplie le deuxième UserFrom, et là (ce que je n’arrive pas à faire) c’est insérer les réponses de userfrom2 mais aussi celles de userfrom1. Et dés que l’on clique sur « insérer » cela nous fait sortir de la macro

    2)Dans la première feuille j’ai aussi, Los Angeles qui n’est pas en France. Donc dans ma macro lorsque je vais écrire « Los Angeles », « non » va apparaitre tout seul dans « Enfrance ? », et le deuxième userfrom ne va pas apparaitre.
    J’ai alors un bouton « insérer » qui apparait pour valider les réponses précédentes (région, département, ville, en France). Et dès que l’on clique dessus, la macro disparait

    Voilà en gros ce que je voudrais avoir comme résultats à la fin. Je sais que c’est un peu brouillon comme explications. N’hésitez pas si vous avez des questions.

    Je vous laisse mon fichier à porter de mains si vous arrivez à trouver des solutions. J’ai commencé la macro mais il faut la rendre plus automatique.
    Je vous en serai très reconnaissant car c’est un projet très ambitieux.
    Cordialement

    TEST.xlsm

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Vous trouverez ci-joint le fichier Excel afin de faciliter la compréhension de mes questions et ce que je souhaite obtenir.
    En général et je ne dis pas que c'est ton cas, le fait de déposer un classeur à télécharger ne facilite en aucun cas la compréhension des intervenants mais facilite je pense le questionneur qui évite ainsi d'exprimer clairement la manière dont sont organisées ces données avec éventuellement le dépôte d'une image qui illustre les propos.
    Tout au long de ton "explication", tu évoques un UserForm et une macro dont tu ne publies rien.

    Si tu souhaites obtenir des réponses pertinentes soit plus explicite dans tes explications
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur en Amélioration Continue
    Inscrit en
    Juillet 2017
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur en Amélioration Continue
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2017
    Messages : 16
    Par défaut Réponse
    Bonjour Philippe,

    Le problème est complexe, je vais le scinder en 2 parties.

    1) Comment fait on pour faire apparaitre un UserFrom4 en fonction de la valeur d'un UserFrom3 ?

    Je m'explique. Quand je rentre "oui" dans le TextBox de UserFrom3, je voudrais que le UserFrom4 s'ouvre tout seul (automatiquement).

    Vous avez une image qui facilite la compréhension.
    Merci

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    Que répondre à cette question rudimentaire ?
    Ceci (et je n'irai pas plus loin) :
    - Lorsque l'on quitte une textbox, son évènement exit est déclenché. C'est dans le code de cette procédure évènementielle, que tu dois écrire les instructions à exécuter
    - la méthode Show permet d'afficher un userform
    - on ne peut afficher un second userform modal depuis un userform lui-même modal. S'intéresser à la propriété ShowModal d'un userform

    Je te suggère de commencer à ouvrir ton aide VBA (c'est un minimum) sur chacun des mots que j'"ai mis en rouge. Et de lire.

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur en Amélioration Continue
    Inscrit en
    Juillet 2017
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur en Amélioration Continue
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2017
    Messages : 16
    Par défaut
    Bonjour,

    Désolé de ne pas poser des questions à la hauteur de vos compétences,
    J'ai, pour la première fois, créé une macro hier soir. Il est donc difficile pour moi de comprendre toutes les fonctionnalités de cet outil.

    C'est pour celà que je me suis dirigé vers ce forum afin d'avoir des réponses fiables, réactives, mais surtout pertinentes.

    Je prend en compte votre réponse, dû à ma question "rudimentaire" malgré le fait que ce n'était pas utile de la qualifier.

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Quand je rentre "oui" dans le TextBox de UserFrom3, je voudrais que le UserFrom4 s'ouvre tout seul (automatiquement)
    Exemple de l'ouverture d'un UserForm nommé UserForm2 si l'on a entré "OUI" dans le contrôle TextBox1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
     If Me.TextBox1.Value = "OUI" Then
      UserForms.Add("userForm2").Show
     End If
    End Sub
    Le problème numéro 1 et qui est classique lorsque l'on teste une chaîne de caractères. Que se passe t'il si l'utilisateur ne respecte pas la casse ou encore si par mégarde il ajoute un caractère espacé ?
    Le UserForm ne va pas s'afficher.
    Donc le test doit être plus affiné en utilisant ce test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If LCase(Trim(Me.TextBox1.Value)) = "oui" Then
    Ce qui suppose un minimum de connaissance des fonctions texte de VBA
    L'utilisation de la ligne UserForms.Add implique que l'on connaisse la notion de collection et ce que c'est qu'une méthode
    Je pense que la réponse de Unparia que je salue au passage, même si elle semble abrupte, met en lumière qu'un minimum de connaissance est impératif pour développer.

    Quand on débute, on essaye de petite chose. Appeler un formulaire depuis un formulaire est déjà d'un niveau supérieur à un débutant.

    Quand je donne cours de VBA de base, j'explique ce que c'est qu'un objet, une méthode, une propriété, un événement et une collection. J'apprends également les structures séquentielles, répétitives et décisionnelle et enfin j'explique ce que c'est que l'éditeur, le débogage, l'interception d'erreur, etc. Ce cours prends 3 jours et je ne prétend pas qu'au bout de ces journées, le stagiaire sera capable de programmer mais au moins il aura un aperçu et pourra se débrouiller. Le reste est une question de motivation, de curiosité et d'expérience.

    Si tu ne suis pas de formation, tu as la possibilité de t'instruire en lisant les tutoriels de developpez.com qui sont très riches d'enseignements.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

Discussions similaires

  1. Supression de macro Excel et module en VBA
    Par Sammy dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 17/10/2005, 10h25
  2. Macro excel perso.xls et évènement commandButton1_click()
    Par Annie dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 30/09/2005, 19h05
  3. [macro Excel]
    Par Mugette dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/09/2005, 09h54
  4. débutant en VBA je n'arrive pas à finir ma macro excel
    Par jeanpierreco dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 19/01/2005, 12h20
  5. Porter une macro Excel vers OpenOffice
    Par totofweb dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 13/07/2004, 13h20

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