VB - Excel : recherche des valeurs

dohko1110 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -  
wilfried_42 Messages postés 907 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je suis en train de réaliser un petit projet via Excel 2007 et Vb.

Je souhaite rechercher des valeurs dans Excel en fonction des résultats inscrit dans 2 listes (la premiere est "Niveaux" et la deuxième est "Risque").
Selon le choix, on obtient la selection d'une valeur y qui correspond à la colonne des valeurs.

If Niveaux = "Niveau faible" Then
Y = 4
Else
If Niveaux = "Niveau moyen" Then
Y = 5
Else
Y = 6
End If
End If

Puis je dois déterminer la ligne correspondante puis retirer la valeur dites et l'insérer dans une Textbox (Esp)

For i = 1 To 3
If Risque = "Q" & i Then
Esp = Cells(i + 1, Y)
Else
For u = 1 To 2
If Risque = "A" & u Then
Esp = Cells(u + 4, Y)
Else
For v = 1 To 7
If Risque = "E" & u Then
Esp = Cells(v + 6, Y)
Else
If Risque = "C1" Then
Esp = Cells(14, Y)
Else
Esp = "Erreur"
End If
End If
Next v
End If
Next u
End If
Next i

Je débute en programmation donc c'est surement la méthode dite "bourrin" mais à priori l'erreur vient soit de lde la condition de IF => Risque = "E" & u ou bien de l'envoit des donner dans la TextBox.

En espérant que vous puissiez m'aider.

merci
A voir également:

5 réponses

wilfried_42 Messages postés 907 Date d'inscription   Statut Contributeur Dernière intervention   245
 
bonjour

quand tu fais appel à une cellule il faut lui dire.
2 solutions : Range ou cells
soit : If Risque = range("Q" & i) Then
soit : if risque = cells(i,17) then ' 17 correspond à la colonne 17 soit Q
0
dohko1110 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
En fait, pour les IF ce que je cherche à comparer c'est un objet text.

je m'explique je veux verifier je si Risque = Q1 ou Q2 ou Q3 ou A1 ou A2 et je pensais que faire "Q"&i où i varie, serait equivalent à "Qi".

je pense que c'est la ou ca peche.
j'ai fais ca pour eviter 15 lignes de IF mais c'est surement une erreur.


en tt cas merci de ton aide.
0
torki2 Messages postés 56 Date d'inscription   Statut Membre Dernière intervention   3
 
Salut
vous essayez de concatener une expression caractere avec une valeur numérque ??!! mais ça ne marchera jamais dans la quasi totalité des langages de programmation il faut saisir ceci par exemple :
IF Risque="Q" & STR(TRIM(i)) THEN ....
TRIM pour effacer les espaces
Bon courage ; tiens moi au courant
0
dohko1110 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
Merci de votre aide.

j'ai réussi à régler mon probleme avec la solution de Wilfried ==> Range("C"&i)

Encore merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
wilfried_42 Messages postés 907 Date d'inscription   Statut Contributeur Dernière intervention   245
 
re:

si tes Q & i sont des contrôles textbox, le système est le même mais avec une syntaxe controlbox
if risque = me.controls("Q" & i).value then
0