Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Convertir une série de caractères


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Convertir une série de caractères
    Bonjour;

    j'ai besoin de votre aide SVP, pour convertir une série de lettre + chiffres (adressage en logistique)en une autre série de lettre + chiffres, en passant par des fonctions mathématiques.
    - la série a convertir B4 001010002
    -il faut multiplier le 6 ém caractère(1) par 3 + le dernier caractère (2)- 3 pour trouver le résultat de 2 et
    en suite convertir le 8 ém caractère (1) en (A) et quant c'est un (2) en (B) et quant c'est (3) en (C) et en fin quant c'est un (4) en (D)
    -le résultat qu'il faut trouver : B4 02A
    merci de votre aide ! si une solution existe ?
    bonne soirée

  2. #2
    Rédacteur/Modérateur

    Bonjour,

    une solution existe tres certainement, mais quels ont été tes essais jusqu'à présent ? As tu tenté du code ? Sur quelle étape bloques tu ?

    Nous n'avons pas vocation à faire le travail à ta place, mais bien de te donner des pistes pour y arriver et t'aider à progresser par la même occasion.



    Commencons par
    (6 ém caractère)*3 + dernier caractère - 3

    a-Pour chercher un caractère spécifique dans une chaine tu peux utiliser Mid()
    b-pour prendre le dernier caractère tu peux passer par Right()

    A toi de nous montrer que tu effectues des essais pour avancer.
    Cycle de vie d'un bon programme :
    1/ ca fonctionne 2/ ca s'optimise 3/ ca se refactorise

    Pas de question technique par MP, je ne réponds pas

    Apprendre à programmer avec Access 2016 et Access 2019

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Expert éminent sénior
    Citation Envoyé par idie78 Voir le message
    - la série a convertir B4 001010002
    -il faut multiplier le 6 ém caractère(1) par 3 + le dernier caractère (2)- 3 pour trouver le résultat de 2 et
    en suite convertir le 8 ém caractère (1) en (A) et quant c'est un (2) en (B) et quant c'est (3) en (C) et en fin quant c'est un (4) en (D)
    -le résultat qu'il faut trouver : B4 02A
    Il manque des éléments dans ton explication concernant les premiers caractères.
    Je vais supposé qu'il faut conserver les 4 premiers caractères (espace compris) et éliminer le cinquième.
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    =GAUCHE(A1;4)&TEXTE(STXT(A1;6;1)*3+DROITE(A1;1)-3;"0")&CHOISIR(STXT(A1;8;1);"A";"B";"C";"D")

    Il était possible de faire plus simple en utilisant une fonction CAR() plutôt que CHOISIR() mais cette option me semble plus sûre et plus claire.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.