VBA séparer les valeurs nombre du texte

Résolu
Tobar4 Messages postés 284 Date d'inscription   Statut Membre Dernière intervention   -  
Tobar4 Messages postés 284 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Mon service dispose de code pannes du type :
VB17A10
VA1B7
VC12A201
...

Le nombre de chiffre peut donc varier (de 1 à 5 caractère) en fonction du problème rencontré, tandis que les lettres sont toujours 2 au début puis 1 au milieu.
Je cherche à séparer dans 4 cellules distinctes les chiffres des caractères donc :
VB 117 A 10
VA 1 B 7
VC 12 A 201

Quelqu'un connait-il une méthode VBA ou une formule, sachant que les formules gauche et droite ne peuvent fonctionner étant donné le nombre de chiffre qui varie.

Pour ma première colonne, une formule =GAUCHE(A2;2) suffit, mais pour les 3 autres ???

Merci par avance

1 réponse

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    Une proposition par formule.

    en B2 :
    =MAX((CODE(STXT(STXT(A2;3;30);LIGNE(INDIRECT("1:" & NBCAR(A2)-2));1))>=65)*LIGNE(INDIRECT("1:" & NBCAR(A2)-2))+2)
    Formule matricielle à valider avec shift+ctrl+entrée.

    en C2 :
    =GAUCHE(A2;2)

    en D2 :
    =STXT(A2;3;B2-3)

    en E2 :
    =STXT(A2;B2;1)

    en F2 :
    =STXT(A2;B2+1;30)

    https://www.cjoint.com/?BFzmLYaI6UZ

    Sinon ça peut être fait par fonction personnalisée matricielle en vba.
    eric
    1
    1. Tobar4 Messages postés 284 Date d'inscription   Statut Membre Dernière intervention   94
       
      Merci beaucoup !!
      Si je pouvais je t'aurais mis +10 ca marche nickel et je n'ai pas eu à utiliser VB c'est génial !
      T.
      0