VB - Excel : recherche des valeurs
dohko1110
Messages postés
16
Statut
Membre
-
wilfried_42 Messages postés 912 Statut Contributeur -
wilfried_42 Messages postés 912 Statut Contributeur -
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
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:
- VB - Excel : recherche des valeurs
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
- Excel trier par ordre croissant chiffre - Guide
5 réponses
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
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
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.
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.
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
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
Merci de votre aide.
j'ai réussi à régler mon probleme avec la solution de Wilfried ==> Range("C"&i)
Encore merci
j'ai réussi à régler mon probleme avec la solution de Wilfried ==> Range("C"&i)
Encore merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question