traduire notes musique c=do etc.

centurion

XLDnaute Junior
Bonjour j'aimerais traduire les notes de musique par exemple :

j'ai dans la colonne A :
a;b;c;d:e;f;g ou A;B;C;D;E;F;G;
ab;bb;cb;db:eb;fb;gb ou Ab;Bb;Cb;Db;Eb;Fb;bG;
a#;b#;c#;d#:e#;f#;g# ou A#;B#;C#;D#;E#;F#;G#;

Il faudrait traduire dans la colonne B par :
la;si;do;re;mi;fa;sol ou LA;SI;DO;RE;MI;FA;SOL
lab;sib;dob;reb;mbi;fab;solb ou LAb;SIb;DOb;REb;MIb;FAb;SOLb
la#;s#i;do#;re#;m#;fa#;sol# ou LA#;SI#;DO#;RE#;MI#;FA#;SOL#

En vous remerciant par avance
Cordialement
Centurion
 

Dranreb

XLDnaute Barbatruc
Re : traduire notes musique c=do etc.

Bonsoir.

Qullque chose comme ça: En B1 :
Code:
=INDEX({"LAb";"LA";"LA#";"SIb";"SI";"DO";"DO#";"REb";"RE";"RE#";"MIb";"MI";"FA";"FA#";"SOLb";"SOL";"SOL#"};EQUIV(MAJUSCULE($A1);{"AB";"A";"A#";"BB";"B";"C";"C#";"DB";"D";"D#";"EB";"E";"F";"F#";"GB";"G";"G#"};0))
Ou mieux :
Code:
=INDEX({"LA";"SI";"DO";"RE";"MI";"FA";"SOL"};CODE(MAJUSCULE(GAUCHE($A1;1)))-64)&STXT($A1;2;1)
 
Dernière édition:

centurion

XLDnaute Junior
Re : traduire notes musique c=do etc.

Bonjour les amis,

Merci pour l'aide.
La formule, ne fais pas la difference entre "a" et "A", a="la" mais A= aussi à "la" et ça devrait être "LA".

Je joins un fichier pour mieux préciser ma demande.

Avec mes remerciments
Centurion
 

Pièces jointes

  • notation.xlsx
    10.5 KB · Affichages: 53
  • notation.xlsx
    10.5 KB · Affichages: 55

Dranreb

XLDnaute Barbatruc
Re : traduire notes musique c=do etc.

Bonsoir
Ce n'était pas évident: on pouvait comprendre que les données pouvaient indifféremment être en minuscules ou en majuscules mais qu'on voulait toujours le même résultat, soit en majuscules soit en minuscules.
Cette formule reproduit la casse: en B1 :
Code:
=INDEX({"LA";"SI";"DO";"RE";"MI";"FA";"SOL";"la";"si";"do";"re";"mi";"fa";"sol"};CODE(GAUCHE($A1;1))-SI(CODE(GAUCHE($A1;1))>=97;89;64))&STXT($A1;2;1)
 

centurion

XLDnaute Junior
Re : traduire notes musique c=do etc.

Bonsoir on est presque.. mais ?

Si dans A j'ai plusieures valeurs, seulement la première est convertie.
Par exemple : A c# G3 d D e F f# etc. donne "la" isolé et non " la do# SOL3 re RE mi FA fa#.

Avec substitue :
=SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(A11;"A";"LA");"a";"la");"3";"3");"#";"#")
Si dans A1: a a# a3 A A3 il est converti en : la la# la3 LA LA3
ce qui est juste !
mais ensuite il manquent encore les autres notes :

B;SI C;DO D;RE E;MI F:FA G;SOL
b;si c;do d;re e;mi f;fa g;sol
avec les "#" et "3"

Merci beaucoup
Centurion
 

Dranreb

XLDnaute Barbatruc
Re : traduire notes musique c=do etc.

Je n'avais pas ouvert je classeur joint
Là, s'il peut y avoir plusieurs notes séparées par des espaces, je ferais une fonction personnalisée en VBA, ce serait plus simple.
Le bas du tableau, de B46:B50 me paraît bizarre. Ne faudrait-il pas des majuscules ?
Par ailleurs vous parlez le LA3 et SOL3 dans votre poste, or les 3 sont systématiquement éliminés du tableau, d'où mon doute.
 
