Colorer celule adjacente de même couleur sous condition

Bonjour

j'ai réalisé un diagramme de positions pour des suites d'accords piano

ça fonctionne mais c'est un peu du bricolage...

le code peut être grandement amélioré

mon problème:

je dois cliquer sur la partie haute et sur la partie basse des touches blanches pour les colorer

y aurait il un moyen simple de colorer les 2 en même temps?

(mes cellules sont

fusionnées sur les lignes

)

quelqu'un peut il me venir en aide?

j'ai d'autres améliorations à faire par la suite comme

-utiliser shift par exemple pour choisir M.G (main gauche) au lieu de passer par une cellule à choix

- redonner son aspect normal à la touche avec un clic supplémentaire (sans devoir cliquer ailleurs)

merci d'avance.

Bonjour

Un essai à tester. Te convient-il ?

Bye !

Bonsoir,

11 téléchargements ! Pas de réponse ?
Aller, je vous propose une modification de votre fichier avec la feuille 2 de votre classeur. Beaucoup plus simple en gestion, reste à connaitre le but final afin de finir l'adaptation.

Le fichier : Effacé par LouReeD

Un clic sur la touche, coloration de cette dernière, un nouveau clic, elle repasse en blanc ou noir, une fois plusieurs touches en couleur alors un seul bouton d'initialisation des couleurs de touches, et si vous faites un copier coller des trois octaves existantes, alors il vous suffit de lancer la procédure d'init_noms afin de renommer toutes les touches pour qu'elles redeviennent uniques.

@ bientôt

LouReeD

Bonjour

merci tout d'abord à vous qui avez pris le temps de m'aider.

Le but de ce programme est d'imprimer ou exporter en jpg (pdf également) les bonnes positions pour les accords piano d'un titre.

Donc éducatif.

La version en page 2 de LouReed est super, géniale, mais il reste un petit détail...

je souhaiterai pouvoir choisir une autre couleur pour la main gauche

un bouton M.G en BW4 (un peu perdu je l'avoue ) me permettait de choisir du bleu pour indiquer la main gauche (M.G) ou du rouge pour indiquer la main droite (M.D)...

L'idéal serait je pense un autre bouton (comme le bouton init de Lou ) qui commuterai

ou cliquer avec shift ,

ou tout simplement bouton de droite..

Si Lou me lit, il saura faire cette fonction en quelques secondes j'imagine

mais je vais chercher quand même .

Encore merci

Ps: l'ajout d'un octave sur demande (bouton +) est il facilement réalisable du coup?

ci joint une ébauche du futur projet

peut être les fonctions (boutons)

seraient elles mieux si dans un userform?

L'ajout d'un nouvel accord ne peut il pas exécuter automatiquement le nom init?

Nouvelle version

Bye !

Bonjour,

pour simplifier la main droite et la main gauche, je fais un test sur la touche "Shift", Si pas utilisée alors main droite, si utilisée alors main gauche. Le code pour le fonctionnement sur le fichier déjà joint :

Declare Function GetAsyncKeyState Lib "User32" (ByVal vKey As Long) As Integer

Sub Note_Blanche() ' mise en couleur des touches blanches
    refshift = GetAsyncKeyState(&H10)
    If ActiveSheet.Shapes(Application.Caller).Fill.ForeColor.RGB = RGB(255, 255, 255) Then
        If refshift < 0 Then ActiveSheet.Shapes(Application.Caller).Fill.ForeColor.RGB = RGB(0, 0, 255) Else ActiveSheet.Shapes(Application.Caller).Fill.ForeColor.RGB = RGB(255, 0, 0)
    Else
        ActiveSheet.Shapes(Application.Caller).Fill.ForeColor.RGB = RGB(255, 255, 255)
    End If
End Sub
Sub Note_Noire() ' mise en couleur des touches noires
    refshift = GetAsyncKeyState(&H10)
    If ActiveSheet.Shapes(Application.Caller).Fill.ForeColor.RGB = RGB(0, 0, 0) Then
        If refshift < 0 Then ActiveSheet.Shapes(Application.Caller).Fill.ForeColor.RGB = RGB(0, 0, 255) Else ActiveSheet.Shapes(Application.Caller).Fill.ForeColor.RGB = RGB(255, 0, 0)
    Else
        ActiveSheet.Shapes(Application.Caller).Fill.ForeColor.RGB = RGB(0, 0, 0)
    End If
End Sub

@ bientôt (pour le reste...)

LouReeD

Le fichier avec l'ajout d'un clavier : Effacé par LouReeD

C'est l'ajout d'un accord que je ne comprend pas...

@ bientôt

LouReeD

Merci infiniment LoureeD

c'est génial

l'ajout d'un accord, vous l'avez réalisé avec le bouton ajout un octave.

c'est effectivement une nouvelle position .

L'ajout d'un octave: c'est avoir 12 touches de plus à droite (du do au si)

Le bouton export Pdf est il facilement réalisable?

je peux chercher si vous en avez assez....

Merci également à gmb qui a essayé de m'aider!

je pense que je vais garder la version de loureed qui me semble plus aboutie.

merci à l'administration du forum qui a déplacé mon sujet au bon endroit, désolé , j'aurai du penser que ça le méritait d'office.

Une chose qui pourrait etre top, ce serait de se passer d'excel et en faire une app vba (un exécutable autonome pour windows) . possible?

Bonsoir,

votre fichier en retour un peu nettoyé : Effacé par LouReeD

Pour l'ajout d'un accord, le code prend en compte une valeur en cellule A1 qui indique combien d'accords sont déjà présent, grâce à cela le code calcul le numéro de ligne où il faut copier/coller le clavier avec 3 octaves. Les cellules à gauches sont fusionnées.

Pour l'ajout d'un octave il faut en premier sélectionner la cellule à droite du clavier et en haut de celui où l'on veut faire l'ajout, si c'est une cellule "autre" alors le code ne fonctionne pas.

La gestion de la mise en couleur des touches a été modifiée également : une touche rouge (sans shift), on voit que c'est une erreur, alors on clique dessus avec le shift elle passe en bleue sans devoir passer par le blanc. Et inversement et sinon tout simple du bleu au blanc ou du rouge au blanc...

Pour l'enregistrement en PDF, calcul de la surface utilisé par les claviers afin de créer la zone d'impression, puis export avec le "PDF" d'Excel, le chemin et le nom du fichier restent à être géré. Ainsi que la gestion d'erreur éventuelle

@ bientôt

LouReeD

c'est super !

bravo cher Monsieur

j'aurai cependant un petit détail à modifier:

quand on rajoute un accord, cela créé une copie du premier...

un clavier vierge aurait été mieux (accompagné du texte à sa gauche: "ACCORD" préformaté gras, taille, et aligné)

j'ai bidouillé un peu pour créer un répertoire et un nom de fichier correspondant au titre entré

le programme signale également si le fichier existe déjà

Bonjour

Pour la copie soit on gère la mise à blanc après celle-ci soit l'on crée un accord vierge source sur une autre feuille, et on en profite pour créer les cellules fusionnées avec le texte, la police, la forme voulue...

Je regarde cela ce soir...

@ bientôt

LouReeD

Bonsoir,

le fichier de ma proposition : Effacé par LouReeD

Il y a eu une simplification du code avec mise en variable du type de touche avec 0 pour noire et 1 pour blanche comme cela une seule routine pour la mise en couleur, lorsque l'on doit repasser en blanc pour les touches blanches alors on multiplie la valeur 255 par la variable donc 255 * 1 = 255. Comme vous le devinez si une touche noire la variable vaut 0 et on a donc 255 * 0 = 0 La couleur RGB est donc soit blanc soit noire !

Comme demandé, une feuille source avec un clavier "blanc" une colonne avec les cellules fusionnées et mises en forme et un bouton d'init couleur du clavier a été ajoutée.

Reste "vraiment" la partie PDF à faire mais la création de fichier sous VBA n'est pas mon fort !

@ bientôt

LouReeD

Bonjour et merci

ci joint votre fichier modifié avec mon code export PDF qui fonctionne justement.

il y avait les boutons efface couleur de la colonne gauche qui laissaient un trait noir lors de l'export pdf.

en les redimensionnant, le problème semble réglé.

un seul petit bug : mon bouton export pdf se colore en blanc quand on clique sur

Init toutes les Couleurs

puis-je vous laisser refaire ce bouton aussi beau que les autres et surtout inaltérable?

PS:

(j'ai effacé l'octave précédemment rajouté au premier accord)
pensez vous que le rendu pdf soit optimisé niveau largeur?

dernière version:

je me penche également sur un export .JPG

le top serait d'exporter chaque accord individuellement en .jpg

ex: un clic et si 6 accords, 6 .jpg crées

j'ai essayé de suivre la méthode décrite ici, mais ça bugue

Exporter Excel comme image (.jpg, .png, .bmp) Excel-Malin.co(m)

une idée?

il semblerait que l'utilisation des shapes convient assez bien à l'export jpg

(peu importe si le nom de l'accord n'apparait pas car on peut le rajouter manuellement dans une autre application)

Bonjour,

la version 5 qui corrige une erreur de code sur l'effacement des couleurs d'un seul clavier, qui ajoute un bouton de suppression de clavier avec le code VBA, et ajoute le bouton export en JPG mais il reste le code à créer : Effacé par LouReeD

@ bientôt

LouReeD

super, merci

Bonsoir,

voici le fichier avec export de l'accord concerné en JPG, dans un dossier équivalent de celui des PDF. Pas de gestion de fichier existant, chaque image "identique" remplace l'ancienne.

Le fichier : Effacé par LouReeD

@ bientôt

LouReeD

Bonsoir à tous,

J'en profite pour télécharger le dernier fichier proposé.

Cela pourra me servir peut être pour mon synthé.

Bonne initiative.

Bonjour, La version 6 plante avec une erreur de "destination inexistante

j'ai un peu bidouillé et ce coup ci ça fonctionne.

grand merci Lou !

que peut on rajouter ?

1-un petit label qui apparait pour expliquer les fonctions des boutons? ou une doc?

2-une plage texte qui s'exporterait dans le pdf tout en haut pour des instructions de jeu

on pourrait y préciser jouer en arpèges, ou accords plaqués tous les temps,etc...

3-un bouton pour exporter tous les accords de la feuille (individuellement ) ex:6 accords= 6.jpg

(remplacerait du coup les boutons individuels car si besoin que d'un accord, bah on en crée qu'un seul)

4-et un bouton pour exporter tous les accords de la feuille sur un seul .jpg

5-un bouton pour désigner le "do du milieu" du clavier ce qui appliquerait un petit rond , ou étoile...

do du milieu

Je sais que LoureeD passe beaucoup de temps sur ce projet, et je l'en remercierai jamais assez, mais une fois terminé, c'est une véritable application qui vaut de l'or.

un trophée de plus à rajouter à sa liste de créations.

si cette application pouvait se passer d'excel, (tout en visual basic ) ça serait merveilleux.

Application windows, ou app web

j'ai bien téléchargé "DoneEx" , mais la version demo crée un exécutable qui m'ouvre excel et me dit de l'acheter.

je ne sais pas si quelqu'un possède la version complète, mais il pourrait sans doute me confirmer ou non que l’exécutable une fois compilé n'a plus besoin d'avoir d'excel installé.

Bonsoir,

pour les "labels" explicatif, ou bien la feuille explicative, je vous laisse la main...

Pour le reste :
- indication du Do central : il suffit de faire un double clic sous la note Do concernée. En cas d'erreur il suffit de double cliquer sous un autre "Do" pour que le repère se déplace. Si vous voulez supprimer le repère alors il suffit de cliquer dessus.
Il est possible d'avoir un et un seul repère par clavier. Cet ajout est fonctionnel quelque soit le nombre d'octaves ajoutés.
Pour ceci j'ai du redimensionner les colonnes pour qu'elles correspondent en largeur à la largeur des notes, il y a donc eu une modification des codes VBA.

- Un bouton pour exporter en une fois sous JPG la feuille d'accords.

- Un bouton pour exporter en "x" JPG chaque clavier de la feuille.

- J'ai laisse le bouton d'export individuel de chaque clavier

Pour ce qui est de la plage "texte" qui serait imprimer en même temps que l'export PDF des claviers, je suggère une feuille nouvelle qui serait sélectionnée en même temps que la feuille accord avant l'impression PDF.

Le fichier en version 8 ! Effacé par LouReeD

@ bientôt

LouReeD

Rechercher des sujets similaires à "colorer celule adjacente meme couleur condition"