banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oubliĂ© ?

#1 Tue 27 March 2007 18:36

caz_elia
Participant occasionnel
Lieu: Quebec
Date d'inscription: 27 Mar 2007
Messages: 21

calcul longueur : "error running vba : user interrupt"

Bonjour je suis stagiaire, et je ne suis pas au point avec arcgis.

je cherche a calculer la longueur de mes polylignes. voici ce que j ai fait :
-j ai donc crée un nouveau champs "D_trat" en double avec une precision de 5 et un scale de 0.
-j ai ouvert la calculate values de mon nouveau champs en mode advanced
- j ai mis le code VBA suivant :
Dim dblLength as double
Dim pCurve as ICurve
Set pCurve = [shape]
dblLength = pCurve.Length
et en valeur :
dblLength

et quand je met ok ...."error running vba : user interrupt"

que dois je changer, ou verifier afin que cela marche?

merci de me repondre

Hors ligne

 

#2 Tue 27 March 2007 19:37

Cyril Ă  Alger
Participant actif
Lieu: Mumbai
Date d'inscription: 28 Aug 2006
Messages: 62
Site web

Re: calcul longueur : "error running vba : user interrupt"

bonjour

Dim D_trat as double
Dim pCurve as ICurve
Set pCurve = [shape]
D_trat = pCurve.Length

et en dessous puisque vous utilisez les fonctions avancées
D_trat =
pCurve.Length

alors explication dans l'exemple que vous avez pris, dblLength est la variable à calculer chez vous égale donc à D_trat voilà pourquoi ça ne marchait pas
La variable dans ce cas est le nom du champ en question
moralité le copier-coller c'est bien mais tout lire avant c'est mieux (j'admet c'est pas limpide non plus)
Voilà bonne soirée

Dernière modification par Cyril Ă  Alger (Tue 27 March 2007 19:41)

Hors ligne

 

#3 Tue 27 March 2007 23:14

Cyril Ă  Alger
Participant actif
Lieu: Mumbai
Date d'inscription: 28 Aug 2006
Messages: 62
Site web

Re: calcul longueur : "error running vba : user interrupt"

bonjour

Dim D_trat as double
Dim pCurve as ICurve
Set pCurve = [shape]
D_trat = pCurve.Length

et en dessous puisque vous utilisez les fonctions avancées
D_trat =
pCurve.Length

alors explication dans l'exemple dblLength est la définition de la variable chez égale donc D_trat voilà pourquoi ça ne marchait pas
moralité le copier colle c'est bien mais tout lire avant c'est mieux (j'admet c'est pas limpide non plus
Voilà bonne soirée

Hors ligne

 

#4 Wed 28 March 2007 09:25

caz_elia
Participant occasionnel
Lieu: Quebec
Date d'inscription: 27 Mar 2007
Messages: 21

Re: calcul longueur : "error running vba : user interrupt"

alors ,

j ai refait la manip en appellant mon champs D_trait et en notant :

Dim D_trait as double
Dim pCurve as ICurve
Set pCurve = [shape]
D_trait = pCurve.Length

puis :
pCurve.Length

et j ai toujours le meme message d erreur... quels sont les erreurs possibles?

merci de me repondre

Hors ligne

 

#5 Wed 28 March 2007 11:07

Tnarbiv
Participant assidu
Lieu: Véretz
Date d'inscription: 5 Sep 2005
Messages: 392

Re: calcul longueur : "error running vba : user interrupt"

salut,
le plus simple c'est que tu ailles sur le site du support d'esrifrance http://support.esrifrance.fr/outilsscri … tries.html et que tu tĂ©lĂ©charges la bonne formule et tu la charges dans la calculatrice en faisant attention de au nom des champs.

maintenant pour ton erreur j'aimerai savoir une chose : tu cliques sur le bouton avancé à quel moment ? une fois avoir écrit ton code ou avant de l'écrire ?

Attention Ă  [shape] le plus simple serait que tu double-cliques sur le champ Shape proposait dans la liste des champs.

Dernière modification par Tnarbiv (Wed 28 March 2007 11:09)


Ayez le réflexe "Développement Durable": N'imprimez ce message que si nécessaire.

Hors ligne

 

#6 Wed 28 March 2007 13:32

Cyril Ă  Alger
Participant actif
Lieu: Mumbai
Date d'inscription: 28 Aug 2006
Messages: 62
Site web

Re: calcul longueur : "error running vba : user interrupt"

Alors je n'ai pas de réponse !
je viens de refaire cette manip avec vos paramètres et le tout à fonctionner normalement
Si ce fichier n'est pas trop gros me le faire passer (+SHX, DBF, plus projection) pour que je puisse essayer de comprendre
Désolé

Hors ligne

 

#7 Wed 28 March 2007 15:28

mfrebout
Participant occasionnel
Lieu: Tours
Date d'inscription: 5 Sep 2005
Messages: 37
Site web

Re: calcul longueur : "error running vba : user interrupt"

Bonjour,

En ce qui me concerne, j'ai rencontré la même erreur avec laquelle je me suis longtemps battue ; en définitive, la seule solution qui a fonctionné fut de supprimer le fichier arcmap.mxt, puis de relancer ArcMap afin que ce fichier soit régénéré et donc tout neuf.
Suite à cette manip, mes calculs se sont réalisés tout seuls !! Ca vaut le coup d'essayer et si tu ne veux pas le supprimer, renommes-le !



Cordialement,           

            Mireille FrĂ©bout

Conseil Général d'Indre et Loire
   Service du DĂ©veloppement
des Techniques de l'Information

         Chef de Projet SIG

Conseil GĂ©nĂ©ral  d'Indre et Loire
       Place de la PrĂ©fecture
    37927 TOURS CEDEX 9

e-mail : mfrebout@texte-a-enlever.cg37.fr
tel : 02.47.29.44.64

Hors ligne

 

#8 Wed 28 March 2007 15:39

Tnarbiv
Participant assidu
Lieu: Véretz
Date d'inscription: 5 Sep 2005
Messages: 392

Re: calcul longueur : "error running vba : user interrupt"

salut,

une autre solution
pourquoi ne travailles tu pas avec une classe d'entités de géodatabase dans laquelle un champ Shape_length sera créé automatiquement, mis à jour dynamiquement et qui calcule la longueur de vos lignes.


Ayez le réflexe "Développement Durable": N'imprimez ce message que si nécessaire.

Hors ligne

 

#9 Wed 28 March 2007 17:05

JB Nivault
Participant occasionnel
Lieu: Hérault
Date d'inscription: 12 Sep 2005
Messages: 35

Re: calcul longueur : "error running vba : user interrupt"

Bonjour,

*Je rencontre souvent ce problème et ce message d'erreur avec la calculatrice simple

Dim dblArea as Double
Dim pArea as IArea
Set pArea = [shape]
dblArea = PArea.Area

*mais plus avec la calculatrice en mode avancé :

Dim dblArea as Double
Dim pArea as IArea
Set pArea = [shape]

et "champ" =

PArea.Area

Je ne comprends pas mais ça marche...

JB Nivault


Jean Baptiste Nivault
SIG Routes
Conseil Général de l'Hérault

Hors ligne

 

#10 Tue 03 April 2007 09:40

caz_elia
Participant occasionnel
Lieu: Quebec
Date d'inscription: 27 Mar 2007
Messages: 21

Re: calcul longueur : "error running vba : user interrupt"

Merci Ă  tous pour votre coup de main.

Je ne sais toujours pas pourquoi je n arrive pas a calculer mes longueurs a l aide de la calculette, mais ça semble marcher via la geodatabase.


desole du temps de reponse : j etais sur le terrain ...et je vous ai un peu zappé.

Hors ligne

 

Pied de page des forums

Copyright Association GeoRezo