Formules décalées suite à MAJ de l'onglet source

Fermé
FR334770 - 28 déc. 2021 à 07:22
DjiDji59430 Messages postés 4151 Date d'inscription samedi 19 avril 2008 Statut Membre Dernière intervention 2 décembre 2024 - 28 déc. 2021 à 16:44
Bonjour à tous, et merci pour les précédents coups de main !

Un nouveau problème (le dernier ?) sur mon projet après avoir déjà contourné avec votre aide pas mal d'obstacles. Donc voici : 1 classeur, 3 feuilles.

Feuille 1 "Projects" : des données se mettent à jour via une connexion à des données externes (le programme accessible aux utilisateurs pour entrer leurs données. Puis export du contenu vers le fichier excel chaque nuit.
Actuellement 700 lignes, env. 50 colonnes.
La feuille grossit chaque jour par l'ajout de quelques lignes, les colonnes n'évoluent pas. Elle est exploitée via la feuille 2, puisqu'effacée et reconstituée chaque nuit. Donc pas de mise en forme ni de tableau basés sur cette feuille 1

Feuille 2 : afin de pouvoir mettre en forme mes données correctement je récupère les données de la feuille 1 ainsi : =SI(ESTERREUR(PROJECTS!A1<>"");"";SI(PROJECTS!A1<>"";PROJECTS!A1;""))
La formule est étirée sur plusieurs milliers de lignes pour anticiper l'évolution de la feuille 1, et une jauge sur la feuille 3 m'indique le taux de remplissage afin que le jour venu j'étire de nouveau mes formules.

Feuille 3 : grpahiques variés basés sur des TCD issus des données de la feuille 2.

Bonne nouvelle : tout fonctionne. Enfin presque :)

Mauvaise nouvelle : à chaque mise à jour de la Feuille 1, ma formule reste inchangée en ligne 1 (parfait)
=SI(ESTERREUR(PROJECTS!A1<>"");"";SI(PROJECTS!A1<>"";PROJECTS!A1;""))

mais dès la ligne 2 elle devient :
=SI(ESTERREUR(PROJECTS!A702<>"");"";SI(PROJECTS!A702<>"";PROJECTS!A702;""))

et donc bien évidemment elle ne me retourne....plus rien. Et donc mes graphiques en Feuille 3 se retrouvent désespérément plats et vides :)

Question svp : comment faire pour que mes formules en Feuille 2 soient figées, et restent quoi qu'il arrive à la Feuille 1 dans l'ordre A1,A2,A3 etc...


Désolé pour la longueur, je voulais être le plus précis possible dans ma demande.

Merci d'avance à tous

FR334770






Configuration: Windows / Edge 96.0.1054.62
A voir également:

4 réponses

PHILOU10120 Messages postés 6393 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 9 octobre 2024 810
28 déc. 2021 à 12:31
Bonjour FR334770

Pourquoi cette formule si compliquée vous extrayez des infos vous ne prenez pas tout le contenu de la cellule
Si vous voulez incrémenter les lignes bien mettre ligne() à la place de 1
1
Parfait merci ! Et j'ai gagné en poids de fichier avec votre formule vs la mienne.
0
yclik Messages postés 3700 Date d'inscription vendredi 25 juillet 2014 Statut Membre Dernière intervention 28 novembre 2024 1 517
28 déc. 2021 à 10:59
Bonjour
si la formule est en première ligne de la feuille 2;
tester en remplaçant
PROJECTS!A1
par
INDIRECT("PROJECTS!A"&ligne())


si en 2éme ligne
INDIRECT("PROJECTS!A"&ligne()-1)
0
Merci yclick
le souci est pour étirer la formule sur les colonnes de A à BX
Je dois changer manuellement A puis B puis C etc... jusqu'à BX ?
Si oui c'est pas grave dans la mesure où je ne le ferai qu'une fois et que l'étirement de la formule sur les 1500 lignes semble lui correctement fonctionner.
0
DjiDji59430 Messages postés 4151 Date d'inscription samedi 19 avril 2008 Statut Membre Dernière intervention 2 décembre 2024 679
28 déc. 2021 à 11:07
Bonjour à tous,

meme procédé (rechercher/remplacer) , mais

PROJECTS!A par PROJECTS!$A$
et ce pour chaque colonne

Crdlmt
0
Merci DjiDji59430
Mais sauf erreur encadrer avec des $ va m'empêcher d'étirer sur les 1500 lignes ou plus
0
DjiDji59430 Messages postés 4151 Date d'inscription samedi 19 avril 2008 Statut Membre Dernière intervention 2 décembre 2024 679 > FR334770
Modifié le 28 déc. 2021 à 16:45
Actuellement tu as une feuille modele avec la formule etirée sur 1500 lignes et qui ne fonctionne pas .
Apres remplacer, tu auras une feuille modele qui fonctionnera
0
PHILOU10120 Messages postés 6393 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 9 octobre 2024 810
28 déc. 2021 à 12:14
Bonjours FR334770

Une idée avec la fonction ADRESSE(...)

=INDIRECT(ADRESSE(LIGNE();COLONNE();3;1;"Projects");1)

Il faut juste faire correspondre les lignes en ajoutant ou retirant la quantité de ligne ou de colonne si nécessaire.
0
Merci Philou, je garde cette solution sous le coude

A priori ceci semble fonctionner pour étirer de A à BX sans modifier chaque formule à la main sur la ligne 1

=SI(ESTERREUR(INDIRECT(CONCATENER("PROJECTS!";GAUCHE(ADRESSE(1;COLONNE();4);NBCAR(ADRESSE(1;COLONNE();4))-1))&LIGNE())<>"");"";SI(INDIRECT(CONCATENER("PROJECTS!";GAUCHE(ADRESSE(1;COLONNE();4);NBCAR(ADRESSE(1;COLONNE();4))-1))&LIGNE())<>"";INDIRECT(CONCATENER("PROJECTS!";GAUCHE(ADRESSE(1;COLONNE();4);NBCAR(ADRESSE(1;COLONNE();4))-1))&LIGNE());""))
0