Lorsque vous travaillez sur une feuille de calcul, copiez et déplacez des informations d’un endroit à un autre, vous pouvez vous demander s’il existe un moyen de copier ou de déplacer une sélection sans qu’Excel ne modifie toutes les références dans la sélection. La réponse, bien sûr, est que cela dépend. (N’aimez-vous pas simplement cela à propos d’Excel?) Voyons comment vous pouvez à la fois copier et déplacer des sélections dans Excel.

Si vous copiez une sélection, Excel met à jour toutes les références relatives dans la sélection lorsque vous la collez. La solution est de s’assurer que toutes les références dans la sélection sont absolues avant de faire le copier-coller. Faire les changements aux formules à la main est fastidieux. Vous pouvez utiliser la macro suivante pour convertir toutes les formules de la sélection en leur équivalent absolu:

Sub ConvertToAbsolute()

Dim c As Variant     Application.ScreenUpdating = False     For Each c In Selection         c.Value = Application.ConvertFormula(c.Formula, _           xlA1, , xlAbsolute)

Next c     Application.ScreenUpdating = True End Sub

Une fois cette macro exécutée, vous pouvez copier et coller la sélection sans qu’Excel n’effectue de mise à jour des références. Une fois le collage terminé, vous pouvez modifier les références dans la sélection (et dans la plage d’origine, si elle existe toujours) en sélectionnant la plage et en appliquant cette macro:

Sub ConvertToRelative()

Dim c As Variant     Application.ScreenUpdating = False     For Each c In Selection         c.Value = Application.ConvertFormula(c.Formula, _           xlA1, , xlRelative, c)

Next c     Application.ScreenUpdating = True End Sub

Cette macro changera toutes les formules de la plage sélectionnée en leur équivalent relatif. N’oubliez pas que cela affectera toutes les formules, ce qui signifie que si les formules de la plage contenaient à la fois des références relatives et absolues, elles seront toutes relatives lorsque cette macro sera effectuée.

Si vous déplacez une sélection, Excel ne met pas à jour les références de cellule lors du déplacement. Vous pouvez vous déplacer soit en sélectionnant la plage et en utilisant le clavier (en appuyant sur Ctrl + X pour couper puis Ctrl + V pour coller la sélection) ou la souris (en faisant glisser la sélection vers un nouvel emplacement).

Dans les deux cas, Excel laisse les références de la sélection exactement les mêmes – relatives ou non – sans mise à jour.

Jusqu’à présent, j’ai discuté de ce que fait Excel avec les références de la sélection copiées ou déplacées. Qu’en est-il des références aux informations de la sélection? Si vous copiez, Excel laisse des références pointant vers la plage d’origine. Si vous déplacez une sélection, Excel met à jour les références à cette sélection, qu’elles soient relatives ou absolues. Si vous ne souhaitez pas que les informations soient mises à jour lors d’un déplacement, la solution consiste à faire une copie de la plage, puis à supprimer l’original.

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (11804) s’applique à Microsoft Excel 2007, 2010, 2013 et 2016.

Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu d’Excel ici:

link: / excel-Pasting_without_Updating_References [Coller sans mettre à jour les références].