Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Cellules dénommées

5 réponses
Avatar
Lulu la Nantaise
Bonjour à toutes et à tous,
Est-il possible de supprimer toutes les références à des cellules dénommés
via Insertion/Nom/Définir (d'une feuille et si possible d'un classeur
complet...), et en gardant la référence à la cellule : =NomCellule redevient
='Feuil1!"$B$4 par exemple..
Merci de votre aide,
Lulu

5 réponses

Avatar
JB
Bonjour,

Je ne comprends pas la question.

For Each n In ActiveWorkbook.Names
n.Delete
Next n

JB

On 8 mar, 08:09, "Lulu la Nantaise" wrote:
Bonjour à toutes et à tous,
Est-il possible de supprimer toutes les références à des cellules d énommés
via Insertion/Nom/Définir (d'une feuille et si possible d'un classeur
complet...), et en gardant la référence à la cellule : =NomCellule redevient
='Feuil1!"$B$4 par exemple..
Merci de votre aide,
Lulu


Avatar
JB
Suppression de noms de champs à l'aide d'un formulaire:

Private Sub UserForm_Initialize()
For Each n In ActiveWorkbook.Names
Me.ListBox1.AddItem n.Name
Next n
End Sub

Private Sub B_sup_Click()
If Me.ListBox1.ListIndex <> -1 Then
If MsgBox("Etes vous sûr de supprimer ? " & Me.ListBox1, vbYesNo) =
vbYes Then
ActiveWorkbook.Names(Me.ListBox1.Value).Delete
Me.ListBox1.RemoveItem Me.ListBox1.ListIndex
End If
End If
End Sub

http://cjoint.com/?dijBCSjFSS

JB



On 8 mar, 09:15, JB wrote:
Bonjour,

Je ne comprends pas la question.

  For Each n In ActiveWorkbook.Names
    n.Delete
  Next n

JB

On 8 mar, 08:09, "Lulu la Nantaise" wrote:



Bonjour à toutes et à tous,
Est-il possible de supprimer toutes les références à des cellules dénommés
via Insertion/Nom/Définir (d'une feuille et si possible d'un classeur
complet...), et en gardant la référence à la cellule : =NomCellu le redevient
='Feuil1!"$B$4 par exemple..
Merci de votre aide,
Lulu- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



Avatar
Lulu la Nantaise
Ben si je fais ça, le nom reste dans la cellule et comme il est inconnu,
j'ai le message d'erreur #NOM?
Je perds la référence "cellule" à laquelle le nom faisait référence...

Je défini un nom Zozo qui référence Feuil1!$a$2

en B4 je mets =2*Zozo

Si je supprime le nom Zozo, en B4 j'ai #NOM? je voudrais que la formule en
B4 redevienne =2*$A$2

Merci de ton aide,
Lulu


"JB" a écrit dans le message de news:

Bonjour,

Je ne comprends pas la question.

For Each n In ActiveWorkbook.Names
n.Delete
Next n

JB

On 8 mar, 08:09, "Lulu la Nantaise" wrote:
Bonjour à toutes et à tous,
Est-il possible de supprimer toutes les références à des cellules dénommés
via Insertion/Nom/Définir (d'une feuille et si possible d'un classeur
complet...), et en gardant la référence à la cellule : =NomCellule
redevient
='Feuil1!"$B$4 par exemple..
Merci de votre aide,
Lulu


Avatar
JB
Non testé:

Sub RemplaceNomsChamps()
Application.DisplayAlerts = False
On Error Resume Next
Sheets("TempNoms").Delete
On Error GoTo 0
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "TempNoms"
[A1] = "Noms de champ"
[C1] = "Utilisé"
[A1:C1].Font.Bold = True
nchamps = 0
For Each n In ActiveWorkbook.Names
nchamps = nchamps + 1
Cells(nchamps + 1, 1) = n.Name
Cells(nchamps + 1, 2) = n
Next n
'--- Formules qui utilisent les noms de champ
Ligne = 1
[E1] = "Formules utilisant les noms de champs"
[E1].Font.Bold = True
For s = 1 To Sheets.Count - 1
Sheets(s).Select
On Error Resume Next
Sheets(s).Cells.SpecialCells(xlCellTypeFormulas, 23).Select
If Err = 0 Then
For Each c In Sheets(s).Cells.SpecialCells(xlCellTypeFormulas,
23)
témoin = False
For I = 1 To nchamps
temp = Sheets("tempNoms").Cells(I + 1, 1)
If InStr(temp, Sheets(s).Name & "!") > 0 Then
temp = Mid(temp, InStr(temp, "!") + 1)
End If
If InStr(c.Formula, temp) > 0 Then
Sheets("TempNoms").Cells(I + 1, 3) = True
témoin = True
y = Sheets("tempNoms").Cells(I + 1, 2)
x = Replace(c.Formula, temp, Mid(y, 2))
c.Formula = x
End If
Next I
If témoin Then
Ligne = Ligne + 1
Sheets("TempNoms").Cells(Ligne, 5) = "'" &
Sheets(s).Name
Sheets("TempNoms").Cells(Ligne, 6) = "'" & c.Address
Sheets("TempNoms").Cells(Ligne, 7) = "'" & c.Formula
End If
Next c
End If
Next s
Sheets("TempNoms").Columns("A:K").EntireColumn.AutoFit
Sheets("TempNoms").Select
End Sub

Sub supNoms()
For Each n In ActiveWorkbook.Names
n.Delete
Next n
End Sub

http://cjoint.com/?dikNM5COQu

JB


On 8 mar, 09:38, "Lulu la Nantaise" wrote:
Ben si je fais ça, le nom reste dans la cellule et comme il est inconnu,
j'ai le message d'erreur #NOM?
Je perds la référence "cellule" à laquelle le nom faisait référe nce...

Je défini un nom Zozo qui référence Feuil1!$a$2

en B4 je mets =2*Zozo

Si je supprime le nom Zozo, en B4 j'ai #NOM? je voudrais que la formule en
B4 redevienne =2*$A$2

Merci de ton aide,
Lulu

"JB" a écrit dans le message de news:

Bonjour,

Je ne comprends pas la question.

  For Each n In ActiveWorkbook.Names
    n.Delete
  Next n

JB

On 8 mar, 08:09, "Lulu la Nantaise" wrote:



Bonjour à toutes et à tous,
Est-il possible de supprimer toutes les références à des cellules dénommés
via Insertion/Nom/Définir (d'une feuille et si possible d'un classeur
complet...), et en gardant la référence à la cellule : =NomCellu le
redevient
='Feuil1!"$B$4 par exemple..
Merci de votre aide,
Lulu- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



Avatar
Lulu la Nantaise
Sur ton, fichier ça marche, et pas sur le mien, j'ai regardé mais j'vois pas
où ça cloche :-(
"JB" a écrit dans le message de news:

Non testé:

Sub RemplaceNomsChamps()
Application.DisplayAlerts = False
On Error Resume Next
Sheets("TempNoms").Delete
On Error GoTo 0
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "TempNoms"
[A1] = "Noms de champ"
[C1] = "Utilisé"
[A1:C1].Font.Bold = True
nchamps = 0
For Each n In ActiveWorkbook.Names
nchamps = nchamps + 1
Cells(nchamps + 1, 1) = n.Name
Cells(nchamps + 1, 2) = n
Next n
'--- Formules qui utilisent les noms de champ
Ligne = 1
[E1] = "Formules utilisant les noms de champs"
[E1].Font.Bold = True
For s = 1 To Sheets.Count - 1
Sheets(s).Select
On Error Resume Next
Sheets(s).Cells.SpecialCells(xlCellTypeFormulas, 23).Select
If Err = 0 Then
For Each c In Sheets(s).Cells.SpecialCells(xlCellTypeFormulas,
23)
témoin = False
For I = 1 To nchamps
temp = Sheets("tempNoms").Cells(I + 1, 1)
If InStr(temp, Sheets(s).Name & "!") > 0 Then
temp = Mid(temp, InStr(temp, "!") + 1)
End If
If InStr(c.Formula, temp) > 0 Then
Sheets("TempNoms").Cells(I + 1, 3) = True
témoin = True
y = Sheets("tempNoms").Cells(I + 1, 2)
x = Replace(c.Formula, temp, Mid(y, 2))
c.Formula = x
End If
Next I
If témoin Then
Ligne = Ligne + 1
Sheets("TempNoms").Cells(Ligne, 5) = "'" &
Sheets(s).Name
Sheets("TempNoms").Cells(Ligne, 6) = "'" & c.Address
Sheets("TempNoms").Cells(Ligne, 7) = "'" & c.Formula
End If
Next c
End If
Next s
Sheets("TempNoms").Columns("A:K").EntireColumn.AutoFit
Sheets("TempNoms").Select
End Sub

Sub supNoms()
For Each n In ActiveWorkbook.Names
n.Delete
Next n
End Sub

http://cjoint.com/?dikNM5COQu

JB


On 8 mar, 09:38, "Lulu la Nantaise" wrote:
Ben si je fais ça, le nom reste dans la cellule et comme il est inconnu,
j'ai le message d'erreur #NOM?
Je perds la référence "cellule" à laquelle le nom faisait référence...

Je défini un nom Zozo qui référence Feuil1!$a$2

en B4 je mets =2*Zozo

Si je supprime le nom Zozo, en B4 j'ai #NOM? je voudrais que la formule en
B4 redevienne =2*$A$2

Merci de ton aide,
Lulu

"JB" a écrit dans le message de news:

Bonjour,

Je ne comprends pas la question.

For Each n In ActiveWorkbook.Names
n.Delete
Next n

JB

On 8 mar, 08:09, "Lulu la Nantaise" wrote:



Bonjour à toutes et à tous,
Est-il possible de supprimer toutes les références à des cellules
dénommés
via Insertion/Nom/Définir (d'une feuille et si possible d'un classeur
complet...), et en gardant la référence à la cellule : =NomCellule
redevient
='Feuil1!"$B$4 par exemple..
Merci de votre aide,
Lulu- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -