IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Supprimer tous les noms automatiquement


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Japon

    Informations professionnelles :
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2013
    Messages : 6
    Par défaut Supprimer tous les noms automatiquement
    Bonjour à tous,

    Après avoir épluché les forums et autres tutoriaux, je sèche encore :/

    Mon problème est le suivant: j'ai des classeurs qui contiennent foule de noms, tous invalides car référençant des liens externes qui ne me sont pas accessibles. Pour mes travaux, j'ai besoin de nettoyer complètement ces feuilles de tous les noms, y compris les noms automatiques qu'excel ajoute...

    Pour ce faire je tente évidemment le code suivant (merci les forums ;-) ):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Sub deleteAllNames()
    
    Dim nm As Name Dim countD As Integer Dim countH As Integer Dim totalNbrNames As Integer countD = 0 countH = 0 totalNbrNames = ActiveWorkbook.Names.count ' First make all names visible... For Each nm In ActiveWorkbook.Names
    nm.Visible = True countH = countH + 1
    Next nm ' ... Then delete them one by one. For Each nm In ActiveWorkbook.Names
    nm.Delete countD = countD + 1
    Next nm MsgBox "Unhidden : " & countH & " names." & vbCrLf & _
    "Deleted : " & countD & " names." & vbCrLf & _ "On a total of " & totalNbrNames & " names."
    End Sub
    C'est assez rudimentaire et non optimal... mais ce n'est pas le problème.

    Le problème c'est le nm.Delete : Il échoue systématiquement sur les noms automatiques (genre "__123Graph_AC04C ALL-L1"). Ce petit code supprime tous les noms, sauf ceux-ci, les automatiques (ou built-in chez les anglais). J'ai une erreur de type 1004 ("The name that your entered in not valid.") qui semble t il serait dûe à des conflits entre objets)
    Impossible alors de supprimer ces noms automatiques...
    En revanche, ces noms - une fois visibles - se suppriment très bien lorsque je procède manuellement avec le gestionnaire de noms ! Et là, aucun conflit, aucun warning, tout marche très bien !
    D’où ma question: si on peut le faire manuellement, n'y a t il pas un moyen de le faire automatiquement ??

    Merci à tous, bonne journée,

    Alexandre

  2. #2
    Membre Expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 475
    Par défaut
    Bonjour,

    Un truc plus court

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub Supprimer_Nom()
             For Each Nom In ActiveWorkbook.Names
             Nom.Delete
             Next
    End Sub

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Japon

    Informations professionnelles :
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2013
    Messages : 6
    Par défaut
    Salut,

    Merci pour ton message. Cependant c'est exactement le même code (plus court certes) et donc ne fonctionne pas mieux :// Ce code là ne fonctionne que pour les noms ajoutés par l’utilisateur... pas pour les noms automatiques...

    Merci quand même,

    Alexandre

Discussions similaires

  1. [Toutes versions] Supprimer contenu de tous les noms
    Par jackborogar dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 27/02/2013, 13h49
  2. supprimer tous les rdv du calendrier outlook
    Par arnolpourri dans le forum Access
    Réponses: 6
    Dernier message: 25/05/2005, 10h57
  3. Méthode pour supprimer tous les enfants d'un élément
    Par Pymm dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 10/05/2005, 12h10
  4. Réponses: 4
    Dernier message: 24/09/2004, 10h17
  5. [Tomcat] Comment supprimer tous les logs ?
    Par Soulsurfer dans le forum Tomcat et TomEE
    Réponses: 8
    Dernier message: 11/05/2004, 16h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo