Mise en couleur de cellule

Bonjour,

Je voudrais savoir comment on fait pour: quand je click sur un bouton ou une cellule colorée elle se recopie automatiquement dans toute les autre cellules que je vais selectionner ( oui vous allez me dire que je click sur le petit pinceau de remise en forme)

c'est bien ca je veux que l'action ce fasse sans que j'ai a cliqué sur ce fichu pinceau pour des question de practicité.

De plus j'ai trois couleur ( forcément ) vert orange rouge ( enfaite 4) et Noir.

Cordialement.

Bonjour et

Je voudrais savoir comment on fait pour: quand je click sur un bouton ou une cellule colorée elle se recopie automatiquement dans toute les autre cellules que je vais selectionner ( oui vous allez me dire que je click sur le petit pinceau de remise en forme)

Tu ne peux pas, sauf en développant en VBA

c'est bien ca je veux que l'action ce fasse sans que j'ai a cliqué sur ce fichu pinceau pour des question de practicité.

Justement, la praticité est là avec le pinceau

Je te remercie de t'on intervenstion.

Justement

C'est bien ce que je recherche !

Développer ca en VBA.

Cordialement

Bonjour naubin,

Je te propose ce fichier Excel :

14exo-naubin1.xlsm (14.72 Ko)

À l'ouverture du fichier, la cellule B2 est sélectionnée ; elle a un fond vert clair.

Alt F8 ➯ fenêtre Macro ; dans la liste, il y a 3 macros :

fenetre macro

La 1ère macro sélectionnée est CopyColor ; exécute-la ➯ fenêtre ci-dessous :

fenetre couleur

Ça te montre le n° de la couleur vert clair (de type entier long) : 13 434 828

C'est un n° qui peut éventuellement te servir, mais prend cette fenêtre surtout comme une confirmation que la couleur de fond de la cellule a bien été prise en compte (enregistrée) pour pouvoir ensuite être appliquée à la sélection que tu choisiras (la cellule active ; ou plusieurs cellules, contigües ou non).


Sors de la fenêtre (clic sur bouton OK ou touche Echap), puis sélectionne par exemple : D4:D7 ; puis, avec la touche Ctrl enfoncée, sélectionne F6:F9 ; Alt F8 ; exécute la 3ème macro PasteColor ➯ couleur de fond collée sur toutes les cellules sélectionnées

Tu peux répéter cette 2ème opération aussi souvent que tu veux : VBA se lassera pas, lollll ! y'a que 2 gros risques :

erreur 1 erreur 2

Et si tu veux enlever la couleur de fond de la sélection (une seule cellule, ou plusieurs) ? c'est très simple : il te suffit de sélectionner les bonnes cellules et d'utiliser la 2ème macro NoColor ; attention : ça ne met pas la couleur blanc, mais ça enlève réellement la couleur de fond : code -4142 = xlNone = Aucune couleur.


Alt F11 pour voir le code VBA, puis pour revenir sur Excel

Si besoin, tu peux demander une adaptation.

Merci de me dire si ça te convient.

dhany

Salut Naubin1, dhany

Beaucoup plus simple, mais bon tu auras...

Bonjour Bruno,

Oui, ta solution aussi est pas mal du tout !

Je précise que s'il est besoin d'indiquer plusieurs plages de cellules, il suffit de taper le caractère point-virgule pour les séparer (ou utiliser la touche Ctrl et la maintenir enfoncée lors de la sélection) ; exemple sur une reproduction de ta fenêtre Entrée :

fenetre entree

NB : les plages de cellules peuvent être sélectionnées avec la souris : inutile de les taper au clavier

dhany

Attention, Bruno ! j'me suis rendu compte que ta version comporte un bug : quand la fenêtre "Entrée" est affichée, si tu changes d'avis et que tu appuies sur la touche Échap pour sortir, ça génère une erreur 13 incompatibilité de type ; dans un 1er temps, j'ai essayé de résoudre ce problème simplement en supprimant As Range de RngD ➯ Variant implicite ; j'sais pas pourquoi, l'erreur 13 persiste ! donc j'ai remis As Range et dans un 2ème temps, j'ai ajouté : On Error Goto Err13 avec un label Err13: bien sûr !

J'ai pas mis avant de Exit Sub car j'ai mis aucune instruction entre le label Err13: et le End Sub (donc aucune instruction de gestionnaire d'erreur à éviter, ceci dans le cas où aucune erreur ne se produit)

Voici donc la nouvelle version du fichier Excel de BrunoM45 :


Pour info, l'erreur 13 se produisait sur cette ligne de code (dont la syntaxe est tout à fait correcte) :

Set RngD = Application.InputBox(Prompt:="Veuillez sélectionner la/les cellules de destination", Type:=8, Default:="")

J'aurais préféré résoudre l'erreur sans utiliser On Error Goto mais j'ai pas trouvé ; t'as p't'être une solution plus simple ?

dhany

Salut dhany

Effectivement, perso je préfère utiliser

On Error Resume Next

Tu ne peux pas éviter cette erreur, puisque le Inputbox avec Type:=8 définit une plage

Donc on peut modifier le code comme suit également

Sub CopieCouleur()
  Dim IntCol As Long, RngD As Range
  ' Vérifier la sélection
  If Selection.Count > 1 Then
    MsgBox "Merci de sélectionner UNE cellule contenant la couleur à copier", vbCritical, "OUPS ..."
    Exit Sub
  End If
  ' Récupérer la Couleur de la cellule
  IntCol = ActiveCell.Interior.Color
  ' Vérification
  If IntCol = 16777215 Then
    MsgBox "Merci de sélectionner une cellule avec une couleur", vbExclamation, "OUPS ..."
    Exit Sub
  End If
  ' En cas d'erreur
  On Error Resume Next
  ' Demander de choisir les cellules de destinations
  Set RngD = Application.InputBox(Prompt:="Veuillez sélectionner la/les cellules de destination", Type:=8, Default:="")
  ' Si aucune erreur Appliquer la couleur
  If Err.Number = 0 Then RngD.Interior.Color = IntCol
  On Error GoTo 0
End Sub

Voici le fichier corrigé, merci le beta testeur

BrunoM45 a écrit :

merci le beta testeur

ah bon ! alors j'ai droit tout d'suite au rang violet de Contributeur ! faut qu'tu demandes à Sébastien de m'promotionner ! (avec l'augmentation d'salaire qui va avec, bien sûr ! + logement et voiture de fonction !!! et électricité gratuite !!! )

dhany

Tiens @dhany voilà déjà une avance... virtuelle

argent money1

@BrunoM45

L'argent n'a pas d'odeur, mais on s'y croirait !!! j'sens qu'j'vais bientôt palper ma paie !!! à moi les vacances de rêves sur une île paradisiaque !!!

Même virtuellement, ça fait toujours plaisir de s'sentir riche ! l'argent fait pas le bonheur mais il y contribue, hein ?

(j'crois qu'j'vais aller faire un p'tit raid à la pâtisserie, et acheter plein d'bons gâteaux !!! )

dhany

Salut les boys merci de vos intervention je test ca TDS et je vous dit quoi

cordialement

niquel ! je mets le complément sur cet avance virtuel ! merci les boys

Bonjour naubin,

Merci pour le retour ... et pour le complément d'avance virtuelle ! j'te laisse passer l'sujet en résolu pendant qu'j'retourne à la pâtisserie (chouette ! encore plus de gâteaux !!! )

dhany

Rechercher des sujets similaires à "mise couleur"