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

VBA Word Discussion :

une seule fonction pour plusieurs objets


Sujet :

VBA Word

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2011
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 7
    Points : 7
    Points
    7
    Par défaut une seule fonction pour plusieurs objets
    Bonjour à tous,
    Voici ma question:

    J'ai généré dans un fichier word une série de 30 blocs de 3 boutons radio.
    Je leur ai donné les noms suivants:

    opt0101
    opt0102
    opt0103
    opt0201
    opt0202
    ...
    opt3001
    opt3002
    opt3003

    Mon but est de surligner pour chacun des 30 blocs l'option sélectionnée.
    Je peux bien sur faire cela en le définissant pour chaque event 'clic' de chaque bouton mais c'est un peu long...
    J'ai du faire ca dans mon jeune temps, probablement dans d'autre langage d'ailleurs mais je ne sais plus du tout comment aborder ce problème, et je (re)programme après de longues années d'hibernation

    Vous l'aurez compris je suppose, mon but est de faire une seule fonction/procédure qui va surligner le bouton radio qui vient d'être sélectionné dans le bloc approprié (et surligner en couleur neutre un des deux autres boutons radio qui éventuellement avait été surligné précédemment dans ce bloc)

    Mais je ne sais pas du tout comment m'y prendre...
    variable d'instance, objets et appels de fonctions sont pour moi de lointaints souvenirs

    Merci d'avance pour votre aide, et bonne journée

    olivier

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    si le surlignage est la seule action que tu vas effectuer, l'utilisation d'une fonction externe ne te sera pas d'une grande aide, tu vas devoir appeler la fonction et lui passer un paramètre.

    Surligner le contrôle ira plus vite.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  3. #3
    Futur Membre du Club
    Inscrit en
    Janvier 2011
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    Merci pour ta réponse mais j'ai bien précisé:

    "Je peux bien sur faire cela en le définissant pour chaque event 'clic' de chaque bouton mais c'est un peu long..."

    Tout est relatif mais pour ma part je trouve que :

    270 optXXYY.BackColor = RVB (100, 100, 100)
    avec XX et YY qui change a chaque ligne ;
    et 90 noms de procedure ;

    à changer ca ne va pas me prendre que 2 minutes, meme en bidouillant dans excel des series automatiques par exemple.

    Et quand bien meme ca serait plus long de ne faire qu'une fonction, c'est ce que j'aimerai faire.

    Je pense que sous delphi une maniere de s'attaquer à ca est la fonction ou procédure qui s'appelle FindComponent.
    C'est une fonction ou procédure qui me permettrai de traiter un nom d'objet via une chaine de caractere.
    Comme mes noms d'objets sont 'formatés' je pourrais gagner en temps (meme un peu, mais surtout en intelligence de programmation...)

    Merci d'avance

  4. #4
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Voilà un exemple de code avec appel de fonction pour la coloration.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub OptionButton1_Click()
    ColorMeBack Me.OptionButton1
    End Sub
     
    Function ColorMeBack(myCtrl As Control)
     
    myCtrl.BackColor = RGB(0, 128, 64)
     
    End Function
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

Discussions similaires

  1. [Joomla!] Une seule bdd pour plusieurs sites
    Par Imp rusg dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 23/02/2009, 09h16
  2. Réponses: 2
    Dernier message: 10/07/2007, 13h45
  3. Réponses: 8
    Dernier message: 01/12/2006, 09h05
  4. Réponses: 7
    Dernier message: 01/02/2006, 15h49
  5. [C#] Une seule méthode pour plusieurs composants
    Par niPrM dans le forum Windows Forms
    Réponses: 8
    Dernier message: 01/06/2004, 14h41

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