Figer une formule insertion ligne

Bonjour à tous,

N'étant pas un expert en Excel, j'ai besoin de votre aide.

J'ai besoin de trouver une formule qui me permettent :

  • Figer ma formule car la macro insert une ligne en ligne 7 et décale naturellement de 1 la formule; ex : ma formule doit être D7-D2 et après elle devient D8-D2; il y a donc autant de décalage que d'insertion faite
  • en complément du point précédent, ma formule doit me ressortir la valeur la plus récente qu'il trouve; par exemple dans le fichier en PJ, les valeurs entre les 16/01 et l 20/01 sont égales à #N/A. La première valeur est 110 et j'ai besoin qu'il me ressortent celle-ci dans la cellule D3 (case en jaune)

En vous remerciant par avance, je vous souhaite une bonne soirée.

YggyPop, jeune apprenti excel

10classeur1.xlsx (11.33 Ko)

Bonsoir,

Comme je n'ai pas tout compris, je poste un fichier avec quelques formules qui "figent" la ligne 7 comme début de matrice.

Cordialement

27pour-yggypop.xlsx (13.94 Ko)

Bonjour Haonv,

Je viens de faire les tests et ça fonctionne parfaitement; c'est exactement ce dont j'avais besoin !

On m'avait effectivement aiguillé vers une fonction matricielle avec l'INDIRECT, mais je n'avais pas réussi à écrire la formule.

Je valide donc comme suit la formule pour récupérer la dernière valeur renseignée dans la colonne et esquiver le #N/A :

{=INDIRECT("D"&MIN(SI(NON(ESTNA(INDIRECT("D$7:D$1000")));LIGNE(INDIRECT("D$7:D$1000")))))-D2}

En revanche, je me demande si il existe un moyen d'étirer la formule sur x colonnes et faire en sorte qu'elle actualise avec la nouvelle colonne ? Ou dois-je modifier à la main les paramètres suivant en prenant pour exemple la colonne E :

{=INDIRECT("E"&MIN(SI(NON(ESTNA(INDIRECT("E$7:E$1000")));LIGNE(INDIRECT("E$7:E$1000")))))-E2}

Dans l'attente de votre retour, je vous souhaite une bonne journée.

Bien à vous,

YggyPop, jeune apprenti excel

Bonjour,

Un essai avec, en D3:

=DECALER(D$1;MIN(SI(NON(ESTNA(DECALER(D$6;1;;994)));LIGNE(INDIRECT("D7:D1000"))))-1;)-D2

A valider comme formule matricielle.

On pourra ensuite incrémenter cette formule vers la droite.

Cordialement

Re,

Je joins le fichier avec les formules.

Cordialement

13pour-yggypop-1.xlsx (12.69 Ko)

Re-Bonjour Haonv,

Je viens d'ouvrir ton fichier et te remercie pour cette update.

Par rapport à ta formule :

=DECALER(D$1;MIN(SI(NON(ESTNA(DECALER(D$6;1;;994)));LIGNE(INDIRECT("D7:D1000"))))-1;)-D2

  • On garde la logique d'aller chercher la première valeur après les #N/A qui sera ensuite soustraite à D2
  • A quoi correspond cette partie : DECALER(D$6;1;;994) ?

Merci pour ton aide,

YggyPop, Jeune apprenti Excel

Re,

DECALER(D$6;1;;994)

on décale D6 de 1 ligne: ce sera donc toujours D7, même en rajoutant des lignes après la 6° ligne.

;;on pourrait mettre 0 entre les points virgules: on décale de 0 colonne.

994: sur une hauteur de 994 lignes:en partant de D7, 994 lignes renvoie la ligne 1000.

On obtient donc la matrice D7:D1000.

Cordialement

Re-bonjour Haonv,

une fois de plus, merci pour ces explications de qualité. Je comprends mieux la construction de la formule.

En vous souhaitant une bonne journée !

YggyPop

Rechercher des sujets similaires à "figer formule insertion ligne"