Suppression de toutes les noms de cellule

Résolu
Messages postés
50
Date d'inscription
vendredi 7 juillet 2006
Statut
Membre
Dernière intervention
2 septembre 2009
-
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
-
Bonjour a tous,

Je voudrais supprimer tous les noms donnés à des cellules dan un fichier excel.

Existe-t-il une formule du genre :

ActiveWorkbook.Names( all ).Delete

Merci d'avance.

5 réponses

Messages postés
50
Date d'inscription
vendredi 7 juillet 2006
Statut
Membre
Dernière intervention
2 septembre 2009

La bonne réponse ( avec aménagement perso ) était :

Dim j As Long
f = ActiveWorkbook.Names.Count

If f <> 0 Then
        For j = 1 To f
            nomj = ActiveWorkbook.Names(1).Name
            ActiveWorkbook.Names(nomj).Delete
        Next j
End If

Merci a toi Mortalino pour ton aide précieuse.
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
De rien, ta façon est un peu plus lourde quand même.
Dans ton cas, pense à déclarer Dim nomj As String, f As Long

Bonne prog !

@++

   Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"

Merci de prendre le temps de répondre à
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut,

essaie ce code :

Sub test()
Dim i As Long

If ActiveWorkbook.Names.Count <> 0 Then
    For i = 0 To ActiveWorkbook.Names.Count - 1
        ActiveWorkbook.Names(i).Delete
    Next i
End If

End Sub

@++

   Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"

Merci de prendre le temps de répondre à
Messages postés
50
Date d'inscription
vendredi 7 juillet 2006
Statut
Membre
Dernière intervention
2 septembre 2009

marche pas...

"i" dans ActiveWorkbook.Names(i).Delete doit correspondre au nom du nom et non pas à son numéro...
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Pas forcémment : nom de type string, ou Index de type long.

Sub test()
Dim i As Long

If ActiveWorkbook.Names.Count <> 0 Then
    For i = ActiveWorkbook.Names.Count To 1 Step -1 '*** modif ici
    ActiveWorkbook.Names(i).Delete
        'MsgBox ActiveWorkbook.Names(i).Name
    Next i
End If

End Sub

Testé, et ça fonctionne !

@++

   Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"

Merci de prendre le temps de répondre à