Problème select case

Résolu/Fermé
Ariitea1 Messages postés 5 Date d'inscription vendredi 19 septembre 2014 Statut Membre Dernière intervention 19 septembre 2014 - Modifié par pijaku le 19/09/2014 à 14:38
Ariitea1 Messages postés 5 Date d'inscription vendredi 19 septembre 2014 Statut Membre Dernière intervention 19 septembre 2014 - 19 sept. 2014 à 12:51
Bonjour,

J'ai un souci j'ai cette ligne de code en vba sous excel mais je n'arrive pas à faire afficher la valeur de S qui reste a 0 pourtant R est initialisé en fonction du case, mais je pense qu'il ne trouve pas R pour faire donner la valeur finale de S qui reste a 0 mais je ne trouve pas le problème pouvez vous m'aidez s'il vous plait ? :

Private Sub CommandButton1_Click()

Dim R As Single
Dim H As Integer
Dim S As Integer

H = Heure.Value
Cat = Categorie.Value

If H < 39 Then
 MsgBox "Erreur L'heure est basé au minimum à 39 heures"
End If

Select Case Cat
    Case SQ:
        R = 1000
    
    Case OQ:
        R = 1300
    
    Case TS:
        R = 1600
    
    Case AM:
        R = 2000
        
    Case I:
        R = 2400
End Select

If H > 43 Then
    S = (39 * R) + (3 * R * 1.25) + ((H - 42) * R * 1.5)
Else
    If H > 39 And H < 43 Then
        S = (39 * R) + (3 * R * 1.25)
    
    Else
        S = H * 39
    End If
End If

msg = "Votre Salaire est de " & S & " Vous avez fait " & H & " heures de travail au poste de " & Cat
Salaire.Caption = msg
End Sub


5 réponses

ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 428
Modifié par ccm81 le 19/09/2014 à 12:06
Bonjour

1. Qui est Categorie dans Cat = Categorie.Value
si c'est le nom d'une cellule c'est Range("Categorie").Value
2. Qui est OQ dans Case OQ:
si c'est une des valeurs de Cat , c'est Case "OQ":

Si ça ne fonctionne pas, peux tu envoyer la partie concernée de ton fichier au format excel 2003 sur cjoint.com et joindre le lien obtenu à ton prochain message

Cdlmn
0
Ariitea1 Messages postés 5 Date d'inscription vendredi 19 septembre 2014 Statut Membre Dernière intervention 19 septembre 2014
Modifié par Ariitea1 le 19/09/2014 à 12:27
Bonjour,

1. Categorie est une liste déroulante (je l'ai initialisé moi même avec addItten. " ")

2. OQ est une des valeur de cette liste déroulante.

3. Je peux t'envoyer le fichier par mail ? car je ne connais pas Cjoin.com et les manipulation à faire.

PS : c'est mon tout premier poste :/
0
Ariitea1 Messages postés 5 Date d'inscription vendredi 19 septembre 2014 Statut Membre Dernière intervention 19 septembre 2014
19 sept. 2014 à 12:32
Non enfaîte mon problème n'est pas dans le Select case mais dans mes IF mais je ne trouve pas pourquoi.
0
Ariitea1 Messages postés 5 Date d'inscription vendredi 19 septembre 2014 Statut Membre Dernière intervention 19 septembre 2014
19 sept. 2014 à 12:48
Il m'indique un dépassement de capacités dans le S = (39 * R) + (3 * R * 1.25) + ((H - 42) * R * 1.5)
0

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

Posez votre question
Ariitea1 Messages postés 5 Date d'inscription vendredi 19 septembre 2014 Statut Membre Dernière intervention 19 septembre 2014
Modifié par pijaku le 19/09/2014 à 14:39
Solution :

1. Les "" :

Select Case Cat 
Case "SQ": 
R = 1000 

Case "OQ": 
R = 1300 

Case "TS": 
R = 1600 

Case "AM": 
R = 2000 

Case "I": 
R = 2400 
End Select 


2: Changer R et S en Long pour évité le dépassement de capacités et le programme marche.

Merci pour l'aide ;)
0