Conversion de formule avec "INDIRECT"

  • Initiateur de la discussion Initiateur de la discussion jo1177
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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

@+
 
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 !
 
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
 
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

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Problème de date
Réponses
5
Affichages
169
  • Question Question
Microsoft 365 Comparer 2 onglets
Réponses
8
Affichages
540
Réponses
4
Affichages
836
Réponses
5
Affichages
118
Retour