WORD - modifier données d'un graphique

WORD - modifier données d'un graphique - VB/VBA/VBS - Programmation

Marsh Posté le 04-11-2012 à 22:51:38    

Bonjour à tous,  
 
Je travaille actuellement sur un document word destiné à devenir un modèle (.dot), seul format admis pour intégration dans  le logiciel de gestion des dossiers du centre hospitalier où je travaille.  
 
JE souhaite informatiser les courbes de croissance (celles des carnets de santé, pour les enfants jusqu'à 19ans). Mon document final contiendra donc 4 graphiques. Pour faciliter le travail des médecins qui vont utiliser ce document, je voudrais qu'ils saisissent la taille, le poids et l'âge de l'enfant lors de la consultation dans des textbox et que ces valeurs soient retransmisent automatiquement dans les tables de données des différents graphiques, au bon âge.  
 
JE me trouve actuellement bloquée sur le tout début de ce projet : j'ai créé (menu insertion, graphique) un graphique dans mon document. Il comporte 8 séries (les série de référence de croissance) avec l'âge en abscisse et la taille en ordonnée, + 1 début de série pour le suivi de la taille d'un enfant ( à 0, 1 et 2 ans). Mon document comporte également 2 contrôles activeX (des textbox), dont les noms sont "taille" et "age"
 
Je cherche juste pour le moment à ajouter la nouvelle valeur, en imaginant que l'enfant est revu pour ses 3 ans. Comment ajouter dans la table de données de mon graphique la valeur de taille saisie dans le textbox "taille" ?  
 
J'ai testé plusieurs solutions que je vous copie ci-après :  
 
Dans cette tentative, je pars de mon idée initiale de textbox renseignées par les médecins. Aucune erreur générée, mais le graphique n'est pas modifié .....

Code :
  1. 'tentative 1
  2. Sub MiseAJour()
  3.     Dim taille As String
  4.     Dim tailleGraph As Integer
  5.     taille = ThisDocument.taille.Text
  6.     tailleGraph = CInt(taille)
  7.     With ActiveDocument.Shapes(1)
  8.         If .HasChart Then
  9.             .Chart.ChartData.Activate
  10.             .Chart.ChartData.Workbook.Worksheets(1).Range("B3" ) = tailleGraph
  11.         End If
  12.    
  13.     End With
  14. End Sub


 
pour ma deuxième tentative, j'ai essayé de partir d'un tableau word. J'ai voulu ajouter une nouvelle série à mon graphique, dont les données seraient issues de ce tableau. Dans mon idée, je supprimais puis recréais cette série à chaque modification des données du tableau. Mais là, la méthode add n'est pas reconnue .....
 

Code :
  1. 'tentative 2
  2. Sub MiseAJour2()
  3.     With ActiveDocument.InlineShapes(3)
  4.        If .HasChart Then
  5.             'la colonne 3 de ce tableau contient les données de taille de l'enfant
  6.             .Chart.SeriesCollection.Add (ActiveDocument.Tables(1).Columns(3))
  7.         End If
  8.    
  9.     End With
  10. end sub


 
J'ai essayé de chercher sur le net, c'est ce qui m'a orienté vers ces diverses tentatives. Mais  à l'exécution de mes fonctions, je me retrouve toujours soit avec des attributs en lecture seule (chartData en lecture seule pour les inlineshapes) ou des méthodes inconnues .... J'avoue que je ne sais plus quoi faire ... Je ne peux pas passer par une insertion de feuille excel dans mon doc word, le résultat inutilisable une fois injecté dans le logiciel de dossiers patient ....
 
Si quelqu'un avait une idée pour m'aiguiller, ce serait formidable !!
 
En vous remerciant d'avance,  
 
Sayadyn

Reply

Marsh Posté le 04-11-2012 à 22:51:38   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed