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 :

Vlookup (ou recherche V) où la valeur à aller chercher est comprise entre 2 autres, pas directement trouvable


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Business Analyst
    Inscrit en
    Octobre 2017
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Business Analyst
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2017
    Messages : 8
    Points : 8
    Points
    8
    Par défaut Vlookup (ou recherche V) où la valeur à aller chercher est comprise entre 2 autres, pas directement trouvable
    Bonjour,

    Je suis à la recherche de la formule qui me permettrait de réaliser l'opération suivante:

    J'ai une valeur à saisir, et a coté une valeur à afficher.
    La valeur à saisir est une série de 5 chiffres [ZIP code US(code postal américain)] / la valeur à afficher est un prix.

    J'ai sur un autre onglet, une grille tarifaire qui traduit un cout par provenance, et où en l'occurence la provenance est régie par le ZIP code...

    Le problème est que la grille n'est pas établie (et ne peut l'être) avec une colonne "ZIP code" et une "Tarif"
    Elle est constituée sur 3 colonne en gros : colonne A "Zip code de ..." / colonne B "Zip code à ..." / colonne C "tarif"

    L'idée sur laquelle je suis parti consiste à faire un vlookup pour demander d'aller rechercher ma valeur saisie, dans telle plage, et de m'indiquer le tarif correspondant... sauf que je ne parviens pas à intégrer la notion de "va me chercher cette valeur" avec la règle "elle doit être comprise entre la valeur de la colonne A et la valeur de la colonne B..."

    J’espère que c'est suffisamment clair, merci par avance de votre aide.

  2. #2
    Membre éprouvé
    Homme Profil pro
    ingénieur d'étude
    Inscrit en
    Juin 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ingénieur d'étude
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2013
    Messages : 563
    Points : 1 141
    Points
    1 141
    Par défaut
    Bonjour,

    Vous pourrez facilement obtenir le résultat souhaité à l'aide de la fonction SOMME.SI.ENS.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Business Analyst
    Inscrit en
    Octobre 2017
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Business Analyst
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2017
    Messages : 8
    Points : 8
    Points
    8
    Par défaut
    Bonjour Ben,

    Merci de votre retour cependant je connais pas la formule ENS.
    Je connais uniquement les formules en anglais, si j'ai pu facilement traduire le SOMME.SI en SUMIF je sèche pour le ENS.

    Pourriez-vous me détailler un peu plus svp votre idée?

    Pour donner un exemple précis de mon besoin:

    Colonne A / Colonne B / Colonne C
    De / à / Prix
    10 000 / 19 999 / $10,00
    20 000 / 29 999 / $11,00
    30 000 / 39 999 / $12,00


    (Je précise que j'ai plus de 200 lignes comme ces 3 en exemples, ce qui m’empêche toute écriture du style SI(ET(valeur>10000;valeur<19999);RECHERCHEV.....)

    si je saisi dans une cellule d'un autre onglet: " 21 000" je veux voir apparaitre dans la cellule voisine: 11$ ... car 21 000 est compris entre 20 000 et 29 999

  4. #4
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 915
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 915
    Points : 5 125
    Points
    5 125
    Par défaut
    Bonsoir
    tu associé le code suivant à un bouton de commande et dans l'inputbox tu saisie le code article tu aura le prix dans un message
    Une proposition à adapter si nécessaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub test()
    Dim Tablo
    Dim CodeRech
    Dim prix
    Dim i As Long
    CodeRech = Application.InputBox("saisir le code article SVP : ", "titre le l'inputbox", , , , , , 1)
    Tablo = Sheets("feuil2").Range("A1", "C" & Sheets("feuil2").Range("C" & Rows.Count).End(xlUp).Row)
    For i = LBound(Tablo, 1) To UBound(Tablo, 1)
        If CodeRech >= Tablo(i, 1) And CodeRech <= Tablo(i, 2) Then
            prix = Tablo(i, 3)
        End If
    Next i
    MsgBox "le prix de l'article est :  " & prix
    End Sub
    Bonne soirée à tous
    --------------------------------------------------------------*****----------------------------------------------------------------------------
    Bonne Continuation & Plein Succès
    Notre seul pouvoir véritable consiste à aider autrui avec modestie
    ______________________________________________________
    Pour dire merci, cliquer sur et quand la discussion est résolue, penser à cliquer sur le bouton

  5. #5
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 438
    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 438
    Points : 16 296
    Points
    16 296
    Par défaut
    Bonjour

    Il suffit de lister les valeurs basse des fourchettes dans l'ordre croissant et la valeur associée et d’utiliser RECHERCHEV avec le 4ème argument à vrai

    Pas besoin de VBA

    Ton tableau ci-dessous est donc utilisable (la colonne B n'est pas utilisée par Excel et ne sert qu'à la compréhension des seuils pour un lecteur)

    Colonne A / Colonne B / Colonne C
    De Prix
    10 000 / 19 999 / $10,00
    20 000 / 29 999 / $11,00
    30 000 / 39 999 / $12,00
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

Discussions similaires

  1. Réponses: 4
    Dernier message: 26/04/2015, 16h55
  2. Réponses: 9
    Dernier message: 19/02/2015, 16h05
  3. [XL-2010] Macro pour aller chercher des données dans un autre fichier
    Par GoToon dans le forum Macros et VBA Excel
    Réponses: 40
    Dernier message: 24/01/2015, 03h52
  4. [AC-2010] Comment rechercher si une période est comprise dans une autre ?
    Par [ZiP] dans le forum Requêtes et SQL.
    Réponses: 17
    Dernier message: 09/03/2014, 18h06

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