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 :

Action automatique via la touche ENTER


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 15
    Points : 8
    Points
    8
    Par défaut Action automatique via la touche ENTER
    Bonjour

    Je recherche la solution au problème suivant :
    Si j'encode des "références produits" dans les cellules à partir de A50 jusqu'à An (n n'est pas défini au départ)
    Dans les cellules voisines
    - colonne C : j'active une fonction "Vlookup"
    - colonne D : une autre fonction "Vlookup"
    - colonne E : une formule de calcul

    L'activation des routines doit se faire via la touche ENTER ou autre.

    Merci d'avance pour votre aide

  2. #2
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Bonjour,

    Si j'encode des "références produits" dans les cellules à partir de A50 jusqu'à An (n n'est pas défini au départ)
    Il faut pourtant que "n" soit défini pour savoir si on est dans ou hors de la plage.

  3. #3
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 471
    Points : 16 351
    Points
    16 351
    Par défaut
    Bonjour

    C'est ce que fait naturellement le tableau au sens Excel 2007-2013 : déclare ta plage de données en tableau et tout se fera tout seul si les formules existent déjà dans les colonnes...

  4. #4
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Bonjour Chris,

    Oui, à condition de ne pas avoir deux tableaux l'un au dessus de l'autre.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par Daniel.C Voir le message
    Bonjour,

    Il faut pourtant que "n" soit défini pour savoir si on est dans ou hors de la plage.
    Bonjour Daniel,

    Peut on mettre la longueur de la colonne en variable ?
    Si non ! on peut la définir sur longueur maximale (ex: 200 références)

    Merci pour votre aide.

    Citation Envoyé par 78chris Voir le message
    Bonjour

    C'est ce que fait naturellement le tableau au sens Excel 2007-2013 : déclare ta plage de données en tableau et tout se fera tout seul si les formules existent déjà dans les colonnes...
    Bonjour Daniel,

    Peux tu me donner un peu plus d'info sur la déclaration de tableau.

    Bàt

  6. #6
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Mets cette macro dans le module de la feuille. Elle se déclenche quand tu entres (ou effaces) une valeur dans la plage A50:A200 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Worksheet_Change(ByVal Target As Range)
        If Intersect(Target, [A50:A200]) Is Nothing Then Exit Sub
        'cells(target.Row,3).formula=applicatiion.vlookup
        'cells(target.Row,4).formula=applicatiion.vlookup
        'cells(target.Row,4).formula=???
    End Sub

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Bonjour Daniel,

    Voici ce que j'ai fait comme test

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Worksheet_Change(ByVal Target As Range)
        If Intersect(Target, [A1:A200]) Is Nothing Then Exit Sub
        Cells(Target.Row, 3).Formula = Application.VLookup(Target.Row, 1, "'Tarif'!$A$2:$E$12000", 2, False)    
    End Sub
    Ça ne fonctionne pas !

    Cordialement

  8. #8
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Bonjour,

    Tu n'étais pas loin :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Worksheet_Change(ByVal Target As Range)
        If Intersect(Target, [A1:A200]) Is Nothing Then Exit Sub
        Application.EnableEvents = False
        Cells(Target.Row, 3).Formula = "=VLookup(" & Cells(Target.Row, 1).Value & ", 'Tarif'!$A$2:$E$12000, 2, False)"
        Application.EnableEvents = True
    End Sub
    En valeur recherchée, j'ai mis Cells(Target.Row, 1).Value modifie au besoin.

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Daniel

    J'ai essayé mais ça ne fonctionne pas !
    Voici mon fichier

    Merci pour ton aide
    Fichiers attachés Fichiers attachés

  10. #10
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Bonjour,

    Désolé, j'avais oublié les guillemets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Worksheet_Change(ByVal Target As Range)
        If Intersect(Target, [A1:A200]) Is Nothing Then Exit Sub
        Application.EnableEvents = False
        Cells(Target.Row, 3).Formula = "=VLookup(""" & Cells(Target.Row, 1).Value & """, 'Tarif'!$A$2:$E$12000, 2, False)"
        Application.EnableEvents = True
    End Sub

Discussions similaires

  1. simuler l'action TABINDEX avec la touche ENTER ?
    Par tomguiss dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 09/07/2010, 00h45
  2. Modification action touche enter
    Par oclone dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/12/2008, 09h15
  3. Réponses: 2
    Dernier message: 03/03/2008, 15h02
  4. [JTextField] Déclencher une action avec la touche ENTER
    Par tchoukapi dans le forum Composants
    Réponses: 10
    Dernier message: 19/09/2005, 14h37

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