Mise en forme de caaractères dans cellule

  • Initiateur de la discussion Initiateur de la discussion Chris57
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Chris57

XLDnaute Occasionnel
Mise en forme de caractères dans cellule

Bonjour à tous,

je cherche à fignoler un renommeur de fichiers (mp3 ou wav).

Grâce au forum j'ai trouvé le moyen d'ouvrir un dossier et de copier le nom des fichiers s'y trouvant dans un tableau excel. Puis je modifie les noms à ma guise et finalement je renomme les fichiers avec les nouveaux noms.


Mais j'ai quelques points que je n'arrive pas à traduire en VBA (mais pas en formules)

Mes titres doivent avoir la forme suivante :
1- ARTISTE EN MAJUSCULE - Titre En Minuscules - Année.xxx



Voici ce que je n'arrive pas à traduire en VBA :

- Virer automatiquement les _ indésirables

- Repérer les 3 "-" : il faut que le numéro de la piste soit directement suivit d'un "-" puis d'un espace
les autres "-" doivent être précédés et suivis de 2 espaces. Mais il arrive que le nombre d'espace soit pas bon je cherche comment le corriger automatiquement.

- Le nom de l'artiste tout en majuscule

- Le titre du morceau doit être en minuscules mais avec les premières lettres en majuscules.


Par exemple voici le genre de fichiers que j'ai :
1 - nom de l'artiste- titre-année
ou encore
1-nom de l'artiste -titre - année


Merci d'avance !!
 

Pièces jointes

Dernière édition:
Re : Mise en forme de caaractères dans cellule

Bonsoir,
Avec le nom en A1 et formaté comme indiqué à condition qu'il n'y ait pas de nom composé (ex: Joe-Butagaz)
Code:
Sub reformate()
Range("A1") = Replace(Range("A1"), "_", " ")
T = Split(Range("A1"), "-")
    T(0) = Trim(T(0))
    T(1) = "  " & Trim(UCase(T(1))) & "  "
    T(2) = "  " & Trim(Application.Proper(T(2))) & "  "
    T(3) = "  " & Trim(T(3))
Range("A1") = Join(T, "-")
End Sub
A+
kjin
 
Re : Mise en forme de caaractères dans cellule

absolument génial !!! 1000 et 1 merci !

je découvre de nouvelles instructions VBA que je ne connaissait absolument pas !!
Merci !!


Il me reste toutefois un souci : il arrive que j'ai des titres sans date, donc il y a moins de "-". Dans ce cas la macro plante (normal)

Je cherche le moyen de compter (en VBA) le nombre de "-" dans la cellule et en fonction de la réponse je pourrai choisir le type de mise en forme.

Après 2h00 de recherche j'ai trouvé ceci :
Code:
Public Function nbOccurences(car As String, chaine As String) As Integer
Dim i As Integer, res As Integer
    res = 0
    For i = 1 To Len(chaine)
        If Mid(chaine, i, 1) = car Then
            res = res + 1
        End If
    Next
    nbOccurences = res
End Function

mais je n'arrive pas à traduire ça en une commande VBA...
 
Re : Mise en forme de caaractères dans cellule

j'ai trouvé !! et tout seul (que je suis fier)

pour compter le nombre de "-" dans une cellule :
Code:
    res = 0
    For i = 1 To Len([B2])
        If Mid([B2], i, 1) = "-" Then
            res = res + 1
        End If
    Next

res étant le nombre de "-" 😀


que je suis content !!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
138
Réponses
2
Affichages
107
Réponses
4
Affichages
149
Réponses
6
Affichages
162
Réponses
25
Affichages
627
Retour