Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1021 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Test conditionnel en VBA

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Test conditionnel en VBA

n°639965
miguel69
Fô bien s'entraider non ?
Posté le 12-02-2004 à 10:01:51  profilanswer
 

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
mood
Publicité
Posté le 12-02-2004 à 10:01:51  profilanswer
 

n°640025
itela
Posté le 12-02-2004 à 10:34:15  profilanswer
 

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.

n°640098
miguel69
Fô bien s'entraider non ?
Posté le 12-02-2004 à 10:58:56  profilanswer
 

Salut Itela,
mon niveau en excel ne me permet pas d'imbriquer autant de SI, alors si tu as une solution ?


---------------
Miguel69
n°640330
itela
Posté le 12-02-2004 à 13:37:48  profilanswer
 

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


Message édité par itela le 12-02-2004 à 16:19:39
n°640491
miguel69
Fô bien s'entraider non ?
Posté le 12-02-2004 à 15:05:13  profilanswer
 

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 !!


---------------
Miguel69
n°640624
itela
Posté le 12-02-2004 à 16:15:37  profilanswer
 

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+

n°640658
miguel69
Fô bien s'entraider non ?
Posté le 12-02-2004 à 16:40:22  profilanswer
 

Eh Bien ça marche et je te remercie encore
A+


---------------
Miguel69
n°640778
itela
Posté le 12-02-2004 à 18:33:39  profilanswer
 

De rien !  :)

n°670607
SdQY
La paresse fatigue le cerveau
Posté le 11-03-2004 à 11:22:07  profilanswer
 

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" ))
 
@+

n°670611
SdQY
La paresse fatigue le cerveau
Posté le 11-03-2004 à 11:28:20  profilanswer
 

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é!

mood
Publicité
Posté le 11-03-2004 à 11:28:20  profilanswer
 

n°673735
miguel69
Fô bien s'entraider non ?
Posté le 15-03-2004 à 08:19:24  profilanswer
 

:hello: Merci pour ta réponse
A+


---------------
Miguel69

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Test conditionnel en VBA

 

Sujets relatifs
Test de chaine inclu dans une autreaide sur VBA / excel
Excel 2000 - ou trouver la version 6.3 de VBAbesoin d'aide sur excel/ VBa
testVBA Excel : image feuille 1 A1 = image feuille 2 A47
[Vba] question sur la methode add dans la collection workbookproblème avec les library VBa access 2000
VBA excell (lire fichiers dans multiples sous répertoires)manipuler des valeur de champs en VBa sous access
Plus de sujets relatifs à : Test conditionnel en VBA


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR