XL 2010 renommer fichiers d'un répertoire en majuscules

jeanmi

XLDnaute Occasionnel
Bonjour à tous,

Je recherche comment pouvoir renommer des fichiers d'un répertoire en majuscules,

je m'explique :

Mon fichier est nommé " A titi.xls" ou " a titi.avi"
Je souhaiterais qu'il soit renommer "A TITI" avec en plus " VUE" et l'extension qu'il avait avant d'être renommé"

Merci pour vos réponses

Cordialement
 
Solution
C
Salut JeanMi,

Désolé, je n'avais pas testé cette possibilité effectivement 🤪

Voici le code modifié que tu peux faire tourner autant de fois que tu veux 🤣
VB:
Sub RenommerMajuscule()
  Dim sFic As String, sExt As String, sPath As String
  Dim sNewFic As String
  ' Chemin des fichiers
  sPath = "D:\Excel-Downloads\JeanMi\"
  sPath = "D:\Users\PetitDou\Documents\Mes Docs EXCEL\_Excel-Pratique\"
  ' 1er fichier
  sFic = Dir(sPath & "*.*")
  ' Tant qu'il y a des fichiers
  Do While sFic <> ""
    ' Récupérer l'extension
    sExt = Mid(sFic, InStrRev(sFic, "."))
    ' Nouveau nom en majuscule + vue
    If InStr(1, sFic, "VUE") = 0 Then
      sNewFic = UCase(Left(sFic, InStrRev(sFic, ".") - 1)) & " VUE" & sExt
    Else
      ' A mettre en...
C

Compte Supprimé 979

Guest
Salut Jeanmi,

Voici un code possible
VB:
Sub RenommerMajuscule()
  Dim sFic As String, sExt As String, sPath As String
  Dim sNewFic As String
  ' Chemin des fichiers
  sPath = "D:\Excel-Downloads\JeanMi\"
  ' 1er fichier
  sFic = Dir(sPath & "*.*")
  ' Tant qu'il y a des fichiers
  Do While sFic <> ""
    ' Récupérer l'extension
    sExt = Mid(sFic, InStrRev(sFic, "."))
    ' Nouveau nom en majuscule + vue
    sNewFic = UCase(Left(sFic, InStrRev(sFic, ".") - 1)) & " VUE" & sExt
    ' Renommer le fichier
    Name sPath & sFic As sPath & sNewFic
    ' Prochain fichier
    sFic = Dir
  Loop
End Sub

@+
 

jeanmi

XLDnaute Occasionnel
re bonjour,

juste une petite question supplémentaire, par erreur j'ai lancer la procédure deux fois, et la mes fichier on donc deux fois vue qui est dans le nom initial.
est-il possible de palier à cette erreur, donc même si l'on lance plusieurs fois il n'y à qu'une fois vue après le nom.

cordialement
 
C

Compte Supprimé 979

Guest
Salut JeanMi,

Désolé, je n'avais pas testé cette possibilité effectivement 🤪

Voici le code modifié que tu peux faire tourner autant de fois que tu veux 🤣
VB:
Sub RenommerMajuscule()
  Dim sFic As String, sExt As String, sPath As String
  Dim sNewFic As String
  ' Chemin des fichiers
  sPath = "D:\Excel-Downloads\JeanMi\"
  sPath = "D:\Users\PetitDou\Documents\Mes Docs EXCEL\_Excel-Pratique\"
  ' 1er fichier
  sFic = Dir(sPath & "*.*")
  ' Tant qu'il y a des fichiers
  Do While sFic <> ""
    ' Récupérer l'extension
    sExt = Mid(sFic, InStrRev(sFic, "."))
    ' Nouveau nom en majuscule + vue
    If InStr(1, sFic, "VUE") = 0 Then
      sNewFic = UCase(Left(sFic, InStrRev(sFic, ".") - 1)) & " VUE" & sExt
    Else
      ' A mettre en commentaire après traitement
      ' Permet de remplacer le 2 fois VUE par une seul
      sNewFic = Replace(sFic, " VUE VUE", " VUE")
    End If
    ' Renommer le fichier
    Name sPath & sFic As sPath & sNewFic
    ' Prochain fichier
    sFic = Dir
  Loop
