Supprimer automatiquement tous les "noms" (Insertion/Nom/Définir) du classeur Excel

lebarbo

XLDnaute Occasionnel
Bonjour le forum, bonjour à tous,

Je travaille sur un fichier Excel et me sert d'un code VBA pour définir des noms (Insertion/Nom/Définir) pour certaines cellules. Ceci me permet entre autre de travailler en formule de calcul Excel.
Mais j'aimerais "purifier" mon fichier en supprimant tous ces noms, pour recommencer de zéro sachant que je dois absolument garder ce même fichier (ce serait trop compliqué de tout reconstruire dans un autre classeur vierge).
Est ce que l'on peut utiliser la fonction
ActiveWorkbook.Names().Delete mais en incluant tous les noms : allnames ??? ; )

Je me pose également 2 autres questions :
Est ce qu'on peut définir autant de noms que l'on souhaite ou est-on limité ?

Et, peut-on insérer autant de feuilles que l'on veut dans un classeur Excel ou est-on également limité.

Merci d'avance pour vos réponses
 

skoobi

XLDnaute Barbatruc
Re : Supprimer automatiquement tous les "noms" (Insertion/Nom/Définir) du classeur Ex

Bonjour,

je crois que ce n'est possible que par macro donc voici:

Code:
Sub suppnom()
For Each n In ActiveWorkbook.Names
    If Not n.Name Like "*!*" Then
        n.Delete
    End If
Next
End Sub
 

Creepy

XLDnaute Accro
Re : Supprimer automatiquement tous les "noms" (Insertion/Nom/Définir) du classeur Ex

Bonjour le Forum, Skoobi, Lebardo,

Voici ma petite solution à moi avec une demande de confirmation pour chaque plage nommée, pour eviter les bêtises !!
Code:
Sub Del_Nom()
Dim Boucle As Integer
For Boucle = ActiveWorkbook.Names.Count To 1 Step -1
   If MsgBox("Effacer : " & ActiveWorkbook.Names(Boucle).Name & " - " & ActiveWorkbook.Names(Boucle).Value & "?", vbQuestion + vbYesNo, "Confirmez...") = vbYes Then
      ActiveWorkbook.Names(Boucle).Delete
   End If
Next
End Sub
Pour ta deuxième question et pour Excel 2003, tu n'es limité que par le nombre de mémoire disponible sur la machine.

Petit bémol toutefois, Excel 2003, ne gère pas au dessus de 512Mo et dans la réalité pour avoir fait des essais, au dessus de 300Mo aie aie aie !!!

Creepy
 

lebarbo

XLDnaute Occasionnel
Re : Supprimer automatiquement tous les "noms" (Insertion/Nom/Définir) du classeur Ex

Merci pour vos réponses, ça fonctionne.
Pour les 512 Mo (ou 300Mo ;) je suppose que c'est la taille du fichier Excel ? Si c'est le cas je ne suis pas rendu à ce niveau et j'en suis loin ; )
 

Creepy

XLDnaute Accro
Re : Supprimer automatiquement tous les "noms" (Insertion/Nom/Définir) du classeur Ex

RE all,

Oui et non ce n'est pas la taille effective du classeur c'esst la taille globale du process excel. Quand tu ouvres Excel, tu as un process Excel.exe dans ton gestionnaire de taches.

si tu ouvres 2 classeurs la taille augmente, si tu executes une macro la taille augmente. 300Mo c'est la taille globale du process. Il faut donc penser que l'application elle même utilise de la mémoire

A+

Creepy
 

Staple1600

XLDnaute Barbatruc
Re : Supprimer automatiquement tous les "noms" (Insertion/Nom/Définir) du classeur Ex

Bonsoir à tous

Sans message de confirmation

VB:
Sub suppression_nom()
Dim N As Name
For Each N In ActiveWorkbook.Names: N.Delete: Next
End Sub

ou comme ceci aussi

VB:
Sub suppression_nom()
Dim N As Name
For Each N In Names: N.Delete: Next
End Sub

Bon week-end à tous
 
Dernière édition:

Philippe Château

XLDnaute Occasionnel
Re : Supprimer automatiquement tous les "noms" (Insertion/Nom/Définir) du classeur Ex

Bonsoir à toutes et tous,
Je reprends le fil de la discussion et vous demande, pourquoi la macro passe bien avec la confirmation mais ne passe pas en "delete" total ne passe pas et bloque à
Sub suppnom()
For Each N In ActiveWorkbook.Names
If Not N.Name Like "*!*" Then
N.Delete
End If
Next
End Sub

Bien cordialement, au fait je suis en EXCEL 2002 SP3
 

lordorian

XLDnaute Nouveau
Re : Supprimer automatiquement tous les "noms" (Insertion/Nom/Définir) du classeur Ex

Bonjour,

Moi aussi ca me fait un debogage sur Nm.Delete quand le lien du nom est #REF! car il va chercher dans un emplacement qui n'existe plus...

J'ai aussi le soucis du nom qui n'est pas valide: quand je fais nom, inserer, que je change la plage il me met nom non valide car c'est un nom avec des carac spéciaux (classeur récupéré d'un autre pays)

Comment passer outre ces soucis ?

merci par avance !!
 
Dernière édition:

winnie33

XLDnaute Nouveau
Re : Supprimer automatiquement tous les "noms" (Insertion/Nom/Définir) du classeur Ex

Merci de vos réponses.

Je ne sais pas utiliser les amcro VBA etc.

Comment puis je faire ?

J'ai 150 noms que je n'utilise pas et chaque fois que je duplique une feuille pour déveloper mon tableur; j'ai x fois la question de garder le même nom....

Merci
 

Victor21

XLDnaute Barbatruc
Re : Supprimer automatiquement tous les "noms" (Insertion/Nom/Définir) du classeur Ex

Bonjour à vous aussi, winnie33.

Formules, gestionnaire de noms, sélectionnez le 1° nom, appuyez sur Maj et sélectionnez le dernier nom.
Tous les noms sont surlignés. Cliquez sur "Supprimer" et validez.
 

croxpozen

XLDnaute Nouveau
Bonjour à tous,
Je sais que le sujet date de bien longtemps mais je tiens à apporter ma contribution à la communauté.
Je confirme la réponse de Victor21, c'est la solution la plus simple sans passer par la macro, voici comment procéder :

- assurez-vous que le fichier source est sous l'extension .xlsx
- allez à : formule -> gestionnaire de noms : sélectionnez tous les noms et supprimez
- ouvrez le fichier de destination et copiez déplacez l'onglet que vous voulez depuis le fichier source
 

Discussions similaires

Réponses
3
Affichages
418

Statistiques des forums

Discussions
312 506
Messages
2 089 126
Membres
104 040
dernier inscrit
pb91