Impression références Noms + suppression

Philippe Château

XLDnaute Occasionnel
Bonjour à toutes et tous,

Dans VBA comment et peut on imprimer (dans un fichier annexe) toutes les références des noms, et ce avant suppression totale (qui ne fonctionne pas au demeurant, ci-dessous) par la VBA suivante :

Sub suppnom()
For Each N In ActiveWorkbook.Names
If Not N.Name Like "*!*" Then
N.Delete ---> Bloque à cette ligne, je ne comprends pas
End If
Next
End Sub

Merci pour toutes les réponses, au fait je suis sous Excel 2003
 

Pierrot93

XLDnaute Barbatruc
Re : Impression références Noms + suppression

Bonjour Philippe

essaye le code ci dessous :

Code:
Option Explicit
Sub test()
Dim n As Name
For Each n In ActiveWorkbook.Names
    Workbooks("Classeur2").Sheets("Feuil1").Range("A65536").End(xlUp).Offset(1, 0).Value = _
        n.Name & n.RefersTo
    n.Delete
Next
End Sub

fonctionne chez moi, Excel 2003, je n'ai pas compris ton test :

Code:
If Not N.Name Like "*!*"

chez moi le nom d'une plage ne peut pas prendre de "!"....

bonne journée
@+
 

Philippe Château

XLDnaute Occasionnel
Re : Impression références Noms + suppression

Bonjour,

Merci pour ta réponse, je vais tester la solution et pour répondre à ta deuxième question en fait il s'agit de supprimer toutes les entrées de références de noms, car il y en 2 plus de 200 ! mais avant de les effacer j'aimerais tout de même les imprimer des fois que...

A+ et encore merci
 

pierrejean

XLDnaute Barbatruc
Re : Impression références Noms + suppression

bonjour a tous

S'agissant d'un Delete

Peut-etre

Code:
Dim n As Long
For n = ActiveWorkbook.Names.Count To 1 Step -1
    Workbooks("Classeur2").Sheets("Feuil1").Range("A65536").End(xlUp).Offset(1, 0).Value = _
        ActiveWorkbook.Names(n).Name & ActiveWorkbook.Names(n).RefersTo
    ActiveWorkbook.Names(n).Delete
Next n
 

Philippe Château

XLDnaute Occasionnel
Re : Impression références Noms + suppression

Bonjour,

Désolé de ne pas vous avoir répondu tout de suite, mais tellement occupé, et le traitement a été assez long, rendez vous compte aux environs de 15000 lignes supprimées, c'est incroyable, digne du Livre des Records :).

Enfin cela fonctionne, et c'est le principal, UN GRAND MERCI à vous deux.

Bien cordialement
 

foufie

XLDnaute Nouveau
Re : Impression références Noms + suppression

bonjour a tous

j'ai le même souci avec delete

du coup j'utilise le code de pierrejean qui fonctionne


Code:
Dim n As Long
on error resume next 

For n = ActiveWorkbook.Names.Count To 1 Step -1
    
    ActiveWorkbook.Names(n).Delete
Next n
"
c'est cool sauf que je souhaiterai tout de meme garder un nom " (tcd)"
sur une feuille isolé (F06)


voici a quoi j'avais pense mais ca ne fonctionne pas , cal efface tt

Code:
Dim n As Long

on error resume next 

For n = ActiveWorkbook.Names.Count To 1 Step -1

 if n.name <> "tcd" then   

    ActiveWorkbook.Names(n).Delete
Next n

si vous avez des ideees je prends
 

pierrejean

XLDnaute Barbatruc
Re : Impression références Noms + suppression

Bonjour foufie

A tester:

Code:
Dim n As Long


On Error Resume Next


For n = ActiveWorkbook.Names.Count To 1 Step -1


 If ActiveWorkbook.Names(n).Name <> "tcd" Then


    ActiveWorkbook.Names(n).Delete
Next n
 

foufie

XLDnaute Nouveau
Re : Impression références Noms + suppression

bonjour

merci je mettrais plus tard une version allégé

voici ce que j'ai fait avec l'aide de 'enregistreur de macro ( c'est pas tres propre mais ca fonctionne )
je ne sélectionne que les pages dont j'ai besoin d'effacer les noms

Code:
Sub light2()

Sheets("Accueil").Activate
Call light
Sheets("groupe").Activate
Call light
Sheets("Pilote").Activate
Call light

End Sub



Sub light()

Dim n As Long

On Error Resume Next

For n = ActiveSheet.Names.Count To 1 Step -1

    ActiveSheet.Names(n).Delete
  
Next n

End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 602
Messages
2 090 156
Membres
104 413
dernier inscrit
HMF1984