gon33 Le 09/12/2012 à 12:13 Salut!
J'ai un soucis avec une formule Excel qui gère la mise en forme conditionnelle d'une cellule.
Si j'écris
=NON(ESTVIDE(INDIRECT(ADRESSE(LIGNE(); COLONNE()))))
Excel le digère correctement.
Par contre, si je place ça dans un SI, il renvoie toujours vrai.
Ex :
=SI(VRAI; NON(ESTVIDE(INDIRECT(ADRESSE(LIGNE(); COLONNE())))); VRAI)
Des idées ?
avant de te répondre pourrais tu me dire ce que signifie les fonctions LIGNE() et COLONNE() ?
puis me dire aussi la signification des paramètres de la fonction SI().
Zeph Le 09/12/2012 à 14:06 En effet ta deuxième version donne un résultat inattendu, mais par curiosité pourquoi est-ce que tu fais aussi compliqué ?
Dans ton premier cas, un simple "NON(ESTVIDE(A1))" aura le même effet (en remplaçant A1 par la cellule en haut à gauche de la plage concernée ; Excel adapte automatiquement la formule pour les autres cellules). Dans le second cas, peut-être que ça pourrait aider si tu nous donnais le résultat que tu cherches réellement à avoir, j'imagine que tu ne comptes pas laisser une formule qui commence par "SI(VRAI...".

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
gon33 Le 09/12/2012 à 14:22 Lol, ce serait déjà plus simple si je définissais la formule que sur la bonne plage :-)
gon33 Le 09/12/2012 à 14:31 J'ai simplifié la formule, ça donne ça :
= ET( NON(ESTVIDE(D14)); OU( ESTVIDE(INDIRECT(ADRESSE(8;COLONNE()))); ESTVIDE(INDIRECT(ADRESSE(LIGNE();2)))))
Mais ça ne fonctionne pas.
vince Le 09/12/2012 à 17:16 Attention, Excel est réputé pour poser des problèmes en fonction de la langue, les mots clés sont spécifiques à chaque langue
Sburb Le 10/12/2012 à 22:19 Soit je n'ai pas compris ce que tu cherches à faire, soit tu t'embêtes pour rien.
Excel gère le décalage dans les formules pour toi.
Il te suffit de créer ta régle dans une cellule, par exemple la D14 et de mettre la formule
= ET( NON(ESTVIDE(D14)); OU( ESTVIDE(D$8); ESTVIDE($B14)))
Puis de copier la mise en forme et l'étendre à toute ta zone.
Le $ indique que la ligne/colonne ne doit pas varier lors des recopies.
Idem pour toutes autres formules.
gon33 Le 11/12/2012 à 15:22 Parfait !!
Ca résout mon problème !