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 :

Recuperer la valeur d'une variable composée [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 74
    Par défaut Recuperer la valeur d'une variable composée
    Bonjour,

    Je souhaiterais récuperer la valeur d'une variable composée avec la valeur de la variable de la boucle en For Next.
    La valeur de cette variable est ensuite utilisée dans une function TblLF7 = FiltreClé(tab_prob, m)

    Exemple:
    LF1= "LF7L"
    LF2= "LF7L"
    LF3= "LF7M"

    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
     
    Dim VariableManip ()
     
    Dim LF1 as string
    Dim LF2 as string
    Dim LF3 as string
    Dim m as string
     
    LF1=  "LF7L"
    LF2=  "LF7L"
    LF3=  "LF7M"
     
    For l = 1 To 3
     
      m = "LF" & l
    MsgBox(m)  
    'TblLF7 = FiltreClé(tab_prob, m)
    NExt

    End sub

    Lorsque l a la valeur 1, la valeur de l'expression m devra être la valeur de la variable LF1 => "LF7L"
    Lorsque l a la valeur 2, la valeur de l'expression m devra être la valeur de la variable LF2 => "LF7L"
    Lorsque l a la valeur 3, la valeur de l'expression m devra être la valeur de la variable LF3 => "LF7M"

    Merci d'avance pour votre retour

    Cdt
    Jerome

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

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

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour,

    utiliser une variable tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub Demo()
           VLF = [{"LF7L","LF7L","LF7M"}]
        For L% = 1 To 3
            M$ = VLF(L)
            MsgBox L & " :   " & M
        Next
    End Sub
    ______________________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …

    ______________________________________________________________________________________________________
    Je suis Paris, …

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 74
    Par défaut
    Super Merci

    J'ai trouvé ca aussi sur un autre forum
    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
     
    Sub VaraibleManip()
    Dim LF1 as string
    Dim LF2 as string
    Dim LF3 as string
    Dim m(1 To 3) As String
     
    LF1=  "LF7L"
    LF2=  "LF7L"
    LF3=  "LF7M"
     
    For l = 1 To 3
     
    'Permet de boucler avec la valeur d'une variable composé par la boucle For Next
    m(1) = LF1
    m(2) = LF2
    m(3) = LF3
     
    TblLF7 = FiltreClé(tab_prob, m(l))
     
    MsgBox(m(l))
     
    Next
     
    End Sub
    Petite question:
    A quoi sert le % et $ après la variable L et M?

    Encore merci pour ton aide

    Bon pm
    jerome

  4. #4
    Invité
    Invité(e)
    Par défaut
    Salut,

    Sinon, si le texte n'est pas formé de manière logique, un autre exemple:
    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
     
    Sub GetTextTest1()
        MsgBox GetText(1)
    End Sub
     
    Sub GetTextTest2()
        Dim i As Long
        Dim s(1 To 3) As String
     
        For i = 1 To 3
            s(i) = GetText(i)
        Next
     
        For i = 1 To 3
            Debug.Print s(i)
        Next
    End Sub
     
    Function GetText(Index As Long) As String
        Dim s As String
     
        Select Case Index
            Case 1: s = "LF7L"
            Case 2: s = "LF7L"
            Case 3: s = "LF7M"
        End Select
        GetText = s
     
    End Function
    Si ton texte est formé de manière logique, remplace ajoute des 'Case' dans le select case.
    Par exemple:
    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
     
    Sub GetTextTest3()
        Const INDEX_MAX = 20
        Dim i As Long
        Dim s(1 To INDEX_MAX) As String
     
        For i = 1 To INDEX_MAX
            s(i) = GetText2(i)
        Next
     
        For i = 1 To INDEX_MAX
            Debug.Print s(i)
        Next
    End Sub
     
    Function GetText2(Index As Long) As String
        Dim s As String
     
        Select Case Index
            Case 1
                s = "LF7L"
     
            Case 2
                s = "LF7L"
     
            Case 3
                s = "LF7M"
     
            ' Traitement spécifique.
            Case 4 To 10
                s = "LFX" & (Index * 5)
     
            ' Traitement spécifique.
            Case 11 To 20
                s = "LFY" & (Index * 3 + 1)
     
            ' Traitement spécifique.
            Case Is > 20
                s = "LFZ" & (Index + 1)
     
        End Select
        GetText2 = s
     
    End Function

  5. #5
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

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

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Citation Envoyé par jbonneval Voir le message
    A quoi sert le % et $ après la variable L et M?
    A déclarer à la volée le type de la variable (cf aide VBA) …

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 30/01/2009, 12h04
  2. Recuperer les valeurs d'une variable
    Par yoann_deygas dans le forum MATLAB
    Réponses: 1
    Dernier message: 18/06/2007, 11h10
  3. recuperer la valeur d'une variable javascript dans une jsp
    Par johnnywalker dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 04/03/2007, 19h45
  4. recuperer la valeur d'une variable dans une nouvlle page
    Par gloglo dans le forum Servlets/JSP
    Réponses: 10
    Dernier message: 11/01/2007, 17h08
  5. Comment recuperer la valeur d'une variable de session avec du javascript
    Par pierrot10 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 08/09/2006, 10h40

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