Supposons que vous ayez deux classeurs que vous utilisez pour suivre les ventes du mois en cours, 2011NovemberA.xls et 2011NovemberB.xls, et que 2011NovemberA.xls contient des liens vers les données de 2011NovemberB.xls. Lorsque vient le temps de copier les classeurs pour le nouveau mois, vous vous demandez peut-être la meilleure façon de mettre à jour tous les liens dans le premier classeur afin qu’ils pointent vers le deuxième classeur du nouveau mois.

Pour préparer les classeurs pour le nouveau mois, la plupart des gens ouvriront un dossier Windows et copieront les fichiers du classeur dans Windows, pas même dans Excel.

Ceci, cependant, est le moyen de garantir que vous faites le plus de travail pour mettre à jour les fichiers. Un moyen plus simple consiste à contourner Windows et à enregistrer dans Excel. Suivez ces étapes générales:

  1. Ouvrez les fichiers 2011NovemberA.xls et 2011NovemberB.xls dans Excel.

  2. Utilisez Enregistrer sous pour enregistrer le fichier 2011NovemberB.xls sous le nom 2011DecemberB.xls.

  3. Utilisez Enregistrer sous pour enregistrer le fichier 2011Novemberxls sous le nom 2011DecemberA.xls.

Dans le cadre de la sauvegarde de 2011DecemberB.xls (étape 2), Excel met automatiquement à jour tous les liens dans 2011NovemberA.xls afin qu’ils pointent vers le nouveau nom de fichier. Lorsque vous enregistrez ensuite 2011DecemberA.xls (étape 3), vous terminez le cycle et vous vous retrouvez avec les nouveaux classeurs pour le nouveau mois, avec les fichiers du mois dernier toujours sécurisés sur le disque.

Si l’enregistrement des fichiers sous de nouveaux noms dans Excel n’est pas possible pour une raison quelconque (peut-être que quelqu’un d’autre a déjà fait une copie du classeur pour le nouveau mois et a apporté des modifications au fichier), vous devrez alors recourir à une édition manuelle du liens. Heureusement, vous pouvez utiliser les fonctionnalités de recherche et de remplacement d’Excel pour vous aider dans cette tâche:

  1. Ouvrez le fichier 2011DecemberA.xls.

  2. Appuyez sur Ctrl + H pour afficher l’onglet Remplacer de la boîte de dialogue Rechercher et remplacer. (Voir la figure 1.)

  3. Dans la zone Rechercher, entrez la partie racine de l’ancien nom de feuille de calcul (2011NovemberB).

  4. Dans la zone Remplacer par, entrez la partie racine du nouveau nom de feuille de calcul (2011DecemberB).

  5. Cliquez sur Remplacer tout.

Excel parcourt toute la feuille de calcul, y compris les liens, et modifie le texte approprié.

Une autre approche consiste à traiter vos fichiers mensuels dans leur ensemble. En d’autres termes, les noms de fichiers ne reflètent pas le mois, mais placez tous les classeurs du mois dans un seul dossier nommé d’après le mois. Dans ce scénario, vous pouvez avoir un dossier de novembre, puis faire une copie de l’ensemble du dossier et le nommer décembre. Vous auriez alors des copies en double des classeurs dans des dossiers séparés. Vous pouvez travailler avec eux de manière indépendante, à condition que vous n’essayiez pas d’ouvrir le même classeur des deux mois en même temps. (Excel ne vous permettra pas d’ouvrir plusieurs classeurs avec le même nom.)

Si vous souhaitez rendre votre stratégie de liaison plus flexible, vous pouvez toujours utiliser la fonction INDIRECT. Par exemple, supposons que votre lien ressemble à ceci:

=[2011NovemberB.xls]Sheet1!B3

Vous pouvez mettre le nom du fichier source (2011NovemberB.xls) dans une cellule de la feuille de calcul actuelle (D5, par exemple) et remplacer l’expression ci-dessus par une comme celle-ci:

=INDIRECT("[" & D5 & "]Sheet1!B3")

Changer le contenu de la cellule D5 en un nom de fichier différent fera de ce fichier la nouvelle source de données. Il y a cependant quelques « gottchas ».

Tout d’abord, vous devez ouvrir manuellement le fichier qui est la cible du lien; Excel ne le fera pas pour vous comme il le ferait avec un lien régulier.

En outre, les noms de fichiers de classeur contenant des espaces déclencheront la formule INDIRECT. Si vous pensez que vous pourriez avoir des espaces dans vos noms de fichiers, vous devriez changer la formule comme suit:

=INDIRECT("['" & D5 & "']Sheet1!B3")

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (3447) s’applique à Microsoft Excel 97, 2000, 2002 et 2003. Vous pouvez trouver une version de cette astuce pour l’interface ruban d’Excel (Excel 2007 et versions ultérieures) ici:

link: / excelribbon-Updating_Links_in_Copied_Files [Mise à jour des liens dans les fichiers copiés].