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

Visio Discussion :

Modifier des formes Visio avec des données Excel


Sujet :

Visio

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 15
    Points : 14
    Points
    14
    Par défaut Modifier des formes Visio avec des données Excel
    Bonjour

    je ne suis pas développeur professionnel, mais j'ai déjà écrit des macros en VBA dans Word et Excel. Je voudrais écrire du code dans Visio pour que des dessins se modifient automatiquement dans Visio, en lisant des valeurs dans Excel

    Exemple : une horloge dessinée dans Visio, la macro Visio allant chercher dans Excel l'angle dont les aiguilles tourneraient. Ou bien des formes à colorier, la macro Visio récupérant dans Excel la valeur de la couleur ou la longueur de la forme, etc.

    J'ai lu et relu les infos du site Visio chez Microsoft, mais la seule chose que j'ai comprise, c'est comment enregistrer dans Excel des données de Visio (mais moi, c'est l'inverse qui m'intéresse )

    Quelqu'un possède un exemple ?

    Merci d'avance
    Hubs

  2. #2
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    Bonjour,

    Il faut utiliser l'assistant base de données (en tout cas avant la version 2007 je crois) :
    utiliser l'Assistant Bases de données de Visio avec Microsoft Excel
    (l'article est pour visio 5, c'est le même principe avec Visio 2000)

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 15
    Points : 14
    Points
    14
    Par défaut
    Merci. Je ne connaissais pas ce tutoriel.
    Ce n'est pas tout à fait ce que j'espérais, mais j'ai essayé et ça fonctionne. Maintenant, il va falloir que je comprenne bien comment programmer l'ouverture du fichier excel, l'identification des bonnes valeurs dans la table, etc. Mais ça devrait le faire.

    Merci encore
    cordialement
    Hubs

  4. #4
    lvr
    lvr est actuellement connecté
    Membre extrêmement actif Avatar de lvr
    Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2006
    Messages
    909
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Avril 2006
    Messages : 909
    Points : 1 360
    Points
    1 360
    Par défaut
    L'ouverture du fiichier Excel en code, c'est pas très compliqué:
    Voici comment je fais dans un autre contexte: Access ouvre un document Word (le principe est similaire):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    Dim doc As Word.Document
    Dim alreadyOpenedDoc as boolean: alreadyOpenedDoc = False
     
    ' On crée un objet Word si on n'en a pas déjà un
    If (objWordClient Is Nothing) Then
       On Error GoTo NoAutoFill
       Set objWordClient = CreateObject("Word.Application")
       On Error GoTo 0
       End If
     
     
    ' On vérifie si le document est déjà ouvert dans Word, si oui on passe à son traitement
    Set doc = objWordClient.Documents(DocFichier)
    If (Err = 0) Then
       alreadyOpenedDoc = True
       GoTo ok
       End If
     
    Err.Clear
     
    ' Si le document n'est pas déjà ouvert, on l'ouvre
    Set doc = objWordClient.Documents.Open(FileName:=pathToDoc, _
                    ReadOnly:=True, Addtorecentfiles:=False)
     
    If (Err <> 0) Then GoTo NoAutoFill
     
    ok:     ' OK, on a un document Word
    On Error GoTo AutoFillError
    Remarque: pathToDoc est le chemin complet pour trouver le document, DocFichier est le nom du fichier.


    Une fois que ton fichier est ouvert tu peux le manipuler et accéder à ses données. Je te conseille de travailler avec des Names plutôt qu'avec des cellules hardcodées. Cela donnerait (code pour Excel):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim wkb As Workbook
    Dim rge As Range
    On Error Resume Next
    Set rge = wkb.Names("mon_horloge").RefersTo
    If Err <> 0 Then
        MsgBox "Invalid name reference"
        Exit Sub
        End If
    On Error GoTo 0
    Attention en créant un objet Word (ou Excel) via CreateObject (donc par OLE), il se peut que tu ne vois pas Excel ouvert mais il l'est bien. Regarde dans les process et tu verras un "excel.exe". Si après un crash, tout ne refonctionne pas bien, vérifie que tu n'as pas ce excel.exe qui traîne. Si oui, tue le.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 15
    Points : 14
    Points
    14
    Par défaut
    Super

    merci beaucoup

Discussions similaires

  1. [Dojo] Populer Dijit.form.FilteringForm avec des données JSON
    Par andlio dans le forum Bibliothèques & Frameworks
    Réponses: 7
    Dernier message: 22/12/2011, 16h49
  2. Remplir des formes graphiques avec des motifs (quadrillage, ligne verticale, etc)
    Par La Piotte dans le forum Interfaces Graphiques en Java
    Réponses: 3
    Dernier message: 04/10/2007, 00h16
  3. Réponses: 2
    Dernier message: 07/06/2007, 16h07
  4. [Forms]boutons avec des icônes
    Par poula dans le forum Forms
    Réponses: 3
    Dernier message: 15/01/2007, 09h56
  5. Remplissage d'une forme gauche avec des rectangles
    Par Aiekick dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 24/03/2006, 19h00

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