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 :

recherche de plusieurs valeur avec condition vba + msgbox


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2018
    Messages : 2
    Points : 1
    Points
    1
    Par défaut recherche de plusieurs valeur avec condition vba + msgbox
    Bonjour à tous,

    J'ai créé un petit programme qui permets de calculer l'IMC d'une personne en VBA en affichant un usf. Jusque là aucun soucis.

    Cependant, j'aimerai rajouter une formule qui : Rechercherai la même valeur dans la colonne A à partir du textbox1 (taille) et rechercherai la valeur du textbox 2 (poids) sur la même ligne pour afficher la valeur de la cellule b1 ou d1 ou f1 etc .. selon la valeurs comprise entre b3 et c3 par exemple de ma valeur de ma textbox 2 et l'afficherai dans ma msgbox.


    Ce qui ferait par exemple sur le msgbox Imc = 50, refus (dans mon usf, "IMC = 50" est déjà incrémenté)

    J'ai commencé à remplir les deux lignes en exemple pour commencer à réfléchir à une piste de formule vba ou excel mais là le cale...

    En espérant avoir été clair, mais c'est un peu difficile d'expliquer cela par écrit...

    Merci d'avance pour votre aide !

    J'ai joint le fichier. imc.xlsm

  2. #2
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonjour,

    Je ne suis pas sûr de bien comprendre mais voilà le code ci-dessous qui retourne la valeur de la ligne 1 par rapport à la taille et au poids :
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    Private Sub CommandButton1_Click()
    Dim var As String
     
     
     
    MsgBox "imc =" & Chr(10) & Val(TextBox2 / (TextBox1 / 100) ^ 2) & Range("w1")
     
    MsgBox IMC(Worksheets("Feuil1"))
     
    End Sub
     
    Function IMC(Fe As Worksheet) As String
     
        Dim Plage As Range
        Dim Cel As Range
        Dim Lig As Long
     
        With Fe: Set Plage = .Range(.Cells(3, 1), .Cells(.Rows.Count, 1).End(xlUp)): End With
     
        Set Cel = Plage.Find(Int(TextBox1.Text), , xlValues, xlWhole)
     
        If Not Cel Is Nothing Then
     
            Lig = Cel.Row
            With Fe: Set Plage = .Range(.Cells(Lig, 2), .Cells(Lig, .Columns.Count).End(xlToLeft)): End With
     
        End If
     
        Set Cel = Plage.Find(Int(TextBox2.Text), , xlValues, xlWhole)
     
        If Not Cel Is Nothing Then
     
            IMC = Fe.Cells(1, IIf(Fe.Cells(1, Cel.Column).Value = "", Cel.Column - 1, Cel.Column)).Value
     
         End If
     
    End Function

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2018
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci, c'est à peu près ça que je voulais, cependant quand je tape une valeur qui est différente de 21 et de 30 mais comprise entre ces chiffres, je n'ai pas le résultat (refus ...). Comment peut-on faire pour incrémenter cela ?

Discussions similaires

  1. [XL-2013] Recherche plus petite valeur avec condition
    Par Migo25 dans le forum Excel
    Réponses: 9
    Dernier message: 22/12/2016, 11h00
  2. [XL-2002] Recherche d'une valeur sur plusieurs feuilles avec conditions
    Par Rat-Thon dans le forum Excel
    Réponses: 4
    Dernier message: 06/12/2013, 12h26
  3. [XL-2003] Recherche valeur avec condition
    Par Jeyjey1 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 01/02/2010, 12h03
  4. Réponses: 2
    Dernier message: 18/09/2008, 18h06
  5. [VBA-E]Recherche d'une valeur avec la colonne comme variable
    Par Corlo dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 25/04/2007, 09h21

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