Je travaille sur un fichier qui sera rempli par d'autres personnes.
Pour guider et donc faciliter le travail de saisie des collègues, je souhaite afficher par défaut des valeurs dans certaines cellules qui seront ensuite complétées.
J'ai donc créé cette ligne de code qui fonctionne :
VB:
If Cells(3, 3) = "" Then Cells(3, 3) = "IDF"
J'ai bien IDF qui s'affiche par défaut.
Mais je souhaite que la couleur de police "en attente de saisie" soit différente de la couleur de police une fois la saisie effectuée, je tente donc d'ajouter une suite à la ligne précédente, mais rien ne marche, voici un exmple de mes tentatives :
VB:
If Cells(3, 3) = "" Then Cells(3, 3) = "IDF" And Cells(3, 3).Font.Color = RGB(192, 192, 192)
Else Cells(3, 3).Font.Color = RGB(0, 0, 0)
Je voudrais écrire en GRIS CLAIR si la cellule est vide, et donc remplie par défaut par "IDF"
et que la police soit NOIR si on vient saisir unevaleur dans cette cellule.
Vous essayez de tout faire en même temps, c'est pour ça que vous vous emmêler les pinceaux.
Dans les lignes suivantes, on s'occupe de la valeur en premier et ensuite on est la valeur.
VB:
With Cells(3, 3)
If .Value = "" Then .Value = "IDF"
If .Value = "IDF" Then .Font.Color = RGB(192, 192, 192) Else .Font.Color = RGB(0, 0, 0)
End With
' ATTENTION Si vous faites ça dans l'évènement change de la feuille vous risquez de tournez en boucle :
C3 change C3 qui change C3 etc
Là au deuxième appel cela s'arrêterait car C3 vaudrait "IDF" et ne serait plus vide mais, faites quand même attention.
Le deuxième if pourrait être fait dans l'interface par mise en forme conditionnelle.
Vous essayez de tout faire en même temps, c'est pour ça que vous vous emmêler les pinceaux.
Dans les lignes suivantes, on s'occupe de la valeur en premier et ensuite on est la valeur.
VB:
With Cells(3, 3)
If .Value = "" Then .Value = "IDF"
If .Value = "IDF" Then .Font.Color = RGB(192, 192, 192) Else .Font.Color = RGB(0, 0, 0)
End With
' ATTENTION Si vous faites ça dans l'évènement change de la feuille vous risquez de tournez en boucle :
C3 change C3 qui change C3 etc
Là au deuxième appel cela s'arrêterait car C3 vaudrait "IDF" et ne serait plus vide mais, faites quand même attention.
Le deuxième if pourrait être fait dans l'interface par mise en forme conditionnelle.