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 :

Lancer une macro avec textbox en appuyant sur entrer


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2019
    Messages : 4
    Par défaut Lancer une macro avec textbox en appuyant sur entrer
    Bonjour à tous.

    Je me suis mis au VBA il y a deux jours.

    Je cherche a lancer plusieurs macro a la suite avec la touche Entrer dans une textbox.

    exemple : si je tape "Macro1" dans ma textbox, cela me lance la Macro1 au moment ou j’appuie entrer.

    dans l'idéale, après pression sur la touche entrer, effacer le texte de la textbox et replacer le curseur dans la textbox (prêt à écrire une nouvelle macro)

    j'ai cherché un peu partout sur les forum et le net mais aucun cas ne correspond au miens ou alors les code ne fonctionne pas (ou je les utilise mal) :/

    je suis sous office 365 ou office 2013 (au choix)

    pouvez vous m'aidez ?

    merci beaucoup !

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Select Case TextBox1
    Case "Macro1"
        Call Macro1
    Case "Macro2"
        Call Macro2
    Case "Macro3"
        Call Macro3
    End Select

  3. #3
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Bonjour,

    Ou bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.Run Txt_matextbox.Text

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2019
    Messages : 4
    Par défaut Merci !
    Whaou... vous êtes incroyable ! sa fait 6h que je passe dessus ! merci beaucouppppppp

    par contre a la fin du traitement le "curseur" reste sur la celule modifiée.

    Quelqu'un sais quelle commande mettre pour revenir sur ma textbox ? si possible en effaçant tout les caractère précédement tapé dans la textbox ?

    Merci encore vous devriez être payé pour ça !!

  5. #5
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Salut,

    Voir la méthode et la propriété Plus d'informations dans ce tutoriel

    Une remarque cependant
    Pourquoi ne pas utiliser plutôt une zone de liste déroulante (Combobox), ceci pour une plus grande souplesse d'utilisation et un risque d'erreur de saisie moindre.
    Pour l'initialiser, utiliser la propriété (=...)

    Voir le même tutoriel, ainsi d'ailleurs que tout l'espace - fondamental - de Silkyroad pour information.

    Sache aussi que notre seul salaire est la gratitude de nos interlocuteurs (moi-même en faisant partie), et, pourquoi pas, un petit .

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2019
    Messages : 4
    Par défaut Retour a la textbox
    ça ne fonctionne pas :/

    j'ai ajouté "Setfocus.text" a la fin du code mais j'ai toujours le curseur qui reste sur la cellule modifiée.

    j'ai également essayé d'y ajouter le nom de la textbox a la suite mais cela ne fonctionne pas.

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Carte_Change()
    Select Case Carte
    Case "1"
        Call Macro1
    Case "2"
        Call Macro2
    Case "3"
        Call Macro3
    End Select
    SetFocus.Text
    End Sub
    Y voyez vous un problème ?

    j'ai aussi essayé avec une formule trouver dans ton tuto

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    With Carte
    .SetFocus
    .SelStart = 0
    .SelLength = Len(Textbox1.Text)
    End With
    Mais cela bloque à ".Setfocus"

    :/

  7. #7
    Membre Expert Avatar de Transitoire
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Décembre 2017
    Messages
    732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Décembre 2017
    Messages : 732
    Par défaut
    Bonsoir, je verrais plutôt quelque chose du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    With Textbox1
                 .Text = ""   'Remet le TextBox1 a" zéro"
                 .SetFocus   'Redonne le focus à TextBox1
    End with
    Il faudra peut-être l'adapter à votre programme
    Cordialement

  8. #8
    Membre éclairé
    Homme Profil pro
    instituteur
    Inscrit en
    Juillet 2018
    Messages
    615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : instituteur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 615
    Par défaut
    Il est préférable d'utiliser une combobox. Tu crées un tableau dans une feuille pour l'alimentation de la combobox
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     private sub userform_ activate ()
    Combobox.list= range(" Tableau1").value
    End sub
     
    Private sub combobox_change()
          If combobox.value= " nom1" then
               Userform 2.show
          Elseif combobox.value= " nom2" then
               Userform 3.show
           Else
                Userform 4.show
          End if
    End sub
    À adapter selon tes besoins. A+

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2019
    Messages : 4
    Par défaut Retour a la textbox
    Pareil, ça bloque sur SetFocus

    quand je fait un point, un menu déroulant apparait et me propose des commande. mais bizarrement Setfocus n'est pas dans cette liste.

    es-ce que c'est parce que vous avez installé un module ou add-on supplémentaire ? j'ai comme l'impression que mon excel (365) ne "connais" pas cette commande. je ne sais pas l'expliqué...

    Une combobox ? c'est une liste déroulante ? ça ne correspond pas a mes besoin car j'ai besoin d'executer des macro assez vite (presque une par seconde) du coup je préfère le faire au clavier c'est beaucoup plus rapide que d'utiliser la souris.


    Autre chose : quand j'execute une macrox via la textbox, celle-ci ajoute 1 a la valeur d'un article x avec range ("F4") = ("R6")
    du coup le curseur se déplace sur R6 et y reste. je suis obligé de prendre la souris et cliqué sur ma textbox pour entrer une autre valeur. l'idéale serai de tout faire au clavier.

    j'ai essayé de faire dans le même style en ajoutant range (textbox.select) mais cela ne fonctionne pas.

    Merci encore pour vos réponses je passe au moins une demi heure à exploité chacune d'entre elles, vous m'aidez beaucoup je suis près du but !

  10. #10
    Membre éclairé
    Homme Profil pro
    instituteur
    Inscrit en
    Juillet 2018
    Messages
    615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : instituteur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 615
    Par défaut
    Essaie avec ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Private Sub Userform_Activate()
    Textbox1. Setfocus 
    End Sub
     
    Private sub Textbox_afterupdate()
    Do while Textbox1<>" "
     If Textbox1= "macro1" then
     Unload me
     Userform2.show
     Elseif Textbox2 ="macro2" then
     Unload me
     Userform3.show
     End if
    Userform1.show
    Loop
    End Sub

Discussions similaires

  1. Lancer une macro avec un VBScript, classeur déjà ouvert
    Par lllll7 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/10/2016, 15h22
  2. Lancer une macros d'un fichier X sur un Fichier Y
    Par Lein62 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/05/2013, 12h10
  3. [XL-2007] Lancer une macro lorsque l'on clique sur une cellule
    Par catetesse dans le forum Excel
    Réponses: 3
    Dernier message: 28/09/2012, 11h57
  4. [XL-2007] Lancer une macro avec la fonction "SI"
    Par polder dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/01/2011, 17h24
  5. Lancer une video avec ShadowBox sans cliquer sur le submit
    Par french-petzouille dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 03/10/2008, 09h30

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