Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/01/2011, 09h18   #1
Invité de passage
 
olivier
Inscription : janvier 2011
Messages : 3
Détails du profil
Informations personnelles :
Nom : olivier

Informations forums :
Inscription : janvier 2011
Messages : 3
Points : 0
Points : 0
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
olivier.pz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 09h31   #2
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 318
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

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

Informations forums :
Inscription : février 2006
Messages : 17 318
Points : 29 214
Points : 29 214
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 !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 12h18   #3
Invité de passage
 
olivier
Inscription : janvier 2011
Messages : 3
Détails du profil
Informations personnelles :
Nom : olivier

Informations forums :
Inscription : janvier 2011
Messages : 3
Points : 0
Points : 0
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
olivier.pz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 14h52   #4
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 318
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

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

Informations forums :
Inscription : février 2006
Messages : 17 318
Points : 29 214
Points : 29 214
Salut,

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

Code :
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 !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h28.


 
 
 
 
Partenaires

Hébergement Web