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 GoTo & AddressOf - Remplacer "Texte" par Texte


Sujet :

Macros et VBA Excel

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Utilisation GoTo & AddressOf - Remplacer "Texte" par Texte
    Bonjours à tous,

    Alors voilà, je pense que ma question est simple et élémentaire pour ceux d'entre vous qui maîtrise le VBA, mais je ne trouve pas de réponse à cette question qui est la suivante:

    Dans un code VBA, comment fait-on pour remplacer un texte sous forme de variable texte tel que "TEXTE", par un texte écrit en dur tel que TEXTE, pour pouvoir être utilisé dans des fonctions tel que GoTo TEXTE ou AddressOf TEXTE, car certaines fonctions natives tel que ces 2 fonctions ne demande pas de variable texte (String).

    Je sais que le titre du sujet n'est pas clair, mais je ne savais pas l'expliquer simplement, alors voici un CODE exemple illustrant ce que je veux dire:

    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
    Sub Choix()
     
    Dim t(0 To 5) As Single
    Dim ChoixMéthode As Byte, Méthode As String
     
       t(0) = Timer
       ChoixMéthode = 2
     
       Méthode = Choose(ChoixMéthode, "Méthode1", "Méthode2", "Méthode3")
             'GoTo Méthode (Méthode renvoi "Méthode2" dans le cas présent)
             'Suite: J'aimerai pouvoir enlever les guillemets "" à "Méthode2" pour que ça marche
             'Suite2: ou au moins avoir un numéro d'index (ChoixMéthode dans le cas présent) utilisable 
             'Suite3: tel que "Méthode" & 2 où 2 serait un numéro d'index ou un truc dans le genre...
             GoTo Méthode2
     
     
    Méthode1:
       '--- Code pour Méthode1 ---
       GoTo FinMéthode
     
    Méthode2:
       '--- Code pour Méthode2 ---
       GoTo FinMéthode
     
    Méthode3:
       '--- Code pour Méthode3 ---
       GoTo FinMéthode
     
    FinMéthode:
       '--- Code final commun pour chaque Méthode, simple exemple ici avec un timer ---
       t(1) = Timer
       t(2) = t(1) - t(0)
       MsgBox t(2) & " s"
    End Sub

    Voilà, j'espère que vous compris ce que j'aimerai obtenir comme résultat.

    P.S.: Il ne s'agit pas ici de trouver une autre méthode tel qu'une méthode avec les Select Case ou autres fonctions If & Co, mais bien de pouvoir transformer une variable texte en variable utilisable par une fonction utilisant un adressage interne au VBA. Je sais (ou je pense) que le GoTo & AddressOf demande enfaite une variable à nombre entier (Integer, Long ou LongLong). Mais je ne sais pas comment arriver à trouver l'adresse correspondante. Ou plus simplement, si il été possible de remplacer un "TEXTE" par un TEXTE en dur (comme expliqué plus haut), ça serai parfait.



    Merci d'avance à ceux qui auront pris un peu de temps pour lire ce sujet, et à ceux qui pourquoi pas y apporterai une réponse.

    A+
    Dernière modification par Invité ; 22/07/2013 à 15h08.

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