Supprimer un nom si il existe en VBA

Bonjour,

Je voudrais connaitre le code pour supprimer un nom s'il existe.

If le nom existe then nom.delete sinon la procédure continue

Merci pour aide.

BH

Bonjour,

Sois un peu plus précis : quel type d'objet, quelles sont ses propriétés, dans quelles conditions doit intervenir sa suppression, etc.

S'il s'agit d'un objet Name :

    ThisWorkbook.Names("NomX").Delete

Bonjour,

J'essaie de préciser :

si le nom "Nature_ligne" existe il faut le supprimer si il n'existe pas la procédure continue

ActiveWorkbook.Names("Nature_ligne").Delete

Dans certains cas de figure, le fichier garde en mémoire la liste de validation utilisée dans un copier/coller et quand on réimporte, excel (et c'est normal) demande si l'on veut utiliser le même nom et cela oblige à valider 18 fois. Avant d'importer (par macro) je voudrais savoir si le nom existe ou pas.

BH

bonjour

re au passage MFerrand

le problème existe-t-il aussi si tu "importes" avec Power Query ?

Bonjour Bruno,

tu a écrit :

si le nom "Nature_ligne" existe il faut le supprimer si il n'existe pas la procédure continue

je reformule ainsi ta phrase :

« si le nom "Nature_ligne" existe il faut le supprimer et arrêter la procédure (donc en sortir) »

Option Explicit

Sub Essai()
  Dim NX As Name
  For Each NX In Names
    If NX.Name = "Nature_ligne" Then
      NX.Delete: Exit Sub 'nom trouvé => suppression du nom, et sortie de la sub
    End If
  Next NX
  'si ça arrive ici, c'est que le nom n'a pas été trouvé => suite de la sub
  '
  'mettre ici toutes les autres instructions de la sub
  '
End Sub

dhany

Bonsoir,

Merci pour votre retour.

Je corrige : si le nom "Nature_ligne" existe il faut le supprimer et arrêter la procédure (donc en sortir) »

Non, la procédure doit continuer, je ne sors pas de la procédure, s'il y a le nom je le supprime et je continue, s'il n'y a pas le nom je continue.

BH

dans ce cas, essaye comme ceci :

Option Explicit

Sub Essai()
  Dim NX As Name
  For Each NX In Names
    If NX.Name = "Nature_ligne" Then NX.Delete 'nom trouvé => suppression du nom
  Next NX
  'ici, suite de la sub (que le nom ait été trouvé ou non)
  '
  'mettre ici toutes les autres instructions de la sub
  '
End Sub

dhany

Merci avec le END IF, cela donne dont j'avais besoin.

BH

merci pour ton retour d'info ! bonne continuation !

dhany

Rechercher des sujets similaires à "supprimer nom existe vba"