A voir également:
- Appliquer formule en fonction de la couleur d'une cellule
- Excel cellule couleur si condition texte - Guide
- Fonction si et - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Excel formule couleur cellule - Guide
- Formule moyenne excel plusieurs colonnes - Guide
1 réponse
Bonjour,
Si je comprends bien votre problème, il faut utiliser une fonction If pour appliquer l'une ou l'autre formule, exact ?
Dans ce cas, comme il n'existe pas sous Excel (j'ai 2019 mais je ne pense pas que la fonction ait été créée sous 365 pour l'instant) une fonction qui permette cela, il suffirait de créer une fonction très simple sous VBA.
Si vous ne savez pas comment faire :
- Dans les options, activez votre onglet Développeur ;
- à partir de cet onglet, créez un nouveau module en cliquant sur le deuxième outil de la barre
d'outils (la bulle doit afficher "Nouveau module") ;
- Dans la fenêtre principale, intégrez ce code :
N'oubliez pas de sauvegarder le classeur sous format .xlsm (prenant en charge les macros)
Si vous souhaitez que cette fonction soit utilisable avec plusieurs classeurs différents, vous pouvez aussi faire en sorte d'avoir le classeur contenant le module ouvert en même temps que ceux sur lesquels vous travaillez : toutes les macros et les fonctions des classeurs ouverts fonctionneront aussi pour les autres ouverts.
La fonction a utiliser sera bien sûr Estencouleur(VotreRéférence), et elle renverra une valeur VRAI/FAUX ; du coup elle a sa place en premier paramètre d'une fonction SI().
Voilà, j'espère que cela pourra vous servir ! ;)
Si je comprends bien votre problème, il faut utiliser une fonction If pour appliquer l'une ou l'autre formule, exact ?
Dans ce cas, comme il n'existe pas sous Excel (j'ai 2019 mais je ne pense pas que la fonction ait été créée sous 365 pour l'instant) une fonction qui permette cela, il suffirait de créer une fonction très simple sous VBA.
Si vous ne savez pas comment faire :
- Dans les options, activez votre onglet Développeur ;
- à partir de cet onglet, créez un nouveau module en cliquant sur le deuxième outil de la barre
d'outils (la bulle doit afficher "Nouveau module") ;
- Dans la fenêtre principale, intégrez ce code :
Function EstEnCouleur(MaCellule As Range) As Boolean
EstEnCouleur = False
If MaCellule.Interior.ColorIndex <> xlColorIndexNone Then
EstEnCouleur = True
End If
End Function
N'oubliez pas de sauvegarder le classeur sous format .xlsm (prenant en charge les macros)
Si vous souhaitez que cette fonction soit utilisable avec plusieurs classeurs différents, vous pouvez aussi faire en sorte d'avoir le classeur contenant le module ouvert en même temps que ceux sur lesquels vous travaillez : toutes les macros et les fonctions des classeurs ouverts fonctionneront aussi pour les autres ouverts.
La fonction a utiliser sera bien sûr Estencouleur(VotreRéférence), et elle renverra une valeur VRAI/FAUX ; du coup elle a sa place en premier paramètre d'une fonction SI().
Voilà, j'espère que cela pourra vous servir ! ;)