Pour me faire comprendre est jointe une macro excel 4 écrite il y a longtemps
Aidé de l'enregistreur j'ai pu régler la première partie…satisfaisant pour mettre en bleu la sélection…mais ne fonctionne évidemment pas pour revenir à la couleur automatique (0)
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
Target.Font.ColorIndex = IIf(Target.Font.ColorIndex = 5, xlAutomatic, 5)
End Sub
Après maints essais, je n'arrive pas à remplacer cette macro à base de fonctions par le langage vba.
Pour la réponse de job75, je n'arrive même pas à la faire fonctionner
La macro couleurs (à base de fonctions) en colonne B a été faite comme une commande intégrée d'excel telle par exemple Ctrl+G qui mets le texte sélectionné en gras.
Ainsi, dans mon cas, si le texte sélectionné est en automatique, la commande "couleurs" le mets en bleu. Si je change d'avis je refais la même commande et la sélection revient en automatique.
Merci Job75 pour cette magnifique démonstration…mais je déteste les clics.
C'est la raison pour laquelle je voulais strictement transposer en vba la macro-commande. De plus, habitué aux fonctions depuis 1989, je ne me suis jamais vraiment mis au vba quand ce langage est apparu. Ai toujours recouru à des experts patients pour des macro-commandes en vba. Donc je devrai cliquer encore et encore et resterai fort déçu.
La macro-commande en xls4 fonctionne aussi bien sur une unique cellule que sur une sélection. Le doubleclic sur une sélection ne donne pas le résultat attendu…
Pas de clic et sélection quelconque dans ce fichier (2) :
Code:
Sub Couleur()
'se lance par les touches Ctrl+B
ActiveCell.Activate 'si un objet est sélectionné
Selection.Font.ColorIndex = IIf(ActiveCell.Font.ColorIndex = 5, xlAutomatic, 5)
End Sub