Rajouter 0 si entre 2 bornes composante Num = 2 au lieu de 3

Résolu
PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention   -  
PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour,

Suite au listage des fichiers présents dans un répertoire, je désire les renommer.....

J'utilise pour cela 2 Macros :

1- Liste des fichiers

2- Renommage des fichiers

Une opération entre les 2 est nécessaire :

Colonne A = liste

Colonne B Formule

Colonne A = Nouveau nom de fichier

Je souhaite que lorsque le nom du fichier ne comporte que 2 composantes numériques après Le mot "TIT, la formule prévoit de rajouter un 0 devant.

Exemple :

31052023-REF838544-TIT43-Z.pdf devient  REF838544_(TIT43Z).pdf

Je souhaite que,

31052023-REF838544-TIT43-Z.pdf devienne  REF838544_(TIT043Z).pdf

La formule en Colonne B n'est pas correct......

https://www.cjoint.com/c/MFbmey2Fi5D

Merci d'avance,


Windows / Firefox 102.0

4 réponses

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     

    Bonjour

    A y être avec des macros ...

    https://www.cjoint.com/c/MFbon0bd1tB

    Cdlmnt

    1
    1. PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention   21
       

      Bonjour ccm81,

      Merci la Macro ! C'est parfait !

      Cdlt

      0
  2. PapyLuc51 Messages postés 4569 Date d'inscription   Statut Membre Dernière intervention   1 511
     

    Salutations

    Et sans macro

    Pour B2 une formule plus courte

    =SUBSTITUE(DROITE(A2;NBCAR(A2)-CHERCHE("tit";A2)+1);".pdf";"")

    Par contre pour C2 une formule plus longue pour la recherche des nombres à 2 chiffres

    =STXT(A2;CHERCHE("ref";A2);9)&"_("&GAUCHE(B2;3)&SI(NBCAR(SUBSTITUE(GAUCHE(B2;CHERCHE("-";B2)-1);"TIT";""))=2;"0"&SUBSTITUE(GAUCHE(B2;CHERCHE("-";B2)-1);"TIT";"")&DROITE(B2;NBCAR(B2)-CHERCHE("-";B2)+1);SUBSTITUE(GAUCHE(B2;CHERCHE("-";B2)-1);"TIT";"")&DROITE(B2;NBCAR(B2)-CHERCHE("-";B2)+1))&").pdf"

    https://www.cjoint.com/c/MFboIRKE84o

    Cordialement

    1
    1. PapyLuc51 Messages postés 4569 Date d'inscription   Statut Membre Dernière intervention   1 511
       

      La même un peu plus courte

      =STXT(A2;CHERCHE("ref";A2);9)&"_("&GAUCHE(B2;3)&SI(NBCAR(SUBSTITUE(GAUCHE(B2;CHERCHE("-";B2)-1);"TIT";""))=2;"0";"")&SUBSTITUE(GAUCHE(B2;CHERCHE("-";B2)-1);"TIT";"")&DROITE(B2;NBCAR(B2)-CHERCHE("-";B2)+1)&").pdf"

      Cordialement

      1
      1. PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention   21 > PapyLuc51 Messages postés 4569 Date d'inscription   Statut Membre Dernière intervention  
         

        Bonjour PapyLuc51,

        C'est court, efficace et plus facile pour les non adeptes du VBA !

        Je prend aussi .....!

        Cdlt

        0
      2. PapyLuc51 Messages postés 4569 Date d'inscription   Statut Membre Dernière intervention   1 511 > PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention  
         

        Demain je tenterai de faire directement sans recourir à la colonne B

        Bonne soirée

        Cordialement

        1
      3. PapyLuc51 Messages postés 4569 Date d'inscription   Statut Membre Dernière intervention   1 511 > PapyLuc51 Messages postés 4569 Date d'inscription   Statut Membre Dernière intervention  
         

        Bonjour PYGOS69

        .

        Sans passer par des colonnes de calculs intermédiaires, la formule est assez longue (C'est la version la plus courte que j'ai trouvée -feuillet ESSAI3)

        .

        =SUBSTITUE(GAUCHE(DROITE(A2;NBCAR(A2)-CHERCHE("-";A2));CHERCHE("TIT";DROITE(A2;NBCAR(A2)-CHERCHE("-";A2)))+2);"-T";"_(T")&SI(NBCAR(GAUCHE(SUBSTITUE(A2;GAUCHE(A2;CHERCHE("tit";A2)+2);"");NBCAR(SUBSTITUE(A2;GAUCHE(A2;CHERCHE("tit";A2)+2);""))-NBCAR(DROITE(A2;NBCAR(A2)-CHERCHE("-";A2;21)+1))))=2;"0";"")&SUBSTITUE(SUBSTITUE(A2;GAUCHE(A2;CHERCHE("tit";A2)+2);"");".p";").p")

        .

        sinon un passage par DONNEES/CONVERTIR (voir feuillet ESSAI4)

        https://www.cjoint.com/c/MFcnvnQLfzo

        .

        Cordialement

        1
  3. PapyLuc51 Messages postés 4569 Date d'inscription   Statut Membre Dernière intervention   1 511
     

    Salut PYGOS69

    Je viens de m'apercevoir que les formules données maintiennent un tiret "-" dans le groupe alphanumérique entre les parenthèses ; ce qui ne correspond pas à ta demande  

    "31052023-REF838544-TIT43-Z.pdf devienne REF838544_(TIT043Z).pdf"

    J'ai tout corrigé

    https://www.cjoint.com/c/MFdgr2QifFo

    Cordialement

    1
    1. PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention   21
       

      Bonjour PapyLuc51,

      Oui en effet ! Merci pour la correction !

      Cdlt

      0
  4. PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention   21
     

    Bonjour PapyLuc,

    Merci !  Pour ta perséverance !Je teste ça ....

    Cdlt

    0