Comment remplacer les noms de plage par des références de cellules dans Excel ?
Lorsque vous travaillez avec des plages nommées dans Excel, vous pouvez les trouver utiles pour la lisibilité et la gestion des formules. Cependant, il peut y avoir des situations où vous souhaitez supprimer les noms de plage et restaurer les références de cellules réelles, en particulier lors du partage de fichiers, du dépannage ou de la standardisation des modèles. Dans cet article, nous passerons en revue différentes façons de remplacer les plages nommées par leurs références de cellules correspondantes dans Excel.
Remplacer les noms de plage par des références de cellules à l'aide d'un code VBA
Par exemple, dans cette feuille de calcul, je vais nommer la plage A2:A6 comme saleprice, et nommer B2 comme discount, puis utiliser ces deux noms de plage dans une formule pour calculer le nouveau prix. Voir les captures d'écran :
Après avoir suivi ces astuces rapides, le nom de la plage sera remplacé par une référence de cellule comme indiqué ci-dessous :
Remplacer les noms de plage par des références de cellules à l'aide d'un code VBA
En utilisant VBA pour remplacer les noms de plage dans les formules par des références de cellules, vous pouvez procéder étape par étape comme suit :
1. Sélectionnez la plage contenant les formules dont vous souhaitez remplacer les noms par des références de cellules.
2. Appuyez sur Alt + F11 pour ouvrir une nouvelle fenêtre Microsoft Visual Basic pour applications, puis cliquez sur Insertion > Module, et copiez-collez le code suivant dans le module :
Code VBA : Remplacer les noms de plage par des références absolues
Sub AbsoleteNamesWithRelativeRefs()
'Updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
Dim xName As Name
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Set WorkRng = WorkRng.SpecialCells(xlCellTypeFormulas)
For Each Rng In WorkRng
For Each xName In ThisWorkbook.Names
If InStr(Rng.Formula, xName.Name) > 0 Then
Rng.Formula = VBA.Replace(Rng.Formula, xName.Name, VBA.Replace(VBA.Replace(xName.RefersTo, "=", ""), "$", ""))
End If
Next
Next
End Sub
Code VBA : Remplacer les noms de plage par des références relatives
Sub ReplaceNamesWithRelativeRefs()
'Updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
Dim xName As Name
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Set WorkRng = WorkRng.SpecialCells(xlCellTypeFormulas)
For Each Rng In WorkRng
For Each xName In ThisWorkbook.Names
If InStr(Rng.Formula, xName.Name) > 0 Then
Rng.Formula = VBA.Replace(Rng.Formula, xName.Name, VBA.Replace(xName.RefersTo, "=", ""))
End If
Next
Next
End Sub
3. Ensuite, appuyez sur F5 pour exécuter le code, une boîte de dialogue s'affiche pour sélectionner une plage à remplacer. Voir la capture d'écran :
4. Cliquez ensuite sur OK, et tous les noms de plage des formules sélectionnées auront été remplacés.
Remplacer rapidement et facilement les noms de plage par des références de cellules avec Kutools pour Excel
Bien que le faire manuellement ou via VBA puisse être chronophage et sujet aux erreurs, Kutools pour Excel fournit une solution en un clic pour simplifier l'ensemble du processus. Si vous avez Kutools pour Excel, son utilitaire Convertir les noms en plage de référence vous aidera à remplacer les noms de plage par des références de cellules rapidement et facilement.
1. Veuillez appliquer cet utilitaire en cliquant sur Kutools > Outils de nom > Convertir les noms en plage de référence.
2. Une boîte de dialogue s'affiche, cliquez sur l'onglet Plage, puis sélectionnez la plage que vous souhaitez remplacer par des références de cellules depuis la plage de base. Ensuite, cliquez sur le bouton Remplacer. Voir la capture d'écran :
3. Une autre boîte de dialogue s'affichera pour vous indiquer le nombre de formules modifiées et non modifiées, cliquez sur OK, et les noms de plage dans la plage sélectionnée auront été remplacés par des références de cellules.
Conclusion 🔚
Que vous ayez affaire à quelques formules ou à un classeur entier, remplacer les plages nommées par des références de cellules réelles est un excellent moyen d'améliorer la transparence, la compatibilité et la facilité de collaboration.
- Pour les utilisateurs avancés, VBA offre une solution flexible et programmable pour automatiser le processus de remplacement.
- Pour tous les autres, Kutools pour Excel offre la méthode la plus rapide et la plus conviviale pour accomplir cette tâche en quelques clics - aucune connaissance en codage ni édition de formules requise.
En choisissant la méthode qui correspond le mieux à votre flux de travail, vous pouvez nettoyer efficacement vos formules et vous assurer que vos feuilles de calcul restent faciles à comprendre et à maintenir. Si vous êtes intéressé par l'exploration de plus d'astuces et conseils Excel, notre site Web propose des milliers de tutoriels pour vous aider à maîtriser Excel.
Article connexe :
Changer la référence de cellule dans les formules en noms de plage dans Excel
Meilleurs outils de productivité Office
Dynamisez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée. Kutools pour Excel propose plus de300 fonctionnalités avancées pour booster votre productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité la plus essentielle pour vous...
Office Tab apporte une interface à onglets à Office, et facilite grandement votre travail
- Activez la modification et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, au lieu d’ouvrir de nouvelles fenêtres.
- Augmentez votre productivité de50% et réduisez des centaines de clics de souris chaque jour!