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 :

Exécuter une macro avec une touche du clavier


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2010
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 63
    Par défaut Exécuter une macro avec une touche du clavier
    Bonjour à tous,

    j'expose mon problème : j'ai une macro qui crée un nombre de lignes en fonction d'une valeur entrée dans une cellule. J'ai donc une cellule où je demande à l'utilisateur de rentrer un nombre, puis il clique sur un bouton de commande et les lignes apparaissent en-dessous. Cela marche tres bien.

    Mais est-il possible d'éviter le passage par ce bouton de commande, et qu'en appuyant simplement sur Entrée après avoir écrit le nombre dans la cellule les lignes apparaissent? En gros, éxecuter une macro avec une touche du clavier.

    Merci d'avance pour vos réponses !

  2. #2
    Membre Expert Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Par défaut
    Salut,
    Tu peux faire en sorte que la macro se déclenche dès que la cellule est modifiée, c'est un évènement sur feuille.

    Fais un click droit sur ton onglet et ensuite Voir code (ou un truc du genre, je suis en anglais), là tu te retrouve dans le module de feuille.
    En sélectionnant Worksheet dans la liste de gauche (en haut), tu as la possibilité de choisir entre différents évènement dans la liste de droite.

    Pour ton cas, c'est l'évènement Change, qui se déclenche quand une cellule est modifiée, la cellule modifiée est liée à la variable Target.
    Si dans ton cas, l'utilisateur entre le nombre de ligne en A1, voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address <> "$A$1" Then Exit Sub
     'colle ici ton code actuel qui ajoute les lignes
     
    End Sub
    A+

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2010
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 63
    Par défaut
    Merci, ça marche parfaitement !

    Il y a autre chose que j'aurais aimé faire, je te demande ton avis, sans vouloir abuser

    Ma macro me crée donc 3 lignes si l'utilisateur rentre 3 dans sa cellule. Mais imaginons qu'il se soit trompé, et qu'il veut en mettre 4 par exemple. Il va donc taper 4 dans la cellule, et 4 nouvelles lignes se créent. Mais ces dernieres s'ajoutent aux 3 précedentes... On a donc 7 lignes...

    Alors comment fair pour que les X lignes précedentes s'effacent en cas de nouvelle acquisition dans la cellule? Je commence à y reflechir, mais si tu as une idée (ou quelqu'un d'autre ) je suis evidemment preneur.

    En tout cas merci encore pour ta réponse !

  4. #4
    Membre Expert Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Par défaut
    Re,
    Dis nous en plus sur le but final de ton fichier, il entre un nombre de ligne, si il ne se trompe pas que ce passe t'il ?
    Il saisi des données sur les lignes crées et ensuite ?
    Aussi, qu'appelles tu création de ligne ?
    A+

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2010
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 63
    Par défaut
    Re

    oui exactement, une fois les lignes créées, l'utilisateur peut les remplir.
    J'ai joint un petit visuel pour illustrer cela :

    A gauche, la feuille de calcul au début.
    A droite, l'utilisateur a rentré 2 villes, et 2 lignes qu'il va pouvoir remplir sont créées (en vérité 1 ligne supplémentaire est toujours créée, avec les noms des différentes catégories - la ligne d'entête). Cette création de lignes décale les autres rubriques vers le bas.
    Et voila le problème, si l'utilisateur rentre 2 villes, puis veut en ajouter une autre, 3 lignes supplémentaires sont créées... Avec en + une nouvelle ligne d'entête à chaque fois...

    J'espère que mon problème est plus clair maintenant, merci !
    Images attachées Images attachées  

  6. #6
    Membre Expert Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Par défaut
    Re,

    Quel est la cellule dans laquelle tu entre le nombre de ville ?

    Une fois les cellules bleues remplies, que ce passe t'il?
    Comment la feuille est-elle réinitialisée?

    Désolé de poser ces questions mais c'est pour trouver la solution la plus adéquoite

    A+

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 11h17
  2. Déplacer une courbe avec les touches du clavier
    Par juliette78 dans le forum MATLAB
    Réponses: 7
    Dernier message: 20/03/2014, 11h51
  3. [XL-2003] Désactiver une macro avec une macro
    Par Sibuxian dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 29/10/2010, 00h54
  4. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59
  5. Réponses: 4
    Dernier message: 15/10/2009, 13h33

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