|
Publicité ' | ||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : janvier 2012 Messages : 14 ![]() |
Bonjour à tous,
En espérant être sur le bon forum ? Ma question est simple mais en même temps je ne trouve rien dessus : J'ai fait une macro (code VBA) dans un formulaire WORD avec des boutons de commandes pour effectuer des tâches particulières (copie de zone ou suppression), mais je souhaite que le bouton de commande AINSI que son code puisse être copié lorsqu'il est dans la zone sélectionnée ! Car j'arrive bien à copier la zone avec le bouton, mais le bouton n'a plus son code vba attaché : il ne sert donc plus à rien... Comment puis-je copier la 'zone' et que le bouton de commande conserve son code associé : "Private Sub CommandButton1_Click()"? D'avance merci PS : exemple code du bouton de commande Code :
|
||
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 345 ![]() |
Salut,
Le problème, c'est que le nom du bouton de commande va être incrémenté après sa copie. Ce qui fait que le code ne va plus fonctionner. Que souhaites tu faire exactement, on peut peut-être y parvenir autrement ?
__________________
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 ! |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : janvier 2012 Messages : 14 ![]() |
Bonsoir,
Effectivement le bouton de commande voit son nom incrémenté mais justement je pensais qu'on pouvait copier le bouton et que le code se retrouverait dans la nouvelle "Private Sub CommandButtonX_Click()" ? En fait le but est de pouvoir ajouter ou supprimer une zone du formulaire à l'identique... 2 boutons en debut de la zone du formulaire, dont Un qui copie la zone pour la coller après (on dédouble en quelque sorte) et un autre bouton pour permettre de supprimer la zone copiée ! Ainsi chaque zone se retrouve avec ses 2 boutons... Je ne sais pas si j'ai été clair ? En tout cas tout idée serait bienvenue, merci.
|
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 345 ![]() |
Salut,
Pourquoi ne pas exclure les boutons du document pour les mettre dans une barre d'outils ou dans un onglet.
__________________
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 ! |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : janvier 2012 Messages : 14 ![]() |
Il s'agit d'un formulaire, je veux éviter toute interaction avec quoi que ce soit, le document doit s'autoporter tout seul, l'avantage du bouton dans le texte c'est qu'il porte avec lui son point d'insertion, nul besoin de chercher où débute la zone à copier ou à supprimer dans le document...
Donc pas de solution ? à priori Merci je vais réfléchir à faire autrement alors, mais je n'ai pas encore d'idée...
|
|
|
00
|
|
|
#6 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 345 ![]() |
Salut,
Les barres d'outils et les onglets sont "autoportés" dans le document.
__________________
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 ! |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : janvier 2012 Messages : 14 ![]() |
Oui mais cela ne me facilite pas du tout la tâche de jouer avec des boutons à l'extérieur du texte...
Dernière petite question : Puis-je en VB balayer les "objets" du document (par exemple rechercher tous les "boutons de commande" et voir si un code leur est associé sur l'évènement "Click()" et sinon leur ajouter ? Tout ca en VB... Merci |
|
|
00
|
|
|
#8 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 345 ![]() |
Salut,
Oui, on peut intervenir sur le code par le code. Mais pour des raisons de sécurités, il faut autoriser ces manipulations de façon explicite et ce pour et par tous les utilisateurs. Voilà le lien d'un tuto pour la manipulation du code par le code. http://silkyroad.developpez.com/VBA/VisualBasicEditor/
__________________
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 ! |
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : janvier 2012 Messages : 14 ![]() |
Bonjour et merci pour ce tuto qui m'a l'air très très bien fait...
Je vais tenter de comprendre comment je vais pouvoir lors de la copie de la zone écrire les lignes de code pour l'évènement "Click" du bouton de commande qui a été copié... Dans une première étape, je cherche le nom de ce nouveau bouton de commande, puis en une seconde étape j'écris dans "ThisDocument", la procédure "Private Sub CommandButtonX_Click()"... et ceci à chaque copie J'essaye et vous tiens au courant du résultat Merci
|
|
|
00
|
|
|
#10 | ||||
|
Invité de passage
![]() Inscription : janvier 2012 Messages : 14 ![]() |
Bonjour,
Je bloque sur la première étape, qui consiste à rechercher l'existence d'un bouton de commande dans le document : Code :
C'est encore pire avec le code ci-dessous : Code :
D'avance merci de votre aide |
||||
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : janvier 2012 Messages : 14 ![]() |
Bonjour,
Y a t'il quelqu'un qui sait pourquoi le code pour lister la collection d'objet "Controls" ne marche pas sous WORD ? D'avance merci de votre aide. Bonne journée |
|
|
00
|
|
|
#12 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 345 ![]() |
Salut,
Simplement parce que les controls du document ne sont pas dans les composant VBA. en fait, tu dois vérifier les controls du document et vérifier ensuite les composants VBA.
__________________
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 ! |
|
|
00
|
|
|
#13 |
|
Invité de passage
![]() Inscription : janvier 2012 Messages : 14 ![]() |
Merci pour l'explication, mais comment avec du code VBA, puis-je vérifier les controls du documents alors ?
Car je croyais qu'avec "For Each Ctrl In ActiveDocument.VBProject.VBComponents("ThisDocument").Controls" me permettrait de voir les controls du document... Malheureusement je ne connais pas et ne trouve pas non plus la syntaxe pour chercher sans VBComponents ? Pouvez-vous m'aiguiller vers la bonne syntaxe ? d'avance merci |
|
|
00
|
|
|
#14 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 345 ![]() |
Salut,
Il faut faire le tour des olecontrols qui sont des inlineshapes.
__________________
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 ! |
|
|
00
|
|
|
#15 | ||
|
Invité de passage
![]() Inscription : janvier 2012 Messages : 14 ![]() |
Merci encore pour cet éclaircissement, mais il me faudrait un peu plus de précision, car j'ai bien essayé des choses, et la seule probante est :
Code :
Donc comment récupéré le NOM de l'objet et son TYPE (commandbutton par exemple) ? Merci de ton aide précisieuse |
||
|
|
00
|
|
|
#16 |
|
Invité de passage
![]() Inscription : janvier 2012 Messages : 14 ![]() |
Bonjour,
Vraiment personne pour me dire comment extraire le nom (propriété ".Name") et le Type (propriété ".Type") des objets InLineShapes ? Merci d'avance. |
|
|
00
|
|
|
#17 | ||
|
Invité de passage
![]() Inscription : janvier 2012 Messages : 14 ![]() |
![]() Bon n'ayant eu aucun retour, j'ai continué à chercher pour finalement enfin trouver la bonne syntaxe, qui est la suivante, si cela peut aider d'autres personnes : Code :
|
||
|
|
00
|
|
|
#18 |
![]() ![]() JF JousseaumeInscription : octobre 2007 Messages : 2 390 ![]() |
Salut Chr22,
Bravo . N'oublie pas de cliquer sur :Resolu: pour que les autres DVPnautes puissent encore mieux profiter de ta solution.@+ |
|
|
00
|
|
|
#19 |
|
Invité de passage
![]() Inscription : janvier 2012 Messages : 14 ![]() |
Bsr, ok pour mettre RÉSOLU mais avec mon navigateur portable, je ne voie pas comment le faire ?
Désolé de vous embêter avec ça ! Ah si je l'ai finalement trouvé en bas de la page... Juste pour conclure que du coup mon souhait de départ de copier/coller une zone de texte contenant un bouton de commande et lui attribuer son code, tout ça en VB fonctionne parfaitement ! MERCI à tous pour vos conseils. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com