marquer les cellules avec formule

A

andré

Guest
Salut à toutes et à tous,

Dans une feuille de calcul je souhaite "marquer", par exemple par une couleur de remplissage, toutes les cellules contenant une formule.

But : je remplis en plusieurs phases un tableau par des valeurs, je calcule la moyenne par ligne et je lie les cellules pour lesquelles je n'ai pas encore introduit de valeur par la référence de la cellule contenant la moyenne.
Donc, lorsque j'introduis une valeur dans une cellule, j'écrase la formule existante.

Actuellement je le fais par F5 / Cellules / Formules / OK, puis l'icone Couleur de remplissage.
Mais cette procédure n'est pas automatique.
Par une macro évenementielle elle le deviendrait.

Mon idée est d'appliquer une mise en forme conditionnelle, mais je ne trouve pas !

Qu'est-ce qui peut différencier une cellule contenant une formule d'une autre contenant une valeur ?

Ândré.
 
D

Dan

Guest
Bonjour André,

Ne pourrais-tu pas envisager de créer cette macro (via le menu outils-macro-nouvelle macro) en effectuant la procédure que tu fais actuellement manuellement (F5, cellules...).
Ce serait une sorte de mise en forme conditionnelle mais effectuée par une macro que tu déclencherais à ta guise.

Voici un code exemplatif :

Sub marque_cellules ()
Selection.SpecialCells(xlCellTypeFormulas, 23).Select
With Selection.Interior
.ColorIndex = 6 'couleur jaune
End With
End Sub

dans l'attente de te lire

@+

Dan
 
A

andré

Guest
Salut Dan,

Merci de t'être penché sur mon problème.

Je souhaite impérativement que la mise en forme conditionnelle soit automatique.

J'avais oublié qu'il existait une fonction personnalisée Isformula (question posée par C@thy en date du 27.03.03 et réponse apportée par Binouze ...).
Donc aussi un peu de VBA.

Entre-temps, j'ai aussi trouvé une solution qui répond à mon problème précis, mais qui n'est pas la solution globale.
Je suis content du résultat, mais pas fier de la méthode :

Mettre la feuille en format # ##0.00
Mettre les cellules A1 à E1 en forme conditionnelle : la valeur de la cellule est égale à : =F1
Cocher la case Itération sous Outils / Options / Calcul

A1, B1, D1, E1 : des valeurs quelconques
C1 : = F1
F1 : =ARRONDI(MOYENNE(A1:E1);2)+0.0000001

Fais l'essai en mettant dans les cellules A1, B1, D1 et C1 les valeurs 1 (ou 0).

J'avais aussi essayé en écrivant la formule : ="+"&F1 puis une mise en forme conditionnelle : =CHERCHE("+";C1)=1.
Cela fonctionne, mais je ne sais pas additionner mes colonnes (c'est du texte).
La fonction CNUM() supprime le signe +.

Voilà, voilà, problème résolu.

Merci encore.
Ândré.
 

Discussions similaires

Réponses
3
Affichages
250
Réponses
6
Affichages
243

Statistiques des forums

Discussions
314 085
Messages
2 105 646
Membres
109 408
dernier inscrit
demichoux50