VBA supprimer uniquement certains noms définis

Bonjour à toutes et tous,

J'ai essayé sans succès d'adapter le code cette discussion :

https://forum.excel-pratique.com/viewtopic.php?forum_uri=excel&t=15760&start=

Je cherche à supprimer tous les noms définis contenant les terme ImportGoogleSheet avec le code ci après

Pourriez vous m'aider à le faire fonctionner ?

Merci

Cordialement

Hugues

Sub SupNoms()

Dim nm As Name
    On Error Resume Next
    For Each nm In ActiveWorkbook.Names
        If nm Like "*ImportGoogleSheet*" Then nm.Delete

    Next nm
Range("A1").Select

End Sub

Bonjour Hugues, bonjour le forum,

Peut-être comme ça :

Sub SupNoms()
Dim nm As Name
For Each nm In ActiveWorkbook.Names
    If InStr(1, nm.Name, "ImportGoogleSheet", vbTextCompare) <> 0 Then nm.Delete
Next nm
'Range("A1").Select
End Sub

bonjour,

Moi je le verrai plutôt comme ça :

Sub SupNoms()
Dim o  '(as  object)
    On Error Resume Next 'mettre la poussière sous le tapis ?
    For Each o In ActiveWorkbook.Names
        If o.Name Like "*ImportGoogleSheet*" Then o.Delete

    Next o
Range("A1").Select
End Sub

ou :

Sub DelNam()
Dim i%, nm
Set nm = ThisWorkbook.Names 
For i = 1 To nm.Count 
    if nm(i).Name Like "*ImportGoogleSheet*" Then nm(i).Delete
Next
Range("A1").Select
End Sub

(EDIT] Salut Thautème

A+

Bonjour Thautheme et Galopin,

Merci pour votre aide vos solutions fonctionnent.

Sauf Galopin celle ci après mais certainement parce qu'il peut y avoir plusieurs noms définis dans mon classeur comme ceci :

ImportGoogleSheet

ImportGoogleSheet_5

ImportGoogleSheet_3

ImportGoogleSheet_1

etc....

Sub DelNam()
Dim i%, nm
Set nm = ThisWorkbook.Names 
For i = 1 To nm.Count 
    if nm(i).Name Like "*ImportGoogleSheet*" Then nm(i).Delete
Next
Range("A1").Select
End Sub

Encore une fois merci de m'avoir répondu aussi vite et avec en plus la solution.

Cordialement

Hugues

Rechercher des sujets similaires à "vba supprimer uniquement certains noms definis"