Précédent   Forum du club des développeurs et IT Pro > 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
 
Outils de la discussion
Publicité
'
Vieux 21/11/2012, 17h06   #1
ashallar
Invité de passage
 
Homme
Étudiant
Inscription : juillet 2012
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juillet 2012
Messages : 5
Points : 0
Points : 0
Par défaut Une exception s'est produite, problème changement formule forme

Bonjour, je viens vers vous aujourd'hui car j'ai un petit problème sur mon code actuellement:

lorsque je drop un objet particulier sur la page active, je met en mémoire cette forme et j'ouvre une userform pour demander certaines choses à l'utilisateur.

Voici le code contenu dans Document - ShapeAdded, donc le code qui est générer au drop d'un objet sur la pageactive:

Code :
1
2
3
4
5
6
7
Private Sub Document_ShapeAdded(ByVal Shape As IVShape)
 
    If Mid(Shape.Name, 1, 14) = "Lien dynamique" Then
        Set UserForm1.vsoshape = Shape
        UserForm1.Show
    End If
End Sub
vsoshape à été définie en Public dans la partie code de la userform:

Code :
Public vsoshape As IVShape
Après avoir stocké ma forme, je n'y touche plus, je fait des manips annexes, puis, je trouve une formule que je veut réinsérer dans certaines cellules de ma shape mise en mémoire, ainsi j'obtiens cette ligne de code, pour mettre la formule de droite dans la cellule indiquée:

Code :
UserForm1.vsoshape.Cells("EndX").Formula = "PAR(PNT(" & end_string & "!Connections.X2," & end_string & "!Connections.Y2))"
Et là, à la compilation, je me retrouve avec un code d'erreur: "Une exception s'est produite" Erreur d'execution '-2032464666 (86db0ce6)'
sur la ligne citée juste au-dessus.

J'ai donc fait des tests, essayer de concaténer à part et de remplacer après, même erreur, j'ai placer juste un "90mm" et cela fonctionne, je ne vois donc pas comment faire, quelle est mon erreur.

Merci d'avance pour vos réponses, cordialement.
ashallar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2012, 15h37   #2
Ariaar
Nouveau Membre du Club
 
Homme
Étudiant
Inscription : août 2012
Messages : 27
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Val d'Oise (Île de France)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2012
Messages : 27
Points : 28
Points : 28
Bonjour ashallar,

Si j'ai bien compris, tu cherches à connecter ta forme stocké, un lien dynamique, à une autre forme dont le nom est contenu dans la string end_string?

Si c'est bien cela, tu devrais plutôt essayer d'utiliser la méthode GlueTo, qui permet de lier une cellule à une autre. Tu appelles la méthode sur la cellule "EndX" de ton lien dynamique, et tu lui donnes en paramètre une cellule correspondant à un point de connexion.

Autre conseil qui n'a rien à voir avec ta question: tu devrais plutôt utilisé la propriété NameU de ta forme pour vérifier que c'est bien un lien dynamique, plutôt que Name. Si jamais ton application est amenée à être utilisée dans un pays non francophone, ta condition sera toujours fausse.

En espérant avoir répondu à ta question,
Ariaar est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 06h20.


 
 
 
 
Partenaires

Hébergement Web