Changement de couleur d'une cellule par click sur un bouton [Résolu]

Signaler
Messages postés
25
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
29 janvier 2011
-
Messages postés
25
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
29 janvier 2011
-
Bonjour,

Je ne sais pas si je poste au bon endroit... je ne sais pas vraiment quel thème choisir pour une question sur Excel.

Bref, Voici mon problème ; Je souhaite améliorer une feuille existante. il s'agit d'un planning dans lequel les couleurs et le texte sont utilisées pour indiquer la tache de chaque membres d'une équipe. (Orange et lettre 'D' pour déplacement par exemple).
Je souhiaterai faciliter le remplissage de ce planning en permettant de mettre le bon texte et la bonne couleur dans plusieurs cases en cliquant sur un bouton. Par exemple, sélectionner les jours du lundi au mercredi et cliquer sur le bouton 'Déplacement' pour qu'automatiquement, cette selection passe à l'orange et que la lettre 'D' s'affiche dans chaque case.

Le problème qui se pose a moi, est que lorsque je clique sur un bouton de la feuille, quel qu'il soit, cela déselectionne toutes les cases de la feuille.

Comment pourais-je conserver la sélection ?!?

N'hésitez pas a me demander plus d'informations si je manque de clareté. =)

--==IvanTil==--

6 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
227
Bonjour,

Si ta sélection se fait par du vba, réfère-toi directement à l'adresse des cellules à traiter (ne pas passer par un Select !)
Si ta s"élection se fait manuellement : mets donc l'adresse de cette sélection dans une variable générale et applique ton code à cette variable. En te rappelant que, dans l'évènement Selection_Change, ta sélection est représentée par l'objet Target.



____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
70
Salut

Oui, c'est la bonne catégorie (merci d'y avoir porté attention)

Ne connaissant pas le code que tu as utilisé, difficile de te dire pourquoi c'est toute ta feuille qui est ciblée.

Exemple de colorisation extrapolée de l'enregistrement d'une macro pendant que je faisais la manip à la main
    Dim mCell As Range
    For Each mCell In Selection
        With mCell.Interior
            .ColorIndex = 46     ' Orange
            .Pattern = xlSolid
        End With
    Next

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
70
Oups
Même pas la peine de passer par l'énumération des cellules appartenant à la sélection, tu peux le faire directement :
    With Selection.Interior
        .ColorIndex =  46     ' Orange
        .Pattern = xlSolid
    End With

Pour en revenir à ta question, " Comment pourais-je conserver la sélection " :
- Pourquoi la perds-tu ?
- Pour mémoriser la sélection avant de la perdre :
Dim maSelection As Range
Set maSelection  = Selection
Messages postés
25
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
29 janvier 2011

Le hick, c'est que si je crée un bouton sur la feuille meme sans attribuer aucun code au bouton, lorsque je clique dessus, ca désélectionne directement les cellules que j'ai sélectionné. Du coup, j'ai essayé plusieurs solutions, mais impossible de récupérer la sélection vu que lorsque la macro est lancée, rien n'est sélectionné.... en attendant une solution, je vais faire des raccourcis avec Ctrl+une lettre, mais ca aurait fait plus propre avec des jolis boutons. =)

--==IvanTil==--
Messages postés
6924
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
21 septembre 2020
112
Bonjour,
Pour ton bouton qui te fait perdre la sélection quand tu cliques dessus. Essaie de mettre la propriété du bouton:
TakeFocusOnClick à False
Si cela peut t'aider

@+ Le Pivert
Messages postés
25
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
29 janvier 2011

Re-Bonjour,

Je viens de comprendre ma pitoyable erreure... Je faisais mes Bouton_Click() dans la mauvaise feuille (les noms sont assez proches, d'où mon erreur)

Merci a tous de votre patience. et désolé de vous avoir dérangé pour une erreure aussi bête. ^^

(je clique sur "réponse acceptée" un peu au pif pour que le sujet soit clos. mais avec l'aide de vous tous, j'ai réussi a mettre le doigt sur mon erreure. :) )

--==IvanTil==--