End Sub

@+
 

jeanmi

XLDnaute Occasionnel
Salut JeanMi,

Désolé, je n'avais pas testé cette possibilité effectivement 🤪

Voici le code modifié que tu peux faire tourner autant de fois que tu veux 🤣
VB:
Sub RenommerMajuscule()
  Dim sFic As String, sExt As String, sPath As String
  Dim sNewFic As String
  ' Chemin des fichiers
  sPath = "D:\Excel-Downloads\JeanMi\"
  sPath = "D:\Users\PetitDou\Documents\Mes Docs EXCEL\_Excel-Pratique\"
  ' 1er fichier
  sFic = Dir(sPath & "*.*")
  ' Tant qu'il y a des fichiers
  Do While sFic <> ""
    ' Récupérer l'extension
    sExt = Mid(sFic, InStrRev(sFic, "."))
    ' Nouveau nom en majuscule + vue
    If InStr(1, sFic, "VUE") = 0 Then
      sNewFic = UCase(Left(sFic, InStrRev(sFic, ".") - 1)) & " VUE" & sExt
    Else
      ' A mettre en commentaire après traitement
      ' Permet de remplacer le 2 fois VUE par une seul
      sNewFic = Replace(sFic, " VUE VUE", " VUE")
    End If
    ' Renommer le fichier
    Name sPath & sFic As sPath & sNewFic
    ' Prochain fichier
    sFic = Dir
  Loop
End Sub

@+
Bonjour @BrunoM45 , bonjour à tous,

Merci pour le code qui fonctionne très bien.
C'est moi qui suis désolé d'avoir demandé un petit plus qui a était révélé par une erreur de manipulation de ma part.
ça fonctionne à merveille.

Bien cordialement
 

jeanmi

XLDnaute Occasionnel
Salut JeanMi,

Désolé, je n'avais pas testé cette possibilité effectivement 🤪

Voici le code modifié que tu peux faire tourner autant de fois que tu veux 🤣
VB:
Sub RenommerMajuscule()
  Dim sFic As String, sExt As String, sPath As String
  Dim sNewFic As String
  ' Chemin des fichiers
  sPath = "D:\Excel-Downloads\JeanMi\"
  sPath = "D:\Users\PetitDou\Documents\Mes Docs EXCEL\_Excel-Pratique\"
  ' 1er fichier
  sFic = Dir(sPath & "*.*")
  ' Tant qu'il y a des fichiers
  Do While sFic <> ""
    ' Récupérer l'extension
    sExt = Mid(sFic, InStrRev(sFic, "."))
    ' Nouveau nom en majuscule + vue
    If InStr(1, sFic, "VUE") = 0 Then
      sNewFic = UCase(Left(sFic, InStrRev(sFic, ".") - 1)) & " VUE" & sExt
    Else
      ' A mettre en commentaire après traitement
      ' Permet de remplacer le 2 fois VUE par une seul
      sNewFic = Replace(sFic, " VUE VUE", " VUE")
    End If
    ' Renommer le fichier
    Name sPath & sFic As sPath & sNewFic
    ' Prochain fichier
    sFic = Dir
  Loop
End Sub

@+
re bonjour @BrunoM45

Encore un petit plus, je vient d'avoir le cas ou après traitement , qui fonctionne bien, j'ai modifier le nom d'un de mes fichiers car il y avait une erreur dans le texte, modification en minuscule.

Est là lorsque je relance la procédure, pas de pb sauf que les minuscules ne sont pas transformées en majuscules.
y a t-il un solution à ce cas ?

Merci pour la réponse.
Bien cordialement
 

Discussions similaires

Statistiques des forums

Discussions
312 104
Messages
2 085 349
Membres
102 869
dernier inscrit
radyreth