Dernière édition:

BigDaddy154

XLDnaute Junior
Re : traduire notes musique c=do etc.

Re,

un petit essai,

les cellules A7 à A9 seront traduises dans la colonne B respective.

Voir si ça peut te convenir.

Cordialement.

Edit : je vois que dans ta liste de conversion A et A3 (anglais) donne tout les 2 LA est-ce normal ?
En B3 la conversion est inexacte il y un sol de trop
 

Pièces jointes

  • notation.xlsm
    20.2 KB · Affichages: 51
  • notation.xlsm
    20.2 KB · Affichages: 53

Dranreb

XLDnaute Barbatruc
Re : traduire notes musique c=do etc.

En attendant ces éclaircissements :
VB:
Function MusicF(ByVal MusA As String) As String
Dim Tspl() As String, N&
Tspl = Split(MusA)
For N = 0 To UBound(Tspl): Tspl(N) = NoteF(Tspl(N)): Next N
MusicF = Join(Tspl)
End Function
Function NoteF(ByVal NoteA As String) As String
Dim N&, Minus As Boolean
N = Asc(NoteA) - 64: Minus = N > 7: If Minus Then N = N - 32
NoteF = Choose(N, "LA", "SI", "DO", "RE", "MI", "FA", "SOL")
If Minus Then NoteF = LCase(NoteF)
NoteF = NoteF & Mid$(NoteA, 2)
End Function
En C7 :
Code:
=MusicF($A7)
 

centurion

XLDnaute Junior
Re : traduire notes musique c=do etc.

Bonsoir,

J'ai testé le fichier excel :
Ca va très bien, sauf pour les "3" C3;DO3 ou C#3;DO#3 etc.

En effet dans cette écriture, les notes avec un "3" sont celles qui sont aprés un D3.
d correspond au do grave qui se trouve à gauche d'un clavier
D correspond au do du milieu du clavier.
D3 correspond au do aigu qui se trouve à droite du clavier.

Il faudrait encore que la plage d'action du bouton "traduire" puisse couvrir toute la hauteur des colonnes "A" et "B"

Si ce n'est pas trop te demander !
Merci beuacoup pour cette aide précieuse.

Centurion
 

BigDaddy154

XLDnaute Junior
Re : traduire notes musique c=do etc.

Re,

"Ca va très bien, sauf pour les "3" C3;DO3 ou C#3;DO#3 etc.
En effet dans cette écriture, les notes avec un "3" sont celles qui sont aprés un D3."

Je t'invite à vérifier la liste de conversion colonne D et E pour voir si tout est correct car la traduction est basée dessus si y a des erreurs modifie la liste et tout sera répercuté dans la traduction.

"Il faudrait encore que la plage d'action du bouton "traduire" puisse couvrir toute la hauteur des colonnes "A" et "B""

C'est fait tu peux mettre autant de notes que tu le souhaites dans la colonne A et ca sera traduis en colonne B"

Cordialement
 

Pièces jointes

  • notation V2.xlsm
    21.4 KB · Affichages: 55
Dernière édition:

Modeste geedee

XLDnaute Barbatruc
Re : traduire notes musique c=do etc.

Bonsour® DranreB,
notamment quand le demandeur effleure le solfège, demi-ton et gamme tempérée
en proférant des SI# , DO bémol, MI# et FA bémol
:mad:

lab;sib;dob;reb;mbi;fab;solb ou LAb;SIb;DOb;REb;MIb;FAb;SOLb
la#;si#;do#;re#;mi#;fa#;sol# ou LA#;SI#;DO#;RE#;MI#;FA#;SOL#

;)
Capture.jpg
 

Pièces jointes

  • Capture.jpg
    Capture.jpg
    52.9 KB · Affichages: 55
Dernière édition:

Statistiques des forums

Discussions
312 045
Messages
2 084 834
Membres
102 685
dernier inscrit
med_remi021