Aller au contenu
  • 0
catamarca

Extraire partie d'un texte et le remplacer

Question

Bonjour à tous, 

je voudrais trouver comment auto-remplir une rubrique sur la base d'un code contenu dans une autre rubrique. Le code contient des lettres et des chiffres, les lettres correspondant à l'abréviation d'un nom de site archéologique, et le n° est le n° de site. Pour les besoins administratifs je voudrais "traduire" le code original en texte, exemple: le site "LB2" devient "Laguna Blanca 2". Le problème c'est que tous les codes de site n'ont pas 2 lettres, certains en ont trois. J'avais pensé à utiliser la fonction "Début" mais le nombre de lettres étant variable ça ne pourra pas marcher. J'imagine qu'il faudrait une liste de tous les codes de sites et leurs correspondances, mais je ne vois pas comment mettre en place le calcul (ou script?).

Merci d'avance!

Sabine

Partager ce message


Lien à poster
Partager sur d’autres sites

4 réponses à cette question

Messages recommandés

  • 0

Bonjour,

La table de correspondance est effectivement la bonne solution car elle est plus facilement évolutive et gérable qu'un calcul auto entrée qu'il faudra modifier régulièrement.

Tu as donc ta table qui contient LB2, une table de correspondance qui contient LB2 et une seconde rubrique avec la désignation Laguna Blanca 2.

Ensuite, si tu veux afficher la désignation, tu fais un lien sur le code, si tu veux que la table de base contienne la désignation, tu fais une auto entrée en allant chercher la valeur dans la table de correspondance. Le lien sera quoiqu'il arrive sur le code.

Attention, si tu fais une auto entrée, dans le cas où ta désignation change à l'avenir, il faudra venir mettre à jour la désignation si cette dernière est contenue dans la table de base.

Tom

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Génial, merci Tom.

Comment est-ce que je pourrais faire pour récupérer l'abréviation du nom de site, ici "LB", mais dans le cas où certains sites ont 3 voire 4 lettres suivi de chiffre(s). L'idéal serait de pouvoir le faire automatiquement pour ne pas avoir à compléter la table de correspondance à chaque fois qu'on va créer un nouvel enregistrement de site. J'imagine un calcul avec condition Si (si le code contient "LB" alors l'abréviation site sera "LB", s'il contient 'PIN" alors... etc.) Mais j'ai beau tourner dans tous les sens le calcul lui ne tourne pas :p 

J'avoue encore débuter, mais je me soigne ^^ 

Encore merci !!

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Bonsoir,

Cela dépend des types de code.

Exemple si tous tes codes sont de la forme LB_X ou PIN_Y il suffirait de récupérer la partie avant underscore.

Dans ton cas, si le code est la partie texte avant le chiffre, il faut en effet faire un calcul qui dit si dernier caractère est un chiffre alors on prend longueur moins dernier caractère, est ce le cas ?

De toute façon, si à chaque fois qu'on crée un site, il faut créer une entrée dans la table des correspondances, il faudra aller renseigner la désignation sauf si tu peux aller la chercher ailleurs ?

Tom

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Bonjour !

J'avais trouvé la Fonction ObtenirNombre, mais il n'existe pas  un "ObtenirTexte" pour séparer seulement les lettres?

En tout cas, merci pour les pistes, ça m'a permis de trouver la réponse là:

C'est idiot mais à chaque fois que j'arrive à rendre opérationnelle une idée je suis super contente ^^

Du coup ça c'était la 2° partie du problème. Maintenant, quand je crée un nouveau site sur ma table liée principale (Table des sites), comment mettre en place un script qui crée automatiquement une fiche sur la table de correspondance au moment de la création de ce nouveau site?

[Edit: trouvé!! là:

Encore mille merci!!]

Sabine

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

  • En ligne récemment   0 membre est en ligne

    Aucun utilisateur enregistré regarde cette page.

×