Débutant VBA coince sur RECHERCHEV

Elmios

XLDnaute Nouveau
Bonjour à tous,

je début sous VBA et n'arrive pas à exécuter une fonction RECHERCHEV dans mon userform.

A vrai je suis un peu pommé, j'apprend sur le tas mais là je bloque. Je sais faire la recherchev dans excel, je sais créer un combobox dans vba mais le grand problème est : "comment récupérer le résultat de mes combo, et m'en servir pour rechercher dans ma plage de ma feuille excel ?"

Je vous joint mon fichier excel si quelqu'un veut bien jetter un coup d'oeil !

Le cas ici présent :
Dans mon userform :
1 - je remplis la Profession et le Nombre de Praticiens
2 - je clique sur CALCULER
3 - ca va chercher dans ma feuille 1 du tableur puis trouve la valeur correspondante :
- SI Nb Praticien = 1 ca prend la colonne B​
- SI Nb Praticien > 1 ca prend la colonne C​
Tout cela en fonction de la profession


Merci beaucoup a ceux qui auront au moins le courage de me mettre sur la piste. Dois-je définir une variable, regarder un tutoriel déjà clair... j'avoue en avoir épuisé quelques uns mais j'ai plus les yeux en face des trous là !
 

Pièces jointes

  • Projet Elmios.xlsm
    28.6 KB · Affichages: 60

Elmios

XLDnaute Nouveau
Re : Débutant VBA coince sur RECHERCHEV

Bonjour,

je continue de chercher mais butte toujours sur différents éléménts liés à cela. J'essaie de prendre les problèmes 1 par 1 et m'éfforce déjà de faire fonctionner la RechercheV sans la condition "nombre de praticiens".

Voici le bout de code :
'Le bouton CALCULER renvoie info dans le Label15
Private Sub CommandButton2_Click()
Dim IntTarifLog As Integer
Dim StProf As String

Sheets("Feuil1").Select
Prof = UserForm1.ComboBox1.Value

IntTarifLog = "=VLOOKUP(StProf,R3C1:R9C1,2,FALSE)"
Label15.Caption = "La profession du client est " & StProf & "le tarif est de :" & IntTarifLog

End Sub

CA conduit à une erreur sur ma ligne avec le VLOOKUP mais vu que je fais tout à tatons... pas facile !

Une piste peut être ?
 

Elmios

XLDnaute Nouveau
Re : Débutant VBA coince sur RECHERCHEV

Je me répond à moi même à défaut de mieux :) Ca évitera que quelqu'un perde du temps sur un bout de solution déjà trouvé ! J'ai regardé les autres posts plus vieux sur le forum, j'ai examiné les fichiers excel et réussi a pomper certains morceaux, j'en suis arrivé à cela :

Private Sub CommandButton2_Click()
'Dim IntPrix As Integer
StProf = UserForm1.ComboBox1.Value
Label15.Caption = ""
If ComboBox1.ListIndex = -1 Then Exit Sub
With Sheets("Feuil1")
IntPrix = CStr(.Cells(ComboBox1.ListIndex + 3, 2))
Label15.Caption = "La profession du client est " & StProf & " - le tarif du logiciel est de " & IntPrix
End With
End Sub

Cela fonctionne ! Tout du moins pour la partie RechercheV. Y a plus qu'à inscrire ça dans un SI qui vérifiera à quelle colonne se réferrer et ce sera bon. Si une ame charitable à des indices je suis toujours preneur !

Elmios
 

Elmios

XLDnaute Nouveau
Re : Débutant VBA coince sur RECHERCHEV

Je me répond à nouveau pour faire suivre mon évolution. A force de tâtonner j'ai l'impression que ca ressemble a quelque chose :


Private Sub CommandButton2_Click()

'Définition des variables
CalcProf = UserForm1.ComboBox1.Value
CalcPrat = UserForm1.ComboBox2.Value

'Calcul du prix du logiciel en fonction du nombre de praticiens
With Sheets("Tarif_Log")
If CalcPrat = 1 Then VarPrix = CStr(.Cells(ComboBox1.ListIndex + 3, 2))
If CalcPrat > 1 Then VarPrix = CStr(.Cells(ComboBox1.ListIndex + 3, 3))
End With

'Calcul du prix de la formation
With Sheets("Tarif_Services")
If UserForm1.ComboBox3.Value = "Oui" Then VarForm = Sheets("Tarif_Services").Range("B1").Value Else: VarForm = 0
End With

'Affichage du tarif
Label15.Caption = "La profession du client est " & CalcProf & " - le tarif du logiciel est de " & VarPrix & " €" & " - le tarif de la formation est de " & _
VarForm & " €"

End Sub
 

Statistiques des forums

Discussions
312 492
Messages
2 088 893
Membres
103 982
dernier inscrit
krakencolas