cumuler des OU avec la fonction SI

shitoryu

XLDnaute Occasionnel
Bonjour,
Je souhaiterai pouvoir cumuler des « OU » avec la fonction SI. Je tourne en rond, ce que je fais ne fonctionne pas (ce n’est peut-être pas la bonne solution).
Je cherche à générer un tableau automatique avec des notes de musique : il représente toutes les modulations possibles en fonction d’une tonalité de référence. La tonalité de référence doit être la seule chose à changer (en B5).
Le tableau actuel contient uniquement les notes de R84:R100 avec comme note de référence R92 ou H15 (DO). En modifiant la note de référence grâce à la liste en B5, le tableau doit se modifier également. Par exemple, si l’on choisi FA (en B5), la colonne R84:R100 doit être remplacée par S84:S100 dans le même ordre que le tableau joint.

Pour H9 (par exemple) j’avais pensé à faire ceci :
SI (B5=R92) écrire R91 ; SI (B5=S92) écrire S91 ; SI (B5=T92) écrire T91 ; idem pour C92:AK92.

Pour D15 (par exemple) :
SI (B5=R92) écrire R89 ; SI (B5=S92) écrire S89 ; SI (B5=T92) écrire T89 ; idem pour C92:AK92.

Etc.

PS : le tableau intègre les tonalités Majeures en capitale et mineures en minuscule (DO et do) : n’en tenait pas compte, je ferai un 2e tableau de renvois)

Merci pour votre aide
Shitoryu
 

Pièces jointes

  • Tonalités.xls
    83.5 KB · Affichages: 47
  • Tonalités.xls
    83.5 KB · Affichages: 47
  • Tonalités.xls
    83.5 KB · Affichages: 52

Victor21

XLDnaute Barbatruc
Re : cumuler des OU avec la fonction SI

Bonjour, shitoryu.

Je subodore un index(equiv;equiv) mais ne comprends pas les différents tableaux.
Le pb serait certainement plus simple à résoudre si vous nous adressiez un fichier plus simplifié, avec quelques exemples.
 

Modeste geedee

XLDnaute Barbatruc

Pièces jointes

  • Guitar97.xls
    300.5 KB · Affichages: 50
  • Guitar97.xls
    300.5 KB · Affichages: 44
  • Guitar97.xls
    300.5 KB · Affichages: 50

eriiic

XLDnaute Barbatruc
Re : cumuler des OU avec la fonction SI

Bonjour à tous,

une tentative, en H9 :
Code:
=INDEX(91:91;;EQUIV($B$5;$C$92:$AK$92;0)+2)
Pour les autres formules tu remplaces 91:91 par la ligne qui t'intéresse.
Pas sûr que ce soit complet, tu diras...

eric

edit: il y avait une petit erreur, formule et fichier remplacés.

edit2 : une autre tentative plus complète (si j'ai bien compris le principe (?), je ne connais rien en musique), en H9 :
Code:
=INDEX(DECALER($83:$83;EQUIV("FA";$A$84:$A$100;0););;EQUIV($B$5;$C$92:$AK$92;0)+2)
On indique dans la formule la ligne désirée par son nom en colonne A. Ici ligne FA.

En B9 ça serait la ligne LAb (?) :
Code:
=INDEX(DECALER($83:$83;EQUIV("LAb";$A$84:$A$100;0););;EQUIV($B$5;$C$92:$AK$92;0)+2)
Voir fichier Tonalité2.xls
eric
 

Pièces jointes

  • Tonalités.xls
    87.5 KB · Affichages: 33
  • Tonalités.xls
    87.5 KB · Affichages: 34
  • Tonalités.xls
    87.5 KB · Affichages: 33
  • Tonalités2.xls
    87.5 KB · Affichages: 27
Dernière édition:

shitoryu

XLDnaute Occasionnel
Re : cumuler des OU avec la fonction SI

Un grand merci pour toutes ces réponses intéressantes. Je pense avoir trouvé mon compte avec la formule suivante:
=INDEX(91:91;;EQUIV($B$5;$C$92:$AK$92;0)+2)

Il suffit de modifier la fin de la formule en mettant +3, +4, etc., 0, -1, -2, -3 et tout fonctionne (je ne connaissais pas l'utilisation de EQUIV). Je fais le tableau complet pour voir ci cela fonctionne bien.

Merci pour votre aide rapide!
:)

Shitoryu
 

shitoryu

XLDnaute Occasionnel
Re : cumuler des OU avec la fonction SI

Bonsoir,
Cela fonctionne mais curieusement cela bug pour les références en vert (feuille 1 et feuille 2). Elles correspondent aux dernières de la liste. Je ne vois pas la raison.
:confused:
S.
 

Pièces jointes

  • Tonalités 3.xls
    136 KB · Affichages: 44
  • Tonalités 3.xls
    136 KB · Affichages: 42
  • Tonalités 3.xls
    136 KB · Affichages: 37

eriiic

XLDnaute Barbatruc
Re : cumuler des OU avec la fonction SI

Bonsoir,

cela bug pour les références en vert
Si tu le dis ça doit être vrai ;-)
Mais si tu ne dis pas précisément où (feuille+cellule), ce que tu dois obtenir et pourquoi on ne pourra pas y faire grand chose.

A part ça, j'avais compris que tu voulais un décalage en ligne, c'était en colonne et tu as adapté toi-même.
Du coup une chose que je viens de voir qui m'échappe : toutes tes lignes sont identiques, à un décalage de colonne près. A quoi servent donc toutes les autres ?

Et c'était juste une tentative pour voir le principe. J'avais écrit pas sûr que ce soit complet, maintenant j'en suis presque sûr.
Si tu expliques un peu plus il y a sûrement moyen de faire mieux.
Le but n'est pas de modifier toutes les formules à chaque fois que tu l'inscris dans une cellule. Ca n'a pas grand intérêt, autant inscrire directement la valeur...
Vu que tu as la même chose sur toutes les lignes autant rester si c'est possible sur les lignes que tu as repérées : 92 et 165.
Il faudrait que tu indiques tous les paramètres pour savoir la ligne à utiliser (92 ou 165), et pour connaitre le décalage en colonne. Il y a bien des règles non ?
Qu'en penses-tu ?

eric
 

shitoryu

XLDnaute Occasionnel
Re : cumuler des OU avec la fonction SI

Salut,
Ci-dessous, je t'explique la logique, mais pour voir le problème c'est tout simple puisque lorsque l'on choisit les notes en vert (D4-L4) en B5, il y a des messages d'erreur : #valeur! ou bien des 1 (pour zéro c'est normal puisque cela renvoie à une case vide). C'est curieux. Ci-joint le tableau avec des chiffres pour simplifier la lecture (dans la 2e carte) : de -8 à 8 (ce qui correspond au tableau en 92) et de m-8 à m8 (le tableau en 165) avec un résumé en Q29:S45.

Pour la logique de construction c'est pas si compliqué que ça (mais qd on ne connait pas la musique cela paraît un peu obscure...) : tout part de H15, et sur le principe d'une colonne brisée qui monte et ensuite part vers la gauche (cela correspond à R91:R84) et une autre colonne brisée qui descend et part vers la droite (R93:R100). Les 2 colonnes s'éloignent d'un intervalle de quinte. Il suffit monter la gamme et de ne retenir qu'une note sur 4 :

Pour la partie montante c'est :

DO en H15
(ré,mi,fa)

SOL en H9
(la,si,do)

RE en D21
(mi, fa, sol)

LA en D15
(si, do, ré)

MI en D9
etc.

Pour descendre c'est pareil : DO (si la sol), FA (mi, ré, do), SIb, etc.
Le principe des # et des b sont générés tous seuls par le système musical : en partant de DO en H15, les # apparaissent à partir du FA en montant (donc FA#), et les bémols apparaissent à partir du SI en descendant (donc SIb).
En comptant une note sur 4 dans un gamme sans fin (do, ré, mi, fa, sol, la, si, do, ré, mi, fa, sol, la, etc.), la 1re note qui se répète est le FA, donc on lui attribue un # (de même pour les autres), ensuite on met 2#.
En descendant c'est pareil (do, si, la, sol, fa, mi, ré, do, si, la, sol, fa, si, etc) : la 1re note qui se répète est le SI donc on lui attribue un bémol (de même pour les autres), ensuite on met 2b.
Le système s'arrête à 2# et 2b.
Le tableau ajoute ici les tonalités Majeures et Mineures (elles suivent le même système; j'ai fait 2 tableaux puisque si on écrit DO ou do, cela signifie DO Majeur et do mineur).

Merci à toi.
S.
 

Pièces jointes

  • Tonalités 3.xls
    138 KB · Affichages: 31
  • Tonalités 3.xls
    138 KB · Affichages: 35
  • Tonalités 3.xls
    138 KB · Affichages: 35

eriiic

XLDnaute Barbatruc
Re : cumuler des OU avec la fonction SI

Bonjour,

En P7, on recherche DObb dans $C$92:$AK$92. On le trouve en C92 et tu voudrais la 5ème colonne à gauche qui n'existe pas => #VALEUR!
Pareil pour les 0 et 1. Tu ramènes la colonne A ou B.
Il faudrait que tu insères 8 valeurs à gauche et 8 valeurs à droite (parce que tu veux entre -8et +8 de décalage) sur les lignes 91 et 164 de façon à avoir toujours une réponse correcte.

Merci des explications, même si je suis loin d'avoir tout compris ;-)
Mais avec mon absence de culture solfègique et ma vision purement excel on va simplifier tout ça.
Comme en fait tu n'as besoin que de 2 lignes, ça sera 49:50
On garde ton 2nd tableau avec ton système de notation des offsets.
La formule est unique, tu ne changes que les offsets du 2nd tableau, et tu complètes les lignes 49 et 50 au début et à la fin.
Voir en PJ ce que ça donnerait et dis moi si c'est jouable comme ça.

eric
 

Pièces jointes

  • Tonalités4.1.xls
    148 KB · Affichages: 32

shitoryu

XLDnaute Occasionnel
Re : cumuler des OU avec la fonction SI

Bonsoir,
Pour le solfège c'est très mathématique, c'est très proche d'excel (pas très compliqué mais il faut en avoir besoin, c'est un peu comme excel...).
J'ai revu tout le tableau : j'ai réduit le nombre de tonalités possibles, elles ne se justifiaient pas vraiment, et j'ai mis la cellule de choix au centre de la carte (plus logique). J'ai ajouté aussi la carte mineure.

Cela fonctionne parfaitement. Un petit défaut que j'avais déjà remarqué c'est le problème avec ré, ré# et réb pour la carte mineure (en jaune). J'ai dû mettre en majuscule U82,87,94 sinon cela plante quand on les choisit comme note de référence. Par contre, il faudrait que cela s'écrive quand même en minuscule au centre de la carte.
J'ai pensé à une mise en forme conditionnelle...

:confused:

Merci encore pour ton aide, c'est super !
 

Pièces jointes

  • Tonalités 5.xls
    62.5 KB · Affichages: 42
  • Tonalités 5.xls
    62.5 KB · Affichages: 42
  • Tonalités 5.xls
    62.5 KB · Affichages: 39

eriiic

XLDnaute Barbatruc
Re : cumuler des OU avec la fonction SI

Re,

J'ai dû mettre en majuscule U82,87,94 sinon cela plante
Je pense que tu mettais ré avec accent, et il n'existe pas en ligne 73.
A ce moment là, pour la recherche en minuscules accentuées, remplace dans la formule EQUIV($V$13;$73:$73;0) par EQUIV($V$13;$74:$74;0), ligne où les minuscules accentuées sont présentes.
Regarde si ça va.
Si ce n'est pas ça, on peut créer 2 nouvelles lignes dédiées aux mineures avec la gamme et la graphie voulue.
Tu sais, tu peux copier la formule dans toutes les cellules sans te poser de question (sauf H13 et V13 bien sûr). Il n'y aura qcq chose que si la cellule correspondante est saisie dans la table des offsets.

Sinon c'est quoi le but ? Si tu arrives à faire court, trop détaillé je ne comprendrais pas...

eric
 

Pièces jointes

  • Tonalités 5.xls
    81 KB · Affichages: 42
  • Tonalités 5.xls
    81 KB · Affichages: 42
  • Tonalités 5.xls
    81 KB · Affichages: 47

shitoryu

XLDnaute Occasionnel
Re : cumuler des OU avec la fonction SI

Salut,
Great ! Ca marche maintenant, je me doutais bien qu’il fallait changer un petit truc (j’avais essayé mais comme d’habitude je tournais en rond). Je comprends mieux le EQUIV maintenant.

Pour le tableau, c’est sympa de t’y intéresser doublement. Son but est très simple (c’est le tableau qui est complexe…), c’est simplement un outil pour l’analyse des œuvres musicales (Bach, Mozart, Beethoven, etc.). Il sert aussi pour les débutants en composition.

Le principe est simple également, si tu veux écrire une composition intéressante tu vas « enrichir » les notes que tu va y mettre dedant (comme si tu écrivais un bon livre, il faut choisir les bons mots). Comme en grammaire, en musique il y a des règles : ce que tu vas utiliser en 1er c’est ce qui est au milieu de la croix, ensuite tu vas pouvoir élargir en utilisant le reste de la carte (mais c’est plus compliqué à faire).

Comme tu le sais, les notes sont toujours les mêmes (lignes 73:74), ce qui change c’est la note centrale qui génère un ordre différent pour le reste du tableau. Rien de plus. Tu va me dire « tout ça pour ça ! » ; il ne faut pas oublier qu’une langue se construit de la même manière (c’est l’ordre des lettres qui forme des mots, et l’ordre des mots qui forme des phrases). La musique c’est pareil, rien de plus simple finalement.

Tu pourrais me dire aussi comment on peut « enrichir » puisque ce sont toujours les mêmes notes. Il faut savoir que les notes de ce tableau représentent des gammes :
DO = DO majeur [do,ré,mi,fa,sol,la,si,do]

La note immédiatement au-dessus c’est
SOL = SOL majeur [sol,la,si,do,ré,mi, fa# ,sol]

La note immédiatement en-dessous de DO c’est
FA = FA majeur [fa,sol,la, sib ,do,ré,mi,fa]

Chaque note du tableau représente une sorte de réservoir de 7 notes, dès que tu en changes tu rajoutes une notes avec un # ou un b.

J’espère ne pas avoir été trop compliqué.

Merci encore pour ton aide,
Shitoryu
 

Statistiques des forums

Discussions
312 347
Messages
2 087 501
Membres
103 563
dernier inscrit
samyezzehar