IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

utilisation de Select Case


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 52
    Par défaut utilisation de Select Case
    Bonjour,
    je suis entrain de préparer un programme VBA Excel pour le calcul de la date prévue de réception de commandes.
    cette date est calculée à partir de la date de changement du statut de cette commande + une durée estimée pour la réception de cette commande à partir de la date de changement du statut
    la durée éstimée et fonction aussi du mode de transport.
    la première étape j'ai inserrer une nouvelle colonne puis j'ai déclarée des variables aprés çà j'ai utiliée l'instruction Select Case
    mais çà ne marche pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    Sub MacDate_Réception()
        Worksheets("OO_Suivi_Engagement").Columns("F:F").Insert Shift:=xlToRight
        'Statut de la commande
        Dim Statut As String
        'Mode de transport
        Dim Transp As Variant
        'Date de changement de statut
        Dim DayMAJ As Variant
        'Date prévue de réception de la commande
        Dim DayRec As Variant
        DayMAJ = Range("E2")
        Statut = Range("C2")
        Transp = Range("D2")
     
        Select Case Statut
            Case Is = P
                DayRec = DayMAJ + 7
            Case Is = ROS
                DayRec = DayMAJ + 14
            Case Is = RFD
                DayRec = DayMAJ + 21
            Case Is = INC
                DayRec = DayMAJ + 28
            Case Is = SHP
                Select Case Transp
                    Case Is = Air
                      DayRec = DayMAJ + 35
                    Case Is = Sea
                      DayRec = DayMAJ + 49
                    Case Is = Groupage
                      DayRec = DayMAJ + 64
                    Case 0
                      DayRec = DayMAJ + 35
                End Select
            Case RFA
                Select Case Transp
                    Case Is = Air
                      DayRec = DayMAJ + 35 + 14
                    Case Is = Sea
                      DayRec = DayMAJ + 49 + 14
                    Case Is = Groupage
                      DayRec = DayMAJ + 64 + 14
                    Case 0
                      DayRec = DayMAJ + 35 + 14
                End Select
            Case RFC
                Select Case Transp
                    Case Is = Air
                      DayRec = DayMAJ + 35 + 14 + 14
                    Case Is = Sea
                      DayRec = DayMAJ + 49 + 14 + 14
                    Case Is = Groupage
                      DayRec = DayMAJ + 64 + 14 + 14
                    Case 0
                      DayRec = DayMAJ + 35 + 14 + 14
                End Select
        End Select
     
     
    End Sub
    veuillez, s'il vous plaît m'aider à résoudre ce problème
    pour votre information je suis débutant en programation VBA

    Mouna

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Bonjour,
    Je n'ai pas bien étudier ta macro mais commence par changer tes Case IS par
    exemple..
    à la place de
    Quand c'est modifié revient avec ton code..
    A+

  3. #3
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 52
    Par défaut non plus çà ne marche pas
    Erreur d'exécution 13

    incompatibilité de type

    et s'arrète à la ligne

  4. #4
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Il faudrait que tu spécifie la feuille, quand tu essaye la fonction à partir du module il n'est pas préciser sur quel feuille tu veux agir donc ...

    Au déut spécifie..
    A+
    EDIT:
    Et statut devrait êre déclare par
    EDIT 2:
    Revient avec ton code je vais essayé de le rendre opérationnel.

    et où sont affectées les variables P, ROS, RFD etc..
    Nouveau poste pour le copier/coler
    A+

  5. #5
    Membre émérite
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Par défaut
    Un petit doute
    est ce qu'il ne faut pas mettre des guillemets ?

    Est ce que Air est une constante? (Air et les autres)
    sinon il faut écrire

    Case Is = "Air"

    Salutations

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Une question demeure : Où prends-tu ton P ? Dans ta procédure, on ne le voit nulle part. Une variable déclarée en Public ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utiliser une boucle "For" dans un" Select Case"
    Par Novice_vba dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/04/2014, 09h34
  2. Utilisation select case
    Par patmar83 dans le forum VBA Access
    Réponses: 3
    Dernier message: 17/06/2013, 19h49
  3. [AC-2007] Utilisation select case
    Par cfiji dans le forum VBA Access
    Réponses: 7
    Dernier message: 30/05/2013, 14h35
  4. utilisation select case
    Par patmar83 dans le forum VBA Access
    Réponses: 1
    Dernier message: 02/03/2012, 15h47
  5. utilisation de select case
    Par triaguae dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/12/2007, 16h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo