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 :

Liste des objets dans un classeur


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Liste des objets dans un classeur
    Bonjour la gang !

    J'ai un classeur que je veux rendre bilingue mais j'ai énormément d'objet avec caption en français. Je dois être capable de développer une macro qui va me permettre de d'accéder à tout les objets de mon classeur afin de changer automatiquement ces captions.

    Merci à l'avance

    Tranquille40
    Longueuil, Québec, Canada

  2. #2
    Membre confirmé
    Avatar de Bigalo
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    445
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 445
    Points : 563
    Points
    563
    Par défaut
    Bonsoir,

    J'ai eu à travailler dans un environnement où 3 langues devaient pouvoir être utilisées.

    J'ai utilisé un nom, Langue pouvant prendre la valeur 1, 2 ou 3, et une feuille nommée Dico (et FDico pour le CodeName) avec 3 colonnes, contenant chacune les textes utilisés par le classeur (dans les feuilles et dans VBA) dans l'une des 3 langues.

    3 boutons avec chacun un drapeau permettaient de choisir la langue, en donnant la valeur adaptée à Langue.
    • Textes en français,
    • Textes en anglais,
    • Textes en italien.
    Pour chaque ligne, un nom était associé au groupe de 3 cellules représentant les 3 versions d'un texte.

    Chaque cellule devant afficher du texte comportait une formule de ce type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =INDEX(Période;Langue)
    et en VBA, une variable Public, définie dans un module standard, bien sûr, une fonction Traduction était appelée à chaque emploi de MsgBox ou d'un UserForm :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Public Function Traduction(c as Range)
        Traduction = FDico.Range(c).Cells(1,Langue)
    End Function
    Dans 1 UserForm :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Private Sub UserForm_Initialize()
        Langue = FDico.Evaluate("Langue")
        ' Labels
        LabNbVentes = Traduction("NbVentes")
        LabBoutiques = Traduction("CABoutiques")
        ' ...
        ' Boutons
        BAnnuler.Caption = Traduction("Annuler"9
        ' ...
    End Sub
    Voilà !

Discussions similaires

  1. Liste des objets dans une Forms
    Par yasstunisien dans le forum Forms
    Réponses: 1
    Dernier message: 15/09/2011, 14h51
  2. Ma class n'apparait pas dans la liste des objets de mon programme.
    Par parp1 dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 25/04/2007, 15h20
  3. Comment Manipuler des objets dans une liste de type TList ?
    Par PadawanDuDelphi dans le forum Delphi
    Réponses: 1
    Dernier message: 02/11/2006, 15h40
  4. Réponses: 1
    Dernier message: 13/09/2006, 11h50
  5. Modifier l'ordre des objets dans dans une liste
    Par Mac_Gyver dans le forum Access
    Réponses: 2
    Dernier message: 24/01/2005, 11h55

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