Excel ou Calc
 
Accueil du site Inform@tic Excel ou Calc Incrémentation de lignes avec un classeur lié.
 
Article rédigé par Patrice le 4/01/2018 - Modifié le 4/01/2018


Incrémentation de lignes avec un classeur lié.


LibreOffice_Calc Libre Office - Calc

Problématique :
Un classeur de données de références est créé et doit servir à alimenter d’autres classeurs.
Ces autres classeurs actualisent les liens vers ce classeur de données de références.
L’avantage est qu’un seul fichier est alimenté et sert à toutes autres "bases" avec des données de références identiques.

Exemple :

  • Le chemin pour accéder à mon fichier est [P :/AdministratifPhotos]
  • Mon fichier de données de références se nomme [DonneesReference.ods]
  • La feuille comportant mes données se nomme [References]
  • Ma première donnée liée est en cellule [E4]

Le liens prends alors cette forme :
='file:///P:/AdministratifPhotos/DonneesReference.ods'#$References.$E4

Si je déplace mon classeur de données (ou transmet à autrui mon "application"), le lien est à refaire !

Pour éviter çà, il faut alors décomposer de lien : Mettre le chemin de votre fichier de travail dans une cellule (dans l’exemple [B2]), soit P :/AdministratifPhotos/DonneesReference.ods

Le lien peut alors être écrit comme ceci avec la fonction CONCATENER() (ici j’utilise les esperluette (&) et les guillemets à la place de la fonction ; ce qui revient au même...) et utiliser la fonction INDIRECT() :
=INDIRECT("'file:///"&$B$2&"'#$References.$E4")
Note : $B$2 remplace le chemin P :/AdministratifPhotos/DonneesReference.ods. Les signes dollars permettent de "bloquer" la cellule (ligne et colonne) pour éviter qu’elle s’incrémente.

Cette formule fonctionne bien, et renvoi la bonne valeur, mais si j’essaie d’incrémenter la colonne, cela ne le fait pas et me renvoie toujours la valeur de ma cellule [$E4].

La première cellule à lier se trouve dans la même colonne [E] que dans votre fichier de données de références. Par contre la ligne se trouve en ligne [5], alors, comme on le voit dans l’exemple, la donnée à lier se trouve en ligne [4] !

Il faut donc utiliser la fonction LIGNE() soit :
=INDIRECT("'file:///"&$B$2&"'#References.$C"&LIGNE()-1)
Note : La ligne est ) -1 de la ligne de référence donc [LIGNE()-1]



______________________________
Voir aussi sur ce site les articles :
______________________________
Article suivant : Bonne année 2018 du jeudi 4 janvier 2018
Article écrit précédemment : Les feuilles mortes se ramassent ♪ ♫ ... du mardi 21 novembre 2017

 
Site mis à jour
le jeudi 4 janvier 2018
 
Ajouts ou modifs :
  • Incrémentation de lignes avec un classeur lié.
    Excel ou Calc - jeudi 4 janvier 2018
  • Imprimantes
    Matériel - mardi 21 novembre 2017
  • Divers petits trucs
    Excel ou Calc - dimanche 12 novembre 2017
    C’est tellement simple que l’on ne s’en rappelle plus après...
  • In Design
    Autres logiciels - mercredi 1er novembre 2017
  • Illustrator CS3
    Autres logiciels - lundi 9 octobre 2017
     

  • Dates à retenir :

    Il n'y a pas d'événements au calendrier.
    Haut de page