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

 .NET Discussion :

Porté de variable et select case


Sujet :

.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 69
    Points : 46
    Points
    46
    Par défaut Porté de variable et select case
    Bonjour!

    Je ne comprends pas pourquoi dans ce bout de code, la variable mySubjectType de la ligne 13 et 32 n'est pas accessible au moment où je l'appelle?
    Code vb.net : 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
    Public Sub createForward(ByVal myTraitement As String)
            Dim aujourdhui As String = Format(DateTime.Now, "ddMMyy - ")
            Dim refDefaut As String
            Dim myinspector As Outlook.Inspector
            Dim myItem As Outlook.MailItem
            Dim myattachments As Outlook.Attachments
            Dim mySubject As String
            Dim mySubjectType As String
            Dim oldItem As Outlook.MailItem
     
            Select Case myTraitement
                Case "okTraite"
                    mySubjectType = "OK TRAITE"            Case "dejaTraite"
                    mySubjectType = "DEJA TRAITE"
            End Select
     
            myinspector = Application.ActiveInspector
            If Not TypeName(myinspector) = "Nothing" Then
                oldItem = myinspector.CurrentItem
                myItem = myinspector.CurrentItem.Forward
     
                If Clipboard.ContainsText Then
                    refDefaut = Clipboard.GetText()
     
                Else
                    refDefaut = "maRéférence"
                End If
                Dim numero = InputBox("Veuillez entrez la référence", "Référence", refDefaut)
                If numero <> "" Then
     
                    myattachments = myItem.Attachments
                    mySubject = aujourdhui & mySubjectType & " - " & myItem.Subject
                    myItem.Subject = mySubject
                    myItem.BCC = "CDS"
                    myItem.Display()
     
                    If (optionClose = True) Then oldItem.Close(False)
                End If
     
            End If
            myItem = Nothing
        End Sub
    En tout cas c'est ce que dit intelisense.

  2. #2
    Membre expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Points : 3 304
    Points
    3 304
    Par défaut
    Je n'ai pas la librairie Outlook donc je ne sais pas lancer en debug, mais mon intelisense ne râle pas.

    Maintenant j'ai corrigé ceci je suppose que c'etait une erreur de copier coller :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mySubjectType = "OK TRAITE"            Case "dejaTraite"
    en

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    mySubjectType = "OK TRAITE"            
    Case "dejaTraite"
    mySubjectType = "DEJA TRAITE"
    Articles sur les technologies .NET

    Une réponse vous a aidé ? utilisez le bouton

    Votre problème est résolu ? utilisez le bouton

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 69
    Points : 46
    Points
    46
    Par défaut
    Oui c'est effectivement une erreur de copier-collé, chez moi le code était correct, par contre intelisense lui me souligne bien les valeurs...

  4. #4
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 74
    Points : 94
    Points
    94
    Par défaut
    Bonjour,

    Serait-il possible d'avoir le code en entier, s'il n'est pas trop long ?

    Concernant le problème mentionné, rien ne semble clocher mais il faudrait vérifier aussi la manière dont Outlook est instancié. Je vois quelques liaisons tardives et ce "Application.ActiveInspector" me semble susceptible de lever une erreur également. De même que "optionClose" qui est appelé avant d'être déclaré, probablement parce qu'il s'agit ici d'un extrait de code.

    Il faut penser à activer les option Explicit et Strict quand on fait de l'automation, voire même toute le temps d'ailleurs, sinon on laisse passer trop de code scabreux.

    Quel est le but exact de cette procédure ?
    Pensez à mettre le topic en si votre problème a été solutionné. / Un petit est le bien venu si la réponse vous satisfait
    Ce qui mérite d'être fait mérite d'être bien fait.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 69
    Points : 46
    Points
    46
    Par défaut
    Pour être honnête il s'agit d'un projet que j'ai un peu laissé de côté entre temps, j'ai bien pris note de vos conseils et si je peux m'y remettre bientôt je rajouterai des informations ici.

Discussions similaires

  1. Reinitialiser variable dans Select Case
    Par benny-blanco dans le forum VB.NET
    Réponses: 4
    Dernier message: 18/03/2012, 18h57
  2. Select Case avec plusieurs variables
    Par sphynxounet dans le forum VB.NET
    Réponses: 10
    Dernier message: 10/08/2009, 18h16
  3. Select case avec then qui retourne une variable
    Par dinette dans le forum SQL
    Réponses: 6
    Dernier message: 06/07/2009, 11h03
  4. Select Case et variable évaluée
    Par ThierryAIM dans le forum Langage
    Réponses: 15
    Dernier message: 06/05/2008, 21h08
  5. récupérer une variable dans un select case
    Par rob2-9 dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 23/12/2005, 10h54

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