Test conditionnel en VBA - VB/VBA/VBS - Programmation
Marsh Posté le 12-02-2004 à 10:34:15
En VBA ? ou simplement en utilisant les fonctions d'excel ?
Dans ce dernier cas la fonction SI permettra de résoudre le problème. L'aide en ligne d'excel te serait utile.
Marsh Posté le 12-02-2004 à 10:58:56
Salut Itela,
mon niveau en excel ne me permet pas d'imbriquer autant de SI, alors si tu as une solution ?
Marsh Posté le 12-02-2004 à 13:37:48
salut,
voici une solution rapide même si peu élégante. Mais ça marche :
Sub Test() 'Cherche si une des valeurs est "C" sinon "B" sinon "A"
' On peut faire bien plus élégant mais pas le temps !
trouvé = ""
For i = 5 To 8
If Cells(i, 2) = "C" Then 'Balaye les lignes de 5 à 8 dans la colonne "B"
[EDIT] valeur = "C" ==> trouvé = "C"
Exit For 'Inutile de continuer
End If
Next i
If trouvé = "" Then
For i = 5 To 8
If Cells(i, 2) = "B" Then
[EDIT] valeur = "B" ==> trouvé = "B"
Exit For 'Inutile de continuer
End If
Next i
End If
If trouvé = "" Then
For i = 5 To 8
If Cells(i, 2) = "A" Then
[EDIT] valeur = "A" ==> trouvé = "A"
Exit For 'Inutile de continuer
End If
Next i
End If
Cells.Range("C5" ) = trouvé 'Affiche le résultat dans la cellue "C5" du tableur
End Sub
Marsh Posté le 12-02-2004 à 15:05:13
Je te remercie beaucoup, mais celà ne donne aucun résultat.
Ou dois-je mettre le code. Je l'ai placé dans la feuille. Rien alors je l'ai placé dans un module standard. Idem !!
Marsh Posté le 12-02-2004 à 16:15:37
C'est normal : j'ai fait une bourde.
Remplace toute les occurences de la variable "valeur" par "trouvé" ; ça devrait mieux le faire.
Après tu mets le code où tu veux !
A+
Marsh Posté le 12-02-2004 à 16:40:22
Eh Bien ça marche et je te remercie encore
A+
Marsh Posté le 11-03-2004 à 11:22:07
Ne t?embête pas avec une macro pour cela :
=SI(NB.SI($B$5:$B$7;"B" )>0;"C";SI(NB.SI($B$5:$B$7;"B" )>0;"B";"A" ))
@+
Marsh Posté le 11-03-2004 à 11:28:20
Erreur dû à un copie/coller trop hâtif!
=SI(NB.SI(B$5:B$8;"C" )>0;"C";SI(NB.SI($B$5:$B$8;"B" )>0;"B";"A" ))
Désolé!
Marsh Posté le 12-02-2004 à 10:01:51
Bonjour,
Voilà mon pb : comment écrire en VBA le test suivant :
de B5 à B8,mes cellules comportent des lettres : A, B ou C.
Si la lettre C est présente dans la plage B5:B8 celà doit me donner C;
Si la lettre C n'est pas présente, je teste si B éxiste dans ce cas celà me donne B;
Si C et B ne sont pas présente celà doit me donner A.
Merci pour l'aide
---------------
Miguel69