Musique plat 2

Bonjour le forum,

Je reviens vers vous car j’ai un souci avec la macro que m’a faite un membre du forum qui fonctionne parfaitement, mais quand les cellules sources il y a un espace entre les valeurs ça ne fonctionne plus.

Ci-joint le fichier Excel comme exemple. Merci par avance.

Cordialement

22musique-plat-2.xlsm (18.48 Ko)

Bonjour toute s et tous

@tester

j'ai rajouté dans le code après txt = Replace(Musique, "-", " ")

  txt = Replace(Musique, " ", "") 

ce qui donne dans le Module 1 pour cette fonction

Spoiler
Function MusiqueEpuree(Musique As Range)
Dim txt As String
Dim temp As String

    temp = ""
    txt = Replace(Musique, "-", " ")
   txt = Replace(Musique, " ", "")
    txt = Trim(txt)
        If Len(txt) > 2 Then
            For i = 1 To Len(txt)
                If Asc(Mid(txt, i, 1)) >= 97 And Asc(Mid(txt, i, 1)) <= 122 Then
                    temp = temp & Mid(txt, i, 1) & " "
                Else
                    temp = temp + Mid(txt, i, 1)
                End If
            Next i
            txt = Trim(temp)
        End If
    nb = UBound(Split(txt))
    valEp = ""
    For i = 0 To nb
        v = Split(txt, " ")(i)
        If IsNumeric(Left(v, Len(v) - 1)) And Right(v, 1) = "p" Then
            If CInt(Left(v, Len(v) - 1)) > 0 And CInt(Left(v, Len(v) - 1)) < 10 Then
                valEp = valEp & Left(v, Len(v) - 1) & Right(v, 1) & " "
            ElseIf CInt(Left(v, Len(v) - 1)) > 10 Or CInt(Left(v, Len(v) - 1)) = 0 Then
                valEp = valEp & 9 & "p" & " "
            Else
                valEp = valEp
            End If
        End If
    Next i
    MusiqueEpuree = Trim(valEp)
End Function

cela à l'air de fonctionner

crdlt,

André

Bonjour Andre13 merci pour ta réponse, j’ai essayé avec la modification mais il manque des données après la macro

Ci-joint le fichier

Bonjour starwaso ,

Voici un fichier en retour,

11musiquev10-1.xlsm (18.27 Ko)

Bonjour Florian

Merci, mais j’ai toujours le problème il me manque des données, ci-joint le fichier.

J'ai l'impression que c'est les parenthèses qui posent problème (18) (17)

Bonsoir le forum

J'ai essayé avec une macro pour retirer toutes la valeurs (18) (19) ...avant la macro de Florian53 :

Public Function MusiqueEpuree181920(Musique)

If (UCase(Musique) <> "DERNIERES PERFORMANCES") Then

Application.Volatile

Musique = Replace(Musique, " (20)", "")

Musique = Replace(Musique, " (19)", "")

Musique = Replace(Musique, " (18)", "")

Musique = Replace(Musique, " (17)", "")

Musique = Replace(Musique, " (16)", "")

Musique = Replace(Musique, " (15)", "")

Musique = Replace(Musique, " (14)", "")

MusiqueEpuree181920 = Musique

End If

End Function

Mais j’ai toujours le même problème

23musiqueplat.xlsm (21.41 Ko)

Bonjour toutes et tous

pas certain que cela fonctionne @ tester

$chr(40) pour ouvrir la parenthèse (

$chr(41) pour fermer la parenthèse )

Public Function MusiqueEpuree181920(Musique)

If (UCase(Musique) <> "DERNIERES PERFORMANCES") Then

Application.Volatile

Musique = Replace(Musique, " $chr(40)20 $chr(41)", "")
Musique = Replace(Musique, " $chr(40)19 $chr(41)", "")
Musique = Replace(Musique, " $chr(40)18 $chr(41)", "")
Musique = Replace(Musique, " $chr(40)17 $chr(41)", "")
Musique = Replace(Musique, " $chr(40)16 $chr(41)", "")
Musique = Replace(Musique, " $chr(40)15 $chr(41)", "")
Musique = Replace(Musique, " $chr(40)14 $chr(41)", "")

MusiqueEpuree181920 = Musique

End If

End Function

crdlt,

André

Bonjour le forum

Merci pour vos réponses a toutes et tous.

Cdlt

Rechercher des sujets similaires à "musique plat"