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 :

SendKeys désactive ou réactive la touche numérique


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    re
    re est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 116
    Par défaut SendKeys désactive ou réactive la touche numérique
    Bonjour,
    Lorsque j'utilise SendKeys peut importe l'appel de touche (exemple SendKeys "{TAB}") ça me désactive ou réactive la touche numérique du clavier à chaque lancement de la macro et ça ne fait pas la fonction demandée.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub ComboBox1_Change()
    Sheets("Formule").Range("A1").Value = ComboBox1.Value
    SendKeys "{TAB}"
    End Sub
    Avez vous une idée

    Win 10 64bits / office 2016

    Merci

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour,

    ne pas utiliser les instructions SendKeys du VBA mais celle de Windows :   CreateObject("WScript.Shell").SendKeys   …

    ___________________________________________________________________________________________________________

         Merci de cliquer sur en bas à droite de chaque message ayant aidé puis sur pour clore cette discussion …

    ___________________________________________________________________________________________________________
    Je suis Paris, Nigeria, New-York, Mogadicio, Barcelone, London, Manchester, Egypte, Stockholm, Istanbul, Berlin, Nice, Bruxelles, Charlie, …

  3. #3
    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 re
    bonjour

    perso j'aimerais bien savoir a quoi te sert ton sendkeys
    ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub ComboBox1_Change()
    Sheets("Formule").Range("A1").Value = ComboBox1.Value
    SendKeys "{TAB}"
    End Sub
    qu'est ce que ton tab est sensé faire ???????????
    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

  4. #4
    re
    re est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 116
    Par défaut
    Merci pour vos réponses
    CreateObject("WScript.Shell").SendKeys "{TAB}"
    Fonctionne mais envoie aussi un active pavé num seul pour chaque lancement

    Vu l'interrogation de patricktoulon je ne dois peut être pas utiliser correctement la fonction désirée qui est de :
    A partir d'un useform dans lequel il y a des combobox qui va cherché une liste de données, lorsque je choisi une valeur en entier la validation ce fait dans la cellule A1 de la feuille mais si cette valeur a une décimale il faut aller à la useform suivante ou faire un TAB pour qu'elle se valide dans la cellule.

  5. #5
    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 re
    je me doutais bien qu'il y avait une histoire de changement de focus soit de cells soit de control activx dans un usf mais changement de userform la je l'ai pas vu venir celle la

    tu veux dire quoi exactement par ceci:
    lorsque je choisi une valeur en entier la validation ce fait dans la cellule A1 de la feuille mais si cette valeur a une décimale il faut aller à la useform suivante ou faire un TAB pour qu'elle se valide dans la cellule.
    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

  6. #6
    re
    re est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 116
    Par défaut
    Citation Envoyé par patricktoulon Voir le message
    je me doutais bien qu'il y avait une histoire de changement de focus soit de cells soit de control activx dans un usf mais changement de userform la je l'ai pas vu venir celle la

    tu veux dire quoi exactement par ceci:
    Exemple :
    B1= 1
    B2 =1,5
    Si dans le choix du combobox je choisi 1 le ControlSource et donc la cellule (A1) ou s'écrit la valeur 1 est validée
    Si dans le choix du combobox je choisi 1,5 le ControlSource et donc la cellule 'A1) ou s'écrit la valeur 1,5 n'est pas validée, seule solution que j'ai trouvé, faire un TAB ou aller à la combobox suivante !

  7. #7
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Citation Envoyé par re Voir le message
    Merci pour vos réponses
    CreateObject("WScript.Shell").SendKeys "{TAB}"
    Fonctionne mais envoie aussi un active pavé num seul pour chaque lancement
    Jamais de mon côté et pourtant testé sur une bonne trentaine de PC différents …

  8. #8
    Invité
    Invité(e)
    Par défaut
    Je voulais dire langage et mon correcteur écrit ce qu'il veut! Pour l'horographe c'est cool, pour la compréhension...

  9. #9
    Invité
    Invité(e)
    Par défaut
    Bonsoir,
    Suivant les langue c'est focus ou setfocus, il m'arrive de me mélanger les pinceaux!

    Prends celui qui convient!

  10. #10
    re
    re est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 116
    Par défaut
    Bonsoir
    visiblement pour Fr c'est SetFocus
    Merci

  11. #11
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Je peux choisir 2?

    Si oui ça justifierait largement l'emploi du SendKeys!

    Si pas validé comboboxSuivante.focus

  12. #12
    re
    re est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 116
    Par défaut
    Oui tant qu'il n'y a pas de décimale y a pas de limite

  13. #13
    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 re
    perso plus tu essaie de t'expliquer plus je suis dans le flou
    tu parle de userform2 maintenant tu parle d'autre cellule

    je vais laisser décanter tout ca et quand ton but sera un peu plus éclairci je reviendrais

    j'ai une très forte conviction qu'il y a confusion sur les objects et leur propriétés de ta part
    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

  14. #14
    re
    re est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 116
    Par défaut
    Cher Expert Eminent Senior,
    Comme tu l'as constaté je ne suis pas un expert :-)
    Avec une image c'est mieux ou veux tu un fichier ?
    Nom : combobox.PNG
Affichages : 1372
Taille : 24,1 Ko

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub ComboBox1_Change()
    Sheets("Formule").Range("A1").Value = ComboBox1.Value
    CreateObject("WScript.Shell").SendKeys "{TAB}"
    ComboBox2.SetFocus
    End Sub
    Merci

  15. #15
    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
    Comme tu l'as constaté je ne suis pas un expert
    Et cela se voit (autant que se voit l'absence de réflexion) ...
    Déjà :
    L'évènement Change d'une combobox survient (comme son nom l'indique très clairement) lorsque le texte de la zone d'édition de la combobox est modifié.
    Ce qui veut dire que si tu y frappes "bonjour", cet évènement surviendra ... 7 fois ! ... et aura des incidences sur ta feuille ... 7 fois

    Mais le ton que tu emploies à l'égard de patricktoulon, que je salue, fait que je te mets un pouce rouge et te laisse personnellement méditer (cela fait du bien, de méditer un peu...)

  16. #16
    re
    re est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 116
    Par défaut
    Merci pour la suggestion, ça fonctionne avec : combobox2.Setfocus j ai erreur avec combobox2.focus seul, c'est normal docteur ? :-)

Discussions similaires

  1. Désactiver et activer la touche Shift
    Par gorille68 dans le forum Sécurité
    Réponses: 3
    Dernier message: 31/03/2018, 18h47
  2. Index désactivés impossible à réactiver
    Par engi dans le forum Firebird
    Réponses: 8
    Dernier message: 01/07/2010, 09h52
  3. désactiver et réactiver l'aide de visual studio
    Par TSniper dans le forum Visual Studio
    Réponses: 0
    Dernier message: 22/04/2010, 22h45
  4. Réponses: 4
    Dernier message: 23/01/2009, 01h54
  5. Désactiver submit par la touche entrée
    Par tom42 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 14/02/2007, 15h16

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