Accueil > Forum > > > > Macro vba pour créer des shape dans une cellule de tableau
Macro vba pour créer des shape dans une cellule de tableau
mardi 17 février 2009 à 09:24:43 |
Macro vba pour créer des shape dans une cellule de tableau

lolokun
|
Bonjour à tous,
Je réexplique mon souci, il s'agit en fait, lors de modification de procédure d'installation, de pouvoir rajouter dans la 1ère colonne d'un tableau à 2 colonnes, le numéro auto ainsi qu'un shape, permettant au technicien de cocher l'étape qu'il vient de réaliser.
Ce message fait suite à un post que j'avais déjà ouvert : http://www.vbfrance.com/forum/sujet-MACRO-CREER-LISTE-NUMEROS-PUCES-DANS-TABLEAU_1268753.aspx
Voici donc où j'en suis maintenant :
Dim haut, Gauche, lignecourante As Integer Dim shp As Shape ActiveDocument.Tables(1).Rows.Add BeforeRow:=Selection.Rows(1) 'ajoute une ligne au dessus de la ligne sur laquelle se situe le curseur lignecourante = Selection.Information(wdStartOfRangeRowNumber) 'récupérer le numéro de ligne active 'MsgBox Left(ActiveDocument.Tables(1).Cell(lignecourante, 2).Range.Text, Len(ActiveDocument.Tables(1).Cell(lignecourante, 2).Range.Text) - 2) 'test pour afficher le contenu de la 2nde colonne lignecourante = lignecourante - 1 'récupère le numéro de la ligne nouvellement créée 'MsgBox Left(ActiveDocument.Tables(1).Cell(lignecourante, 2).Range.Text, Len(ActiveDocument.Tables(1).Cell(lignecourante, 2).Range.Text) - 2) 'MsgBox ActiveDocument.Tables(1).Cell(lignecourante, 1).Height 'MsgBox ActiveDocument.Tables(1).Cell(lignecourante, 1).Width haut = CInt(ActiveDocument.Tables(1).Cell(lignecourante, 1).Height / 2) Gauche = CInt(ActiveDocument.Tables(1).Cell(lignecourante, 1).Width / 2)
Set shp = ActiveDocument.Shapes.AddShape(msoShapeRectangle, Gauche, haut, 14, 7.5)
J'arrive donc à créer une ligne dans le tableau , à la sélectionner (d'ailleurs si quelqu'un aurait une autre méthode...Je n'ai pas réussi à utiliser moveup pour récupérer ensuite le numéro de la nouvelle ligne..) Mon shape est bien créé, mais en haut de la feuille et non pas dans la 1ère cellule de ma ligne créée.
Il me semble que cela est dû au dernier paramètre [Anchor] pour spécifier que la position du shape doit se faire à partir de la cellule et non du bord en haut à gauche de la feuille.
Comment faire pour que mon shape soit placé au bon endroit? Merci par avance de votre attention.
L'expérience, c'est une connerie par jour, mais jamais la même..
|
|
mardi 17 février 2009 à 09:42:37 |
Re : Macro vba pour créer des shape dans une cellule de tableau

lolokun
|
Réponse acceptée !
Bon hé bien j'ai fini par trouver la solution,comme je le supposais c'est ce paramètre là qu'il fallait modifier, et lui passer un objet de type range. Cela fonctionne donc comme ceci :
Set shp = ActiveDocument.Shapes.AddShape(msoShapeRectangle, Gauche, haut, 14, 7.5, ActiveDocument.Tables(1).Cell(lignecourante, 1).Range)
Par contre, tant qu'à faire après avoir posté ce message, et étant novice en vba word, si quelqu'un a une proposition pour optimiser ce code, je suis preneur.
L'expérience, c'est une connerie par jour, mais jamais la même..
|
|
Cette discussion est classée dans : shape, tables, cell, activedocument, lignecourante
Répondre à ce message
Sujets en rapport avec ce message
pb de copier/coller feuille Excel-->tableau Word [ par crossrobotik ]
salut a tou(te)s,je debute en VB (je fais plus de C++) et voila mon pb:j'ai une feuille Excel dans laquelle je veux extraire du texte en le copiant et
En vbs, problème de modif de fichier Word [ par JMO ]
Bonjour à tous....Suite à un précédent post, Renfield m'a bien dépanné pour:- avec un .vbs comment modifier un tableau dans un .doc;problème résolu.S
VBA sous WORD 2003 [ par dchrist ]
Bonjour tout le monde,J'ai un besoin d'aide assez urgent. J'ai un gros souci dans mon document WORD.J'explique le sujet.A partir d'un fichier texte, j
Bordure et alignement dans un tableau lors d'un publipostage sur word à partir d'une application VB6 [ par cyrilou421 ]
Bonjour,Dans mon application, j'effectue un publipostage sur word en vue d'imprimer ou d'enregistrer le document.Dans mon publipostage je dois mettre
Update de champs d'un formulaire vers plusieurs tables [ par mat76 ]
Bonjour,Je développe une petite application pour mon travail (réservation de portable de prêt).Etant débutant en VB j' ai donc pris une appli exemple
ransfert d'une table vers 3 tables diffrentes [ par skillipo ]
Bonjour, j'ai une table qui contient 12 champs differents que je voudrais la parcourire ligne par ligne est mettre les champs et la repartir sur 3 tab
Transfert d'une table --> 3 tables [ par skillipo ]
Bonjour , je remet ce sujet (mieux expliqué) . j'ai une table qui se constitue de plusieurs Champs (10). je voudrais importer cette table dans 3 table
Base Bientôt à 2 Go ! [ par miniheli ]
Bonjour à tous,Je suis en train de déveloper une application qui interroge une BDD Access.Au début, cette base ne fesait que 8300 Ko (il n'y a que des
base de donnee access [ par hafsoit ]
bonjour, je suis entrain de concevoir une application sous vb et comme base de donnee Access 2000,il s agit d'une application de gestion de stock.et
Livres en rapport
|
Derniers Blogs
CSDL FUNCTIONCSDL FUNCTION par Matthieu MEZIL
Dans mon post précédent , j'ai utilisé une CSDL Function afin de générer une requête SQL avec un DateDiff utilisant la date courante sur la BD à partir d'une requête LINQ. Dans le cadre de ce post , vous avez probablement remarqué que dans le cadre de plu...
Cliquez pour lire la suite de l'article par Matthieu MEZIL LINQ TO ENTITIESLINQ TO ENTITIES par Matthieu MEZIL
Cette semaine je suis à Montréal en tant que speaker sur Entity Framework pour l'évènement confoo . J'en profite pour remercier les organisateurs de cet évènement de m'avoir fait confiance et Access-IT de m'avoir permis d'y participer. En parallèle, j'ai ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL FAIRE APPARAITRE L'ONGLET 'DéVELOPPEUR' DANS OFFICE 2010FAIRE APPARAITRE L'ONGLET 'DéVELOPPEUR' DANS OFFICE 2010 par neodante
La nouvelle interface d'Office 2010 à amener quelques modifications par rapport à celle de 2007. Certes mineures, ces modifications ont fait disparaître la case à cocher de l'onglet 'Développeur' en première page du panneau du 'bouton Office' (dans Office...
Cliquez pour lire la suite de l'article par neodante [ASTUCE] PATCH POUR MICROSOFT FORUMS NNTP BRIDGE V1[ASTUCE] PATCH POUR MICROSOFT FORUMS NNTP BRIDGE V1 par pierre
Si vous avez téléchargé comme moi Microsoft Forums NNTP Bridge V1 avant le 11 mars 2010 (voir [Astuce] Disponibilité de Microsoft Forum NNTP Bridge Version 1.0), un problème de date localisée pour les non anglais était présent. Un patch est disponibl...
Cliquez pour lire la suite de l'article par pierre PB LORS DE L'INSTALLATION SHAREPOINT 2010.PB LORS DE L'INSTALLATION SHAREPOINT 2010. par Patrick Guimonet
Lors de l'installation de SharePoint 2010, j'ai rencontré un problème de plantage à l'étape 5 du configuration Wizard. Ca se termine sur cet écran : Et en analysant le fichier de journalisation, on remarque vers la fin des 15000 et quelques lign...
Cliquez pour lire la suite de l'article par Patrick Guimonet
Logiciels
Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods Konvertor (4.00)KONVERTOR (4.00)Le logiciel est un gestionnaire multimedia affichant, jouant et convertissant plus de 2000 format... Cliquez pour télécharger Konvertor
|