Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Visio
Visio Forum d'entraide sur Microsoft Office Visio (schémas et diagrammes)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/07/2008, 11h20   #1
Membre du Club
 
Inscription : mars 2008
Messages : 291
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 291
Points : 67
Points : 67
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 00
Vieux 11/07/2008, 11h25   #2
Membre du Club
 
Inscription : mars 2008
Messages : 291
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 291
Points : 67
Points : 67
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 00
Vieux 11/07/2008, 12h13   #3
Membre habitué
 
Étudiant
Inscription : mai 2008
Messages : 130
Détails du profil
Informations personnelles :
Âge : 26

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2008
Messages : 130
Points : 146
Points : 146
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 00
Vieux 11/07/2008, 13h27   #4
Membre du Club
 
Inscription : mars 2008
Messages : 291
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 291
Points : 67
Points : 67
OK mais comment

pour l'instant j'ai recuperer ma shape
Code :
1
2
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 00
Vieux 11/07/2008, 13h31   #5
Membre du Club
 
Inscription : mars 2008
Messages : 291
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 291
Points : 67
Points : 67
Set sh = parent.getVisioElem().Shapes("ouvert")

ceci ne fonctionne meme pas
comment je dois declarer parent

dim parent as ...
cortex59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2008, 14h09   #6
Membre habitué
 
Étudiant
Inscription : mai 2008
Messages : 130
Détails du profil
Informations personnelles :
Âge : 26

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2008
Messages : 130
Points : 146
Points : 146
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 00
Vieux 11/07/2008, 14h13   #7
Membre habitué
 
Étudiant
Inscription : mai 2008
Messages : 130
Détails du profil
Informations personnelles :
Âge : 26

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2008
Messages : 130
Points : 146
Points : 146
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 00
Vieux 11/07/2008, 14h17   #8
Membre du Club
 
Inscription : mars 2008
Messages : 291
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 291
Points : 67
Points : 67
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 00
Vieux 11/07/2008, 14h35   #9
Membre habitué
 
Étudiant
Inscription : mai 2008
Messages : 130
Détails du profil
Informations personnelles :
Âge : 26

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2008
Messages : 130
Points : 146
Points : 146
moi ce que je ferai

Code :
1
2
3
4
5
6
7
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 00
Vieux 11/07/2008, 14h46   #10
Membre du Club
 
Inscription : mars 2008
Messages : 291
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 291
Points : 67
Points : 67
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 00
Vieux 11/07/2008, 14h49   #11
Membre habitué
 
Étudiant
Inscription : mai 2008
Messages : 130
Détails du profil
Informations personnelles :
Âge : 26

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2008
Messages : 130
Points : 146
Points : 146
Code :
1
2
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 00
Vieux 11/07/2008, 15h00   #12
Membre du Club
 
Inscription : mars 2008
Messages : 291
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 291
Points : 67
Points : 67
ceci ne fonctionne pas
voici mon arboresance

- Disjoncteur
- DJ
.ouvert
.ferme
cortex59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2008, 11h06   #13
Membre habitué
 
Étudiant
Inscription : mai 2008
Messages : 130
Détails du profil
Informations personnelles :
Âge : 26

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2008
Messages : 130
Points : 146
Points : 146
RoHHHH

excuse

Code :
1
2
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 :
1
2
3
4
5
6
7
8
9
10
11
12
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 00
Vieux 16/07/2008, 08h49   #14
Membre du Club
 
Inscription : mars 2008
Messages : 291
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 291
Points : 67
Points : 67
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 00
Vieux 16/07/2008, 10h01   #15
Membre habitué
 
Étudiant
Inscription : mai 2008
Messages : 130
Détails du profil
Informations personnelles :
Âge : 26

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2008
Messages : 130
Points : 146
Points : 146
ton dj est dans dijoncteur
alors il faut un niveau de plus
Code :
1
2
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 00
Vieux 17/07/2008, 09h13   #16
Membre habitué
 
Étudiant
Inscription : mai 2008
Messages : 130
Détails du profil
Informations personnelles :
Âge : 26

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2008
Messages : 130
Points : 146
Points : 146
Voila ce que tu devais mettre

Code :
1
2
3
4
5
Dim shap As Visio.shape
Dim shap1 As Visio.shape
 
Set shap = ActivePage.Shapes.Item("Disjoncteur").Shapes.Item("ouvert")
Set shap1 = ActivePage.Shapes.Item("Disjoncteur").Shapes.Item("ferme")
tu as seulement oublier de définir shap1
nicolas_151 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2008, 09h50   #17
Membre du Club
 
Inscription : mars 2008
Messages : 291
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 291
Points : 67
Points : 67
Quelle erreur de debutant
dans tout les cas merci pour ton aide

Par contre j'ai une autre question sur ce sujet :

Si je met plusieurs disjoncteur si je clique sur n'importe lequel il bouge le premier comment je peux les faire bouger seperement?

merci
cortex59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2008, 09h56   #18
Membre du Club
 
Inscription : mars 2008
Messages : 291
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 291
Points : 67
Points : 67
Il faut que je change le active page NON?
MAIS par quoi?

merci
cortex59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2008, 10h58   #19
Membre habitué
 
Étudiant
Inscription : mai 2008
Messages : 130
Détails du profil
Informations personnelles :
Âge : 26

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2008
Messages : 130
Points : 146
Points : 146
Dans ce que je tai renvoyer tu a regarder la procédure g
avec la sélection

copie du code de départ

Code :
1
2
3
4
5
6
7
8
9
10
11
Dim sel As Visio.Selection   ' variable sélection
Dim eqt As Visio.shape       ' Variable dj
Dim shap As Visio.shape      ' Objet ouvert
Dim shap1 As Visio.shape     ' Objet ferme
 
 
Set sel = ActiveWindow.Selection ' création de la sélection
Set eqt = sel.Item(1)            ' sélection de l'objet
 
Set shap = eqt.Shapes.Item("ouvert")          'sous objet
Set shap1 = eqt.Shapes.Item("ferme")
Avec cela seule le disjoncteur sélectionner bouge
nicolas_151 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2008, 11h11   #20
Membre du Club
 
Inscription : mars 2008
Messages : 291
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 291
Points : 67
Points : 67
Impecable tu est un AS
a bientot et encore merci
cortex59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h16.


 
 
 
 
Partenaires

Hébergement Web