Couleurs et VBA

Bonjour à tous,

J'ai un UserForm avec des textbox, et j'ai un code qui met le contenu de ces textbox dans les cellules excel. Le problème est que je voudrais que ce texte ait une certaine couleur, mais pas que la cellule soit formatée en une couleur, car cette cellule peut accueillir d'autres textes avec d'autres couleurs.

J'ai essayé des choses comme :

Cells(LigneVide, "F").Value = TextBox1.Value.Font.ColorIndex = 46

Mais ça ne marche pas

Si vous avez une idée de comment faire, je vous remercie d'avance

Cdlt,

Bonjour Antonio, bonjour le forum,

En deux fois :

with Cells(LigneVide, "F")
    .Value = TextBox1
    .Font.ColorIndex = 46
End With

Malheureusement cela colore le contenu de toute la cellule, et il faudrait dans mon cas que seul le contenu du textbox soit dans cette couleur !

Re,

heu non désolé mais ce code ne colore que le texte. N'aurais-tu pas, par hasard, une mise en forme conditionnelle qui, elle, colore la cellule ?... Sinon rien de mieux que le fichier pour mieux comprendre !

Voici mon fichier, en fait il y a une ligne par date et s'il y a plusieurs modifications dans la journée alors c'est écrit dans la même ligne, et je voudrais que les colonnes E et F soient en couleur par rapport à l'utilisateur qui est dans le combobox

n'hésitez pas à me demander plus d'informations si je n'ai pas été assez clair

13couleursvba.xlsm (125.35 Ko)

Re,

L'utilisation d'un tableau ListObject a pour avantage de formater automatiquement les cellules selon le modèle choisit. Du coup, pour toi ça devient un inconvénient. J'utilise pratiquement jamais ce genre de tableau car je trouve ça trop ch***t à gérer par VBA. Je t'avoue que je n'ai même pas envie de rechercher une solution avec ce type d'object. À ta place, je remplacerais le ListObject par un tableau normal et là tu n'aurais plus ce genre de problème...

Bonjour,

@ ThauThème,

Si tu es réfractaire aux tableaux (ListObjects), tu peux travailler avec comme tu le ferais pour une plage (Range).

Cdlt.

Dim TD As Range
'avec en-têtes de ligne
Set TD = Range("Tableau1[#All]")
'sans en-têtes de ligne
Set TD = Range("Tableau1")

Re,

Nan, Jean-Éric ! chuis pas réfractaire. Chuis c** et têtu. Tu vois, il n'y a plus d'espoir... Je n'utilise ces bestioles que quand je suis sûr qu'il n'y aura pas de VBA dans mon fichier...

Rechercher des sujets similaires à "couleurs vba"