Conversion de formule avec "INDIRECT"

jo1177

XLDnaute Junior
Bonjour à tous!

J'ai un nouveau petit problème et je me remet à vous et vos connaissances pour m'aider à le résoudre. =)

Voilà, j'ai une formule de ce type :
Code:
=SI(SOMMEPROD((A1:C1>B1:D1)*(B1:D1<>""));"Erreur").

Le but de cette formule est de dire à Excel que si la date rentrée est antérieure à la case précédente, alors il y a erreur.

Le problème est que je dois aléatoirement insérer et supprimer des lignes et que lors de cette action, tout ce décale et mes formules ne correspondent plus aux lignes correspondantes.
Je pensai donc utiliser la fonction "INDIRECT" afin que mes formules restent toujours effectives.

J'ai donc modifier ma formule de cette manière :
Code:
=SI(SOMMEPROD(INDIRECT((("A"&LIGNE()-0):("C"&LIGNE()-0)>(("B"&LIGNE()-0):("D"&LIGNE()-0)))*(("B"&LIGNE()-0):("D"&LIGNE()-0))<>""));"Erreur")

Evidemmennt, il serait trop simple que ma formule fonctionne du 1er coup ! Mais après mounte essais, je ne vois toujours pas où se situe l'erreur de ma formule...
Voyez vous où se situe le problème ?

PS: Ci-joint, un fichier exemple pour plus de compréhension

Merci d'avance à tous =)

jo1177
 

Pièces jointes

  • Exemple jo1177.xls
    30 KB · Affichages: 50

Tibo

XLDnaute Barbatruc
Re : Conversion de formule avec "INDIRECT"

Bonjour,

Je ne comprends pas trop ton souci de vouloir éviter les décalages de formules lors de l'insertion ou la suppression d'une ligne.

Sinon, il me semble qu'il manque des guillemets dans la formule, mais je souhiate comprendre le problème avant d'aller plus loin.

A te (re)lire

@+
 

hoerwind

XLDnaute Barbatruc
Re : Conversion de formule avec "INDIRECT"

Bonjour,

Il faudrait d'abord que tu respectes la syntaxe de la fonction INDIRECT()
A titre d'exemple, voici une formule qui fonctionne sur ton exemple :
F6 :
Code:
=NB(INDIRECT("A"&LIGNE()-0&":C"&LIGNE()-0))=NB((INDIRECT("B"&LIGNE()-0&":D"&LIGNE()-0)))

Par contre je te signale avoir aussi déjà rencontré pas mal de problèmes en essayant de combiner les fonctions SOMMEPROD et INDIRECT lorsque cette dernière fait référence à des plages, sans toutefois être parvenu à les résoudre.

Edition : salut Tibo !
 

jo1177

XLDnaute Junior
Re : Conversion de formule avec "INDIRECT"

Bonjour Tibo, hoerwind,

Je me doutai que la syntaxe n'était pas bonne, mais étant débutant sur Excel, je vous explique justement mon problème parce que je ne comprend rien à cette fonction !! lol
Mais je vais essayer avec votre exemple hoerwind, je vous tiens au courant si il y a complication.

Merci de votre aide !

jo1177
 

Monique

Nous a quitté
Repose en paix
Re : Conversion de formule avec "INDIRECT"

Bonjour,

Tu insères des lignes ou des cellules ?
Si tu insères des lignes entières, ta formule fonctionne.

Si tu insères des cellules, fais un essai comme ça (à mettre en F2) :
Code:
[FONT=Verdana]=SI(SOMMEPROD((DECALER(F2;0;-5;1;4)>DECALER(F2;0;-4;1;4))*(DECALER(F2;0;-4;1;4)<>""));"Erreur";"")[/FONT]

Decaler(Réf ; 0 ligne ; 5 colonnes vers la gauche ; Hauteur 1 ; Largeur 4)

On peut se passer du 0 et du 1 (elle est en G2) :
Code:
[FONT=Verdana][FONT=Verdana]=SI(SOMMEPROD((DECALER(G2;;-6;;4)>DECALER(G2;;-5;;4))*(DECALER(G2;;-5;;4)<>""));"Erreur";"")[/FONT][/FONT]
 

Pièces jointes

  • DecalerJo1177.zip
    6.8 KB · Affichages: 29

Discussions similaires

Réponses
4
Affichages
286
Réponses
3
Affichages
182

Statistiques des forums

Discussions
312 147
Messages
2 085 768
Membres
102 969
dernier inscrit
pizza