Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Tue 25 October 2005 09:45

loloi
Participant actif
Lieu: rennes
Date d'inscription: 5 Sep 2005
Messages: 67

ARCGIS 8.3 - champ largeur définie

Bonjour,

J'ai un problème avec la création automatique d'un champ à partir d'un autre champ.

J'ai un champ qui contient soit un chiffre soit un nombre (codé jusqu'à 99). Je dois créer au résultat un champ obligatoirement de 5 caractères de type 00004, 00005 ou 00099. Je dois donc ajouter soit 4 "0" soit 3 "0" à mes valeurs.

Comment faire pour automatiser cette procèdure ?

J'ai essayé d'utiliser la commande Lpad en VBA mais cela ne semble pas fonctionner.

Merci par avance

Florent DUCHESNAY      Conseil général du Doubs
Adresse électronique : florent.duchesnay@texte-a-enlever.doubs.fr
Le Conseil général du Doubs sur Internet : www.doubs.fr

Hors ligne

 

#2 Tue 25 October 2005 11:37

pffred
Juste Inscrit !
Date d'inscription: 5 Sep 2005
Messages: 2

Re: ARCGIS 8.3 - champ largeur définie

Bonjour Florent,

Tu peux peut-être utilisé la fonction Select case dans la calculatrice en mode avancé.
Je m'explique :
Si tu as tes 2 champs  avec les valeurs :
<MonID> <MonRes>
        1         
        2
        3
        4
        .
        .
        .
      99
Dans ta calculatrice en mode avancé, colle le texte suivant dans la zone "PreLogic VBA script code" :

Code:

Dim MonRes as string
select Case [MonID]
Case <10
MonRes = "0000" & [MonID]
Case  10 to 99
MonRes = "000" & [MonID]
End Select

Et dans la petite fenêtre du dessous:

Code:

MonRes

Tu obtiens ainsi :
<MonID> <MonRes>
        1          00001
        2          00002
        3          00003
        4          00004
        .
        .
        .
      99          00099


En espérant que cela puisse t'aider

Dernière modification par pffred (Tue 25 October 2005 12:05)

Hors ligne

 

#3 Thu 17 November 2005 14:33

DrassCentreSSE
Participant occasionnel
Date d'inscription: 17 Nov 2005
Messages: 13

Re: ARCGIS 8.3 - champ largeur définie

en essayant avec la calculette la formule suivante (sur un champ de type texte d'au moins 7 caractères) :

right ("00000" & Str([Champ]),5)

- Str([Champ]) convertit le nombre (entier) en texte auquel on ajoute 5 zéros (puisque vous souhaitez 5 caractères)
- La fonction right(expression, 5) prend les 5 caractères à partir de la droite.

pour 99, cela donne 0000099 dont on prend les 5 derniers caractères : 00099
pour 2, cela donne 000002 dont on prend les 5 derniers caractères : 00002

et vous n'êtes pas limité à 99. Vous pouvez aller jusqu'à 99999...

Hors ligne

 

Pied de page des forums

Powered by FluxBB