VBA catégorie

Résolu
Clara -  
clara95 Messages postés 9 Statut Membre -
Bonjour,

Dans le programme suivant je veux determiner la catégorie sportive à laquelle appartient une personne en fonction de son age. Je souhaite transmettre le message de ma boite de Dialoque(MSGBox) dans une cellule de feuille de calcul de Excel, C1 (feuille1) par exemple
Pouvez-vous m'aider?

Sub TestSelectCase()
Dim Age As Integer
Dim Categorie As String
Age = Range("B2").Value
Dim R As String

Select Case Age
Case Is <= 10
MsgBox "Un enfant de " & Age & "ans appartient à la catégorie des poussins.", _
3, "sportive", "Catégorie sportive", Categorie = "poussins"
Case 11, 12
MsgBox "Un enfant de " & Age & "Ans appartient à la catégorie des benjamins", _
3, "sportive", "catégorie sportive", Categorie = "benjamins"
Case 12, 13
MsgBox "Un enfant de" & Age & "ans appartient à la catégorie des minimes.", _
3, "sportive", "catégorie sportive", Categorie = "minimes"
Case 14, 15
MsgBox " unjeune de " & Age & " ans appartient à la catégorie des cadets.", _
3, "sportive", "Catégorie sportive", Categorie = "cadets"
Case 16, 17
MsgBox " Un jeune de" & Age & " ans appartient à la catégorie des juiniors.", _
3, "sportive", "Catégorie sportive", Categorie = "juniors"
Case 18 To 34
MsgBox "Une personne de " & Age & " ans appartient à la catégorie des seniors.", _
3, "sportive", "Catégorie sportive", Categorie = "seniors"
Case Is >= 35
MsgBox "Une personne de " & Age & "ans appartient à la catégorie des vétérans.", _
3, "sportive", "Catégorie sportive", Categorie = "vétérans"

End Select

'Erreur est ici
Range("B3").Value = "sa catégorie est" & Categorie
End Sub
Configuration: Windows Vista
Internet Explorer 7.0

1 réponse

  1. Utilisateur anonyme
     
    Bonjour,

    dans la ligne :
    Case Is <= 10
    MsgBox "Un enfant de " & Age & "ans appartient à la catégorie des poussins.", _
    3, "sportive", "Catégorie sportive", Categorie = "poussins"

    la partie :
    Categorie = "poussins"

    est le paramètre [ Context ] de l'instruction MsgBox

    Si je comprends bien votre besoin, vous devriez écrire :

    Option Explicit
    
    Sub TestSelectCase()
    
        Dim Age As Integer
        Dim Categorie As String
        Dim R As String
    
        Age = Range("B2").Value
        
        Select Case Age
            Case Is <= 10
                MsgBox "Un enfant de " & Age & "ans appartient à la catégorie des poussins.", _
                3, "sportive", "Catégorie sportive"
                Categorie = "poussins"
            Case 11, 12
                MsgBox "Un enfant de " & Age & "Ans appartient à la catégorie des benjamins", _
                3, "sportive", "catégorie sportive"
                Categorie = "benjamins"
            Case 12, 13
                MsgBox "Un enfant de" & Age & "ans appartient à la catégorie des minimes.", _
                3, "sportive", "catégorie sportive"
                Categorie = "minimes"
            Case 14, 15
                MsgBox " unjeune de " & Age & " ans appartient à la catégorie des cadets.", _
                3, "sportive", "Catégorie sportive"
                Categorie = "cadets"
            Case 16, 17
                MsgBox " Un jeune de" & Age & " ans appartient à la catégorie des juiniors.", _
                3, "sportive", "Catégorie sportive"
                Categorie = "juniors"
            Case 18 To 34
                MsgBox "Une personne de " & Age & " ans appartient à la catégorie des seniors.", _
                3, "sportive", "Catégorie sportive"
                Categorie = "seniors"
            Case Is >= 35
                MsgBox "Une personne de " & Age & "ans appartient à la catégorie des vétérans.", _
                3, "sportive", "Catégorie sportive"
                Categorie = "vétérans"
        End Select
        
        Range("B3").Value = "sa catégorie est " & Categorie
        
    End Sub
    '
    


    Lupin
    0
    1. clara95 Messages postés 9 Statut Membre
       
      Merci de votre aide !! la programmation fonctionne parfaitement.
      0