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

Résolu/Fermé
PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023 - Modifié le 1 juin 2023 à 14:04
PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023 - 3 juin 2023 à 13:50

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

A voir également:

4 réponses

ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 428
1 juin 2023 à 16:14

Bonjour

A y être avec des macros ...

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

Cdlmnt

1
PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023 21
1 juin 2023 à 17:22

Bonjour ccm81,

Merci la Macro ! C'est parfait !

Cdlt

0
PapyLuc51 Messages postés 4421 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 17 décembre 2024 1 448
1 juin 2023 à 16:35

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
PapyLuc51 Messages postés 4421 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 17 décembre 2024 1 448
1 juin 2023 à 16:47

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
PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023 21 > PapyLuc51 Messages postés 4421 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 17 décembre 2024
1 juin 2023 à 17:24

Bonjour PapyLuc51,

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

Je prend aussi .....!

Cdlt

0
PapyLuc51 Messages postés 4421 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 17 décembre 2024 1 448 > PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023
1 juin 2023 à 17:51

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

Bonne soirée

Cordialement

1
PapyLuc51 Messages postés 4421 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 17 décembre 2024 1 448 > PapyLuc51 Messages postés 4421 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 17 décembre 2024
Modifié le 2 juin 2023 à 15:25

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
PapyLuc51 Messages postés 4421 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 17 décembre 2024 1 448
Modifié le 3 juin 2023 à 08:20

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
PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023 21
3 juin 2023 à 13:50

Bonjour PapyLuc51,

Oui en effet ! Merci pour la correction !

Cdlt

0
PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023 21
Modifié le 2 juin 2023 à 15:29

Bonjour PapyLuc,

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

Cdlt

0