Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Visio

Visio Forum d'entraide sur Microsoft Office Visio (schémas et diagrammes)

Réponse
 
Outils de la discussion
Vieux 11/07/2008, 11h20   #1 (permalink)
Membre Confirmé
 
Date d'inscription: mars 2008
Messages: 202
Par défaut creer un objet

bonjour,
j'ai creer un dijoncteur dans mon gabarit donc j'ai plusieur shape car je voudrais fermer le disj en fonction de ce que l'utilisateur demande

je coudrais rendre visible ou invisble la shape "DJ ouvert" et "Dj fermer" ou changer les couleurs

Donc je doit ecrire mon code dans module ou mmodule de class?
et comment j'accede a la fonction visible?

merci
cortex59 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 11/07/2008, 11h25   #2 (permalink)
Membre Confirmé
 
Date d'inscription: mars 2008
Messages: 202
Par défaut

donc comme je comprend
dans fenetre -> afficher la feuille shapesheet -> dblclick j'appele un module
ce module permet d'apeleler ma userform. ca c OK

mais maintenant comment je rend visible les certaine shape de mon objet et sutrtout ou va ce code (dans un module de class si oui je fais appel a ce module a quel moment?

merci
cortex59 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 11/07/2008, 12h13   #3 (permalink)
Membre régulier
 
Date d'inscription: mai 2008
Âge: 23
Messages: 136
Par défaut

Salut

Pourquoi ne pas mettre ton objet en transparent 100% pour invisible
et 0% pour visible
nicolas_151 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 11/07/2008, 13h27   #4 (permalink)
Membre Confirmé
 
Date d'inscription: mars 2008
Messages: 202
Par défaut

OK mais comment

pour l'instant j'ai recuperer ma shape
Code :
Dim sh As Visio.shape
Set sh = parent.getVisioElem().Shapes("ouvert")
donc comment fait ton soit pour la mettre visible invisble ou transparent?

sh.CellsSRC(visSectionObject, ...
un truc comme ca non?


merci
cortex59 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 11/07/2008, 13h31   #5 (permalink)
Membre Confirmé
 
Date d'inscription: mars 2008
Messages: 202
Par défaut

Set sh = parent.getVisioElem().Shapes("ouvert")

ceci ne fonctionne meme pas
comment je dois declarer parent

dim parent as ...

Dernière modification par cortex59 ; 11/07/2008 à 13h43
cortex59 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 11/07/2008, 14h09   #6 (permalink)
Membre régulier
 
Date d'inscription: mai 2008
Âge: 23
Messages: 136
Par défaut

Cellule de la shape sheet

si ton objet possede:

un fond : FillBkgndTrans = 100%
FillForegndTrans = 100%
Un contour : LineColorTrans = 100%
du texte : Hidetext = False
nicolas_151 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 11/07/2008, 14h13   #7 (permalink)
Membre régulier
 
Date d'inscription: mai 2008
Âge: 23
Messages: 136
Par défaut

Citation:
Envoyé par cortex59 Voir le message
Set sh = parent.getVisioElem().Shapes("ouvert")

ceci ne fonctionne meme pas
comment je dois declarer parent

dim parent as ...
Pourquoi passer par un parent ?
nicolas_151 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 11/07/2008, 14h17   #8 (permalink)
Membre Confirmé
 
Date d'inscription: mars 2008
Messages: 202
Par défaut

je ne sais pas trop comment je doit faire lol

tu ferais comment?
cortex59 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 11/07/2008, 14h35   #9 (permalink)
Membre régulier
 
Date d'inscription: mai 2008
Âge: 23
Messages: 136
Par défaut

moi ce que je ferai

Code :
Dim shap As Visio.Shapes
Set shap = ActivePage.Shapes.Item("Dijoncteur")
shap.Cells("FillBkgndTrans").Result("%") = 100
shap.Cells("LineColorTrans").Result("%") = 100
.
.
.
sinon il y au une autre méthode sans passer par VBA
=IF(STRSAME(Condition,= résultat),"valeur a mettre dans la cellule :","Sinon autre valeur")
équation a entrée dans la cellule concerné

tu pourrais créer une action qui quand on appuis on masque ou on affiche, mais ce a peut être assez compliquer mais plus sympa comme résultat
nicolas_151 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 11/07/2008, 14h46   #10 (permalink)
Membre Confirmé
 
Date d'inscription: mars 2008
Messages: 202
Par défaut

il ne trouve pas ma shape qui est dans mon objet

Code :
Set shap = ActivePage.Shapes("ouvert")
cortex59 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 11/07/2008, 14h49   #11 (permalink)
Membre régulier
 
Date d'inscription: mai 2008
Âge: 23
Messages: 136
Par défaut

Code :
Dim shap As Visio.Shapes
Set shap = ActivePage.Shapes.Item("Dijoncteur").Shapes.Item("ouvert")
Selection de lobjet
puis de l'objet dans lobjet
nicolas_151 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 11/07/2008, 15h00   #12 (permalink)
Membre Confirmé
 
Date d'inscription: mars 2008
Messages: 202
Par défaut

ceci ne fonctionne pas
voici mon arboresance

- Disjoncteur
- DJ
.ouvert
.ferme
cortex59 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 15/07/2008, 11h06   #13 (permalink)
Membre régulier
 
Date d'inscription: mai 2008
Âge: 23
Messages: 136
Par défaut

RoHHHH

excuse

Code :
Dim shap As Visio.Shape
Set shap = ActivePage.Shapes.Item("Dijoncteur").Shapes.Item("DJ.ouvert")
un s c'est glisser dans ma déclaration

si tu possède plusieurs disjoncteur faire une recherche par parcourt pour la première sélection

Code :
Dim obs As Visio.Shapes
 Dim ob  As Visio.Shape
 
 ' Création collection Objets de la pages
 Set obs = ThisDocument.Application.ActivePage.Shapes
 
 
 For Each ob In obs
   If InStr(ob.NameU, "Dijoncteur") Then    
...
end if
next
 
nicolas_151 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 16/07/2008, 08h49   #14 (permalink)
Membre Confirmé
 
Date d'inscription: mars 2008
Messages: 202
Par défaut

Ceci ne fonctrionne toujour pas!

donc j'ai creer un composant dans le gabarit visio. Ce composant s'appel "disjoncteur".
j'ai ensuite desinner 2 traits un vertical et un en diago ils s'appels "ouvert" et "ferme".
Puis j'ai gouper ces 2 traits. le groupe s'appel "DJ"

l'erreur qui ressort est : "Nom d'objet introuvable"

merci
cortex59 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 16/07/2008, 10h01   #15 (permalink)
Membre régulier
 
Date d'inscription: mai 2008
Âge: 23
Messages: 136
Par défaut

ton dj est dans dijoncteur
alors il faut un niveau de plus
Code :
Dim shap As Visio.Shape
Set shap = ActivePage.Shapes.Item("Dijoncteur").Shapes.Item("DJ")Shapes.Item("Ouvert")
Mais procede par elimination

tu selectionne dijoncteur ?
tu selectionne dj ?
tu selectionne Ouvert ?

en fait tu possede trois nieveaux (si j'ai bien compris)
nicolas_151 est déconnecté   Envoyer un message privé Réponse avec citation
Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Visio

 
Offres d' emploi informatique sur Lesjeudis.com


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide