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

supprimer les noms que dans 1 feuille et non dans le classeur complet

9 réponses
Avatar
daniel78
bonjour,
je cherche dans les archives, mais je ne trouve pas de solution.
je souhaite supprimer tous les noms d'un feuillet mais pas ceux dans
les autres onglets.
merci par avance de vos propositions.

9 réponses

Avatar
Michel Gaboly
Bonjour,

Sub SuppNoms()
Dim n As Name
For Each n In Sheets("Feuil2").Names
n.Delete
Next
End Sub

Bien évidemment, cela n’aura d’effet que si des noms de niveau feui lle existaient pour "Feuil2".


bonjour,
je cherche dans les archives, mais je ne trouve pas de solution.
je souhaite supprimer tous les noms d'un feuillet mais pas ceux dans
les autres onglets.
merci par avance de vos propositions.




--
Cordialement,

Michel Gaboly
www.gaboly.com

Avatar
Fred
Bonjour,

si les noms à supprimer sont dans l'onglet "mafeuille", voici

Sub SupprimeNomsDansMafeuille()
Dim nom As Name ' collection des noms dans le classeur actif (tous les
onglets compris)
Dim nomfeuille As String, nomplage As String
For Each nom In ActiveWorkbook.Names
nomplage = nom.RefersToR1C1 ' chaîne de caractères qui ressemble à
"þuil1!R1C1"
nomfeuille = Mid(nomplage, 2, InStr(1, nomplage, "!") - 2) ' extraction
du nom de la feuille, il ne reste plus que "Feuil1"
If nomfeuille = "mafeuille" Then nom.Delete ' test sur le nom et
supression éventuelle
Next nom
End Sub

bonne continuation
bonnes fêtes

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

bonjour,
je cherche dans les archives, mais je ne trouve pas de solution.
je souhaite supprimer tous les noms d'un feuillet mais pas ceux dans
les autres onglets.
merci par avance de vos propositions.



Avatar
daniel
Bonsoir,
merci beaucoup pour votre réponse, mais je n'ai pas réussi à l'appliquer, et
aucun nom n'a été supprimé ????
la méthode de Fred a fonctionnée, aussi je vais l'utiliser.
je joins le fichier que j'ai utilisé pour tester les deux propositions, si
vous voyez où j'ai commis l'erreur et vous en ave le temps, faites le moi
savoir.
merci encore pour votre disponibilité et bonne soirée.

http://cjoint.com/?mtuufBSPJg


"Michel Gaboly" a écrit dans le message de news:

Bonjour,

Sub SuppNoms()
Dim n As Name
For Each n In Sheets("Feuil2").Names
n.Delete
Next
End Sub

Bien évidemment, cela n’aura d’effet que si des noms de niveau feuille
existaient pour "Feuil2".


bonjour,
je cherche dans les archives, mais je ne trouve pas de solution.
je souhaite supprimer tous les noms d'un feuillet mais pas ceux dans
les autres onglets.
merci par avance de vos propositions.




--
Cordialement,

Michel Gaboly
www.gaboly.com

Avatar
daniel
Bonsoir,
merci pour votre réponse, cela fonctionne parfaitement.
bonne soirée et de bonnes fêtes.

"Fred" a écrit dans le message de news:
%
Bonjour,

si les noms à supprimer sont dans l'onglet "mafeuille", voici

Sub SupprimeNomsDansMafeuille()
Dim nom As Name ' collection des noms dans le classeur actif (tous les
onglets compris)
Dim nomfeuille As String, nomplage As String
For Each nom In ActiveWorkbook.Names
nomplage = nom.RefersToR1C1 ' chaîne de caractères qui ressemble à
"þuil1!R1C1"
nomfeuille = Mid(nomplage, 2, InStr(1, nomplage, "!") - 2) ' extraction
du nom de la feuille, il ne reste plus que "Feuil1"
If nomfeuille = "mafeuille" Then nom.Delete ' test sur le nom et
supression éventuelle
Next nom
End Sub

bonne continuation
bonnes fêtes

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

bonjour,
je cherche dans les archives, mais je ne trouve pas de solution.
je souhaite supprimer tous les noms d'un feuillet mais pas ceux dans
les autres onglets.
merci par avance de vos propositions.







Avatar
Michel Gaboly
Bonsoir,

Il y a probalement eu un malentendu : il est possible d'avoir des noms de niveaux feuille, c'est-à-dire que si un nom
"existe par exemple dans 3 feuilles diférentes, il pourra faire réfé rence dans chaque feuille à des éléments distincts.

Pour le vérifier, créez un classeur avec 1 feuille et définissez le nom "Test" associé à la cellule A1.
Dans la cellule B1, entrez la formule "=Test" (sans guillemet). Utilise z ensuite la commande "Déplacer ou copier une
feuille..." pour faire une copie de la feuille dans le MÊME classeur. M odifiez ensuite le contenu de A1 dans cette
seconde feuille.

Dans les 2 feuilles, la formule en B1 est identique, mais pas la valeur q ui en résulte, car sur la feiuille 1, "Test"
fait référence à la cellule A1 de la feuille 1, tandis que sur la f euille 2, ce même nom fait référence à la cellule A1
de la feuille 2.

Exemple ici : http://cjoint.com/?mtvD1Iyl8q

La procédure que j'ai proposée était destinée à supprimer les n oms de ce type, c'est-à-dire spécifiques à une feuille.

C'est ce que j'avais compris quand vous avez parlé des "noms d'un feuil let" alors que visiblement vous vouliez évoquer
les noms asociés à des cellules de ce feuillet, ce qui très diffé rent.

Voilà.


Bonsoir,
merci beaucoup pour votre réponse, mais je n'ai pas réussi à l'ap pliquer, et
aucun nom n'a été supprimé ????
la méthode de Fred a fonctionnée, aussi je vais l'utiliser.
je joins le fichier que j'ai utilisé pour tester les deux proposition s, si
vous voyez où j'ai commis l'erreur et vous en ave le temps, faites le moi
savoir.
merci encore pour votre disponibilité et bonne soirée.

http://cjoint.com/?mtuufBSPJg


"Michel Gaboly" a écrit dans le message de news:

Bonjour,

Sub SuppNoms()
Dim n As Name
For Each n In Sheets("Feuil2").Names
n.Delete
Next
End Sub

Bien évidemment, cela n’aura d’effet que si des noms de niveau fe uille
existaient pour "Feuil2".


bonjour,
je cherche dans les archives, mais je ne trouve pas de solution.
je souhaite supprimer tous les noms d'un feuillet mais pas ceux dans
les autres onglets.
merci par avance de vos propositions.







--
Cordialement,

Michel Gaboly
www.gaboly.com


Avatar
JB
Bonsoir,

Barre utilitaire pour supprimer les boutons de la feuille active. Cette
barre est utilisable pour tout classeur.

http://cjoint.com/?mtv5lDz1SX

Sub auto_open()
BarreBoutons
End Sub

Sub BarreBoutons()
Dim barre As CommandBar
Dim bouton As CommandBarControl
On Error Resume Next
CommandBars("jb-NomsChamps").Delete
Set barre = CommandBars.Add(Name:="jb-NomsChamps")
barre.Visible = True

Set bouton =
CommandBars("jb-NomsChamps").Controls.Add(Type:=msoControlButton)
bouton.BeginGroup = True
bouton.Style = msoButtonCaption
bouton.OnAction = "SupNomsChampsFeuille"
bouton.Caption = "SupNomsChampsFeuille"

Set bouton =
CommandBars("jb-NomsChamps").Controls.Add(Type:=msoControlButton)
bouton.BeginGroup = True
bouton.Style = msoButtonCaption
bouton.OnAction = "ListeNomsChamps"
bouton.Caption = "ListeNomsChamps"
End Sub

Sub SupNomsChampsFeuille()
Feuille = ActiveSheet.Name
If MsgBox("Je vais supprimer tous les noms de " & UCase(Feuille) & "
êtes vous sûr?", vbYesNo) = vbYes Then
For Each n In ActiveWorkbook.Names
If InStr(UCase(n), UCase(Feuille)) > 0 Then n.Delete
Next n
End If
End Sub

JB

bonjour,
je cherche dans les archives, mais je ne trouve pas de solution.
je souhaite supprimer tous les noms d'un feuillet mais pas ceux dans
les autres onglets.
merci par avance de vos propositions.


Avatar
Michel Gaboly
Bonsoir,

Quel rapport avec la question ? Il s’agit de supprimer des noms !!!

Bonsoir,

Barre utilitaire pour supprimer les boutons de la feuille active. Cette
barre est utilisable pour tout classeur.

http://cjoint.com/?mtv5lDz1SX

Sub auto_open()
BarreBoutons
End Sub

Sub BarreBoutons()
Dim barre As CommandBar
Dim bouton As CommandBarControl
On Error Resume Next
CommandBars("jb-NomsChamps").Delete
Set barre = CommandBars.Add(Name:="jb-NomsChamps")
barre.Visible = True

Set bouton =
CommandBars("jb-NomsChamps").Controls.Add(Type:=msoControlButton)
bouton.BeginGroup = True
bouton.Style = msoButtonCaption
bouton.OnAction = "SupNomsChampsFeuille"
bouton.Caption = "SupNomsChampsFeuille"

Set bouton =
CommandBars("jb-NomsChamps").Controls.Add(Type:=msoControlButton)
bouton.BeginGroup = True
bouton.Style = msoButtonCaption
bouton.OnAction = "ListeNomsChamps"
bouton.Caption = "ListeNomsChamps"
End Sub

Sub SupNomsChampsFeuille()
Feuille = ActiveSheet.Name
If MsgBox("Je vais supprimer tous les noms de " & UCase(Feuille) & "
êtes vous sûr?", vbYesNo) = vbYes Then
For Each n In ActiveWorkbook.Names
If InStr(UCase(n), UCase(Feuille)) > 0 Then n.Delete
Next n
End If
End Sub

JB

bonjour,
je cherche dans les archives, mais je ne trouve pas de solution.
je souhaite supprimer tous les noms d'un feuillet mais pas ceux dans
les autres onglets.
merci par avance de vos propositions.





--
Cordialement,

Michel Gaboly
www.gaboly.com


Avatar
JB
Ce programme supprime les noms de la feuille active.

JB

Bonsoir,

Quel rapport avec la question ? Il s'agit de supprimer des noms !!!

Bonsoir,

Barre utilitaire pour supprimer les boutons de la feuille active. Cette
barre est utilisable pour tout classeur.

http://cjoint.com/?mtv5lDz1SX

Sub auto_open()
BarreBoutons
End Sub

Sub BarreBoutons()
Dim barre As CommandBar
Dim bouton As CommandBarControl
On Error Resume Next
CommandBars("jb-NomsChamps").Delete
Set barre = CommandBars.Add(Name:="jb-NomsChamps")
barre.Visible = True

Set bouton =
CommandBars("jb-NomsChamps").Controls.Add(Type:=msoControlButton)
bouton.BeginGroup = True
bouton.Style = msoButtonCaption
bouton.OnAction = "SupNomsChampsFeuille"
bouton.Caption = "SupNomsChampsFeuille"

Set bouton =
CommandBars("jb-NomsChamps").Controls.Add(Type:=msoControlButton)
bouton.BeginGroup = True
bouton.Style = msoButtonCaption
bouton.OnAction = "ListeNomsChamps"
bouton.Caption = "ListeNomsChamps"
End Sub

Sub SupNomsChampsFeuille()
Feuille = ActiveSheet.Name
If MsgBox("Je vais supprimer tous les noms de " & UCase(Feuille) & "
êtes vous sûr?", vbYesNo) = vbYes Then
For Each n In ActiveWorkbook.Names
If InStr(UCase(n), UCase(Feuille)) > 0 Then n.Delete
Next n
End If
End Sub

JB

bonjour,
je cherche dans les archives, mais je ne trouve pas de solution.
je souhaite supprimer tous les noms d'un feuillet mais pas ceux dans
les autres onglets.
merci par avance de vos propositions.





--
Cordialement,

Michel Gaboly
www.gaboly.com




Avatar
Michel Gaboly
Bonjour,

Effectivement, mais ce n'est pas clair tel que tu le présentes : "Barre utilitaire pour supprimer les boutons de la
feuille active"

Après avoir lu cete phrase, je n’ai même pas regardé le code au-d elà des premières lignes tellement cela paraissait hors
sujet.

Désolé.


Je trouve dommage ton excès de concision habituel : quand tu te content es de donner un lien vers CJoint, cela a à mes
yeux 3 défauts :

1 - C’est selon moi contraire à l’esprit du forum, qui consiste à fournir une réponse dont la lecture apporte une
information directement utile. Un fichier sur CJoint devrait être un mo yen complémentaire d’aider le demandeur, en aucun
cas la totalité de la réponse.

2 - Il est intéressant pour toute personne s’interrogeant sur un poin t particulier de conslter les arvhives du forum.
Or, les fichiers postés sur CJoint n'y demeurent que 3 semaines.

3 - Tes réponses sont souvent techniquement intéressantes, mais je tr ouve désagréable de devoir charger un fichier pour
examiner les formules ou le code alors que la simple lecture de quelques lignes (parfois un peu plus) suffit largement
dans la quasi totalité des cas.

Sans parler du fait qu’il faut parfois faire du ménage : j’ai ouver t hier un de tes fichiers sous Excel 2004. Le fichier
ajoutait une barre d'outils que j’ai dû supprimer manuellement ensuit e.


Dans le message de ce fil, c’est l'inverse : tu fournis une explication et du code sans rapport avec le sujet. Il faut
aller lire la seconde Sub (non évoquée dans l'introduction) pour tomb er sur quelque chose qui répond à la demande initiale.


Surprenant.


Ce programme supprime les noms de la feuille active.

JB

Bonsoir,

Quel rapport avec la question ? Il s'agit de supprimer des noms !!!

Bonsoir,

Barre utilitaire pour supprimer les boutons de la feuille active. Cet te
barre est utilisable pour tout classeur.

http://cjoint.com/?mtv5lDz1SX

Sub auto_open()
BarreBoutons
End Sub

Sub BarreBoutons()
Dim barre As CommandBar
Dim bouton As CommandBarControl
On Error Resume Next
CommandBars("jb-NomsChamps").Delete
Set barre = CommandBars.Add(Name:="jb-NomsChamps")
barre.Visible = True

Set bouton =
CommandBars("jb-NomsChamps").Controls.Add(Type:=msoControlButton)
bouton.BeginGroup = True
bouton.Style = msoButtonCaption
bouton.OnAction = "SupNomsChampsFeuille"
bouton.Caption = "SupNomsChampsFeuille"

Set bouton =
CommandBars("jb-NomsChamps").Controls.Add(Type:=msoControlButton)
bouton.BeginGroup = True
bouton.Style = msoButtonCaption
bouton.OnAction = "ListeNomsChamps"
bouton.Caption = "ListeNomsChamps"
End Sub

Sub SupNomsChampsFeuille()
Feuille = ActiveSheet.Name
If MsgBox("Je vais supprimer tous les noms de " & UCase(Feuille) & "
êtes vous sûr?", vbYesNo) = vbYes Then
For Each n In ActiveWorkbook.Names
If InStr(UCase(n), UCase(Feuille)) > 0 Then n.Delete
Next n
End If
End Sub

JB

bonjour,
je cherche dans les archives, mais je ne trouve pas de solution.
je souhaite supprimer tous les noms d'un feuillet mais pas ceux dans
les autres onglets.
merci par avance de vos propositions.



--
Cordialement,

Michel Gaboly
www.gaboly.com





--
Cordialement,

Michel Gaboly
www.gaboly.com