Disparition d'un texte dans une cellule excel

Fermé
Dorientamento Messages postés 32 Date d'inscription dimanche 2 octobre 2011 Statut Membre Dernière intervention 28 avril 2014 - Modifié par Dorientamento le 2/01/2014 à 12:37
Dorientamento Messages postés 32 Date d'inscription dimanche 2 octobre 2011 Statut Membre Dernière intervention 28 avril 2014 - 2 janv. 2014 à 16:05
Bonjour,

Je cherche à faire une maquette d'un compte rendu dans lequel je voudrais indiqué par du texte ce que les gens doivent compléter dans le bandeau "informations" pour avoir un compte rendu complet.

J'aimerai écrire quelque chose dans une cellule, et que ce texte disparaisse lorsqu'on remplit cette même cellule par le contenu souhaité mais qu'il revienne en cas de non remplissage de la cellule.

Exemple : dans la cellule, je veux que la personne mette la date de la réunion dans le compte rendu, je voudrais donc écrire "date" et que lorsqu'il remplisse la case, cela disparaisse (facile, il écrit par dessus) mais je voudrais aussi que lorsqu'il efface (pour X raison) le mot "date" réapparaisse de sorte à ce qu'il ne puisse pas oublier de mettre la date.

De plus, j'aimerai que cette case ait une couleur ou une police différente lorsqu'elle ne serait pas remplie par l'information (donc par "date" dans l'exemple ci dessus et non "xx/xx/xxx").

J'imagine que c'est possible, mais ne maitrisant pas du tout VBA... je n'y arriverais pas... ou peut être une fonction dans excel? (un peu comme sous word).

Ps : passer par l'option commentaire est une possibilité que j'ai envisagé mais je ne suis pas fan...

J'espère avoir été clair dans mes explications. Merci d'avance pour ceux qui se pencheront sur le sujet.

Cordialement. Bonne année à tous.

Dorientamento

1 réponse

dlt-pan Messages postés 481 Date d'inscription jeudi 17 mai 2007 Statut Membre Dernière intervention 23 décembre 2014 67
2 janv. 2014 à 15:18
Bonjour
A adapter a tes besoins. le test ne se fait que dans les cellules D1 à D30.

Private Sub Worksheet_Change(ByVal Target As Range)
'limite la macro a la plage de cellule D1 a D30
If Not Intersect(Target, Range("D1:D30")) Is Nothing Then
'test sut toutes les cellules de D1 a D30
For i = 1 To 30
'si elle est vide, on rempli avec le mot date en rouge
If Cells(i, 4) = "" Or Cells(i, 4) = " " Then
Cells(i, 4) = "Date"
Cells(i, 4).Font.Color = -16776961
Else
'sinon on met en noire
If Cells(i, 4) <> "Date" Then
Cells(i, 4).Font.Color = 0
End If
End If
Next i
End If
End Sub
0
Dorientamento Messages postés 32 Date d'inscription dimanche 2 octobre 2011 Statut Membre Dernière intervention 28 avril 2014 2
2 janv. 2014 à 16:05
Merci de ta réponse. Je l'essayerai demain au boulot. Je pense que ça marchera mais je te ferai un retour :)
Bonne fin de journée
0