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é ?

Annonce

GEODATA DAYS 2024

#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

Powered by FluxBB