EXCEL REFERENCES RELATIVES NON DYNAMIQUES

Résolu/Fermé
Lulu - 21 nov. 2008 à 16:30
 Lulu - 21 nov. 2008 à 17:19
Bonjour à tous,

les références sous Excel! Encore les références! Oui il y a beaucoup de documentation, mais je ne trouve pourtant pas réponse à mon problème.

Sous Excel, je travaille sur un fichier de planification:
sur chaque ligne, j'ai un dossier avec date de début, date de fin, etc.
Pour aider les utilisateurs, la date de début de traitement du dossier se calcule automatiquement en fonction de la date de fin du dossier placé sur la ligne précédente. (date de début du dossier = date de fin du dossier précédent + 1 jour)
Les lignes sont souvent modifiées car le planning change beaucoup.
Le pb est le suivant, si l'utilisateur déplace une ligne (ce qu'il fait fréquemment), il faut que la date de début se calcule toujours en fonction de la ligne précédente. Mais la formule calculée pointe toujours sur la ligne précédent son premier enplacement.

Un exemple:
A B C D
1 N° dossier Date de début Durée Date de fin
2 N°123 01/01/2008 3 j 03/01/2008
3 N°124 04/01/2008 10 j 13/01/2008
4 N°125 14/01/2008 5 j 18/01/2008

DATES DEBUT
La date du premier dossier est imposée (il faut bien commencer par quelque chose).
B3=D2+1 ou L(-1)C(2)+1 = 04/01/2008
B4=D3+1 ou L(-1)C(2)+1 = 14/01/2008

DATES FIN
C'est date de début + nb de jours -1.

Finalement, on va devoir réaliser le dossier 125 avant le dossier 124.
On inverse les lignes 2 et 3 (par un couper/insérer).

Voici ce qu'on obtient:
A B C D
1 N° dossier Date de début Durée Date de fin
2 123 01/01/2008 3 03/01/2008
3 125 14/01/2008 5 18/01/2008
4 124 04/01/2008 10 13/01/2008

Les formules de calcul de date de début pointent toujours vers les cellules d'avant, alors que je voudrais qu'il la calcule par rapport à la ligne précédente!
Excel a changé ma formule "L(1)C(2)+1" en =L(1)C(2)+1 (pour le dossier 125)
et en "L(-2)C(2)+1" (pour le dossier 126). Je voudrais qu'il garde toujours L(-1)C(2)+1.

Alors, j'espère que vous aurez compris mon problème qui n'est pas courant.

Merci
A voir également:

2 réponses

wilfried_42 Messages postés 907 Date d'inscription mardi 19 août 2008 Statut Contributeur Dernière intervention 8 décembre 2009 242
21 nov. 2008 à 16:34
bonjour

à essayer :
en colonne A

=indirect("C" & ligne()-1) + 1

1
Merci beaucoup de ta réponse Wilfried.

J'ai testé. Mais LIGNE() reprend le numéro de la ligne, du coup LIGNE()-1 reprend le numéro de ma ligne précédente, pas le contenu de la ligne précédente.
0
J'ai trituré la fonction et EUREKA!

Dans la colonne B: =INDIRECT("L(-1)"&"C(2)";FAUX) + 1
Dans la colonne D: =INDIRECT("L"&"C(-2)";FAUX) + C1-1

Merci beaucoup pour l'astuce Wilfried!
Je te souhaite une bonne journée et un bon WE!
0
wilfried_42 Messages postés 907 Date d'inscription mardi 19 août 2008 Statut Contributeur Dernière intervention 8 décembre 2009 242
21 nov. 2008 à 17:05
re:

si j'ai compris, tu veux garder l'intégrité de la chronologie quelque soit l'ordre de tes lignes
voici un fichier avec ce que j'ai compris
https://www.cjoint.com/?lvrap3G13a

et la formule donnée precedemment

fait un un copier coller de la ligne que tu veux et met la à la fin, ensuite supprime la ligne et les date se recalculeront..

si tu as testé la formule et que ca ne fait pas ce que tu veux, poste ton fichier avec des exemples pour mieux comprendre
0
Oui c'est tout à fait ça la problématique, et la réponse également.
Je ne sais pas ce que j'ai bouiné tout à l'heure pour ne pas y arriver! lol
Là c'est bon, cela fonctionne parfaitement, et j'ai bien compris la méthode.

Je te remercie encore.
0