Remplacer nom par référence de cellule

Bonjour,

Je cherche une fonction qui permettrait de remplacer en une fois l'ensemble des noms de cellules par leurs références pour

une feuille, tout en remplaçant les noms par les références appropriées dans les cellules faisant référence à des noms.

contexte : c'est tout bête, j'ai une feuille avec un grand nombre de noms de cellules et un plus grand nombre encore de cellules faisant référence à des noms et je veux copier cette feuille dans un autre classeur qui contient aussi des noms dont certains identiques à la première feuille. Donc la solution me paraît être de bannir les noms de la feuille à copier.Je sais bien sûr faire cela individuellement mais je n ai pas le temps (sans compter les risques d'erreurs, d'oublis...) !

Salutations

Bonjour,

Pour remplacer des cellules nommées par leurs références ... il te faudra une macro ... car aucune fonction ne pourra se charger de cette opération ...

Bonjour, Salut James !

De plus, lors d'une copie de feuille, tu exportes les noms du classeur. Il te faudra donc passer par un copie vers un nouveau classeur pour les éliminer avant copie vers le classeur destinataire.

Cordialement.

Salut MFerrand ...

Re,

A titre de point de départ pour ta future macro ...

Sub RemplacerNoms()
' remplacer Noms par leurs références
Dim Rng As Range
Dim RngCible As Range
Dim xNom As Name

' Adapter Plage Cible à ta situation
Set RngCible = Range("A1:D50").SpecialCells(xlCellTypeFormulas)
For Each Rng In RngCible
    For Each xNom In ThisWorkbook.Names
        If InStr(Rng.Formula, xNom.Name) > 0 Then
            Rng.Formula = VBA.Replace(Rng.Formula, xNom.Name, VBA.Replace(VBA.Replace(xNom.RefersTo, "=", ""), "$", ""))
        End If
    Next xNom
Next Rng
End Sub

En espérant que cela t'aide ..

Merci pour ces éléments

je vais voir ce que cela donne.

Salutations

Re,

De rien ...

Il faut revenir sur le Forum ... en cas de besoin ...

Bonjour

apparemment il n accepte pas cette ligne :

Rng.Formula = VBA.Replace(Rng.Formula, xNom.Name, VBA.Replace(VBA.Replace(xNom.RefersTo, "=", ""), "$", ""))

merci

Re,

Je viens de faire un test ... qui fonctionne correctement ...

Peux-tu joindre un bout de fichier test ...???

Bonjour,

Autant pour moi, cela fonctionne effectivement.

Je ne suis pas trés calé avec les macros et autre VBA d' excel...

merci beaucoup

screenshot 1

Re,

Content que cela fonctionne ...

Merci ... pour tes remerciements ...

Rechercher des sujets similaires à "remplacer nom reference"