VBA Suppression noms

CA fonctionne

Bonjour,

Ton fichier en retour enregistré en xlsm (fichier Excel avec macros).

Exécuter la procédure Delete_names.

Testé sous Mac.

Cdlt.

Delete names.xlsm

Public Sub Delete_names()
Dim nm As Name, i As Long
    Application.DisplayAlerts = False
    Worksheets.Add
    On Error Resume Next
    For Each nm In ActiveWorkbook.Names
        i = i + 1
        With ActiveSheet
            .Cells(i, 1).Value = nm.Name
            .Cells(i, 2).Value = nm.RefersTo
            .Cells(i, 3).Value = nm.Visible
            nm.Delete
        End With
    Next
    MsgBox "Nombre de nom(s) : " & i, 64, "Information"
End Sub

Merci beaucoup ! Ce code fonctionne !

Merci à tout le monde pour l'aide !

[quote="à 09:35, saaku"]ÇA fonctionne[/quote]

[quote="à 09:39, saaku"]Merci beaucoup ! Ce code fonctionne ![/quote]

tant mieux si ça marche !!! ... et pourtant, quand j'ai testé le code VBA de Jean-Eric :

screen

eh oui : ça ajoute une nouvelle feuille, ça y écrit la liste des noms du classeur et ça les supprime, mais après la sauvegarde du classeur, sa fermeture, et sa ré-ouverture, ça recrée de nouveau le nom défini _xlfn.IFERROR !!!

normal, puisqu'il y a toujours les fonctions SIERREUR() de la feuille cachée "Import LN Resp" ; donc en fait, même si saaku pense que c'est réglé, ça veut pas dire qu'elle ne voit plus _xlfn.IFERROR qu'il n'y est plus : il est toujours là, mais caché car NON-visible !

peut-être que c'est seulement sur mon PC et pas sur son Macintosh que _xlfn.IFERROR est recréé ?


@saaku

je crois que tu n'as pas lu mon post précédent, car sinon, tu aurais vu que _xlfn.IFERROR est toujours là !

d'ailleurs, le fichier de ce post n'a pas été téléchargé :

screen 2

lien sur ce post (clique sur le lien vert) : https://forum.excel-pratique.com/viewtopic.php?p=675792#p675792

ce post aussi est passé inaperçu : https://forum.excel-pratique.com/viewtopic.php?p=675820#p675820

dhany

Re,

@ dhany, c'est quoi la question ?

A tout hasard as-tu conservé l'original du fichier de saaku ? Il l'a retiré…

Cdlt.

@Jean-Eric

7test.xlsm (58.94 Ko)

c'est le fichier .xlsx de saaku que j'ai converti en .xlsm ; il y avait 2 feuilles cachées "Import LN Resp" et "GL" que j'ai rendu visibles ; dans ThisWorkbook, la sub Workbook_Open() rend visibles tous les noms définis existants mais ne les supprime pas ! y'a plus qu'un seul nom défini : c'est le _xlfn.IFERROR qui revient automatiquement à chaque ouverture du classeur, même si tu le supprimes manuellement (ou par VBA) ; normal : le seul moyen d'éviter ça, c'est de supprimer de la 1ère feuille "Import LN Resp" toutes les formules qui utilisent la fonction SIERREUR() ; voici toutes les cellules concernées : B4 ; C12:C50 ; J12:U50


ma question précédente est devenue sans objet car j'viens d'voir que même dans un tout nouveau classeur, la fonction SIERREUR() génère le nom défini _xlfn.IFERROR ; simplement, j'm'en étais pas rendu compte car il était caché ; je pense que ça l'fait aussi sur ton Excel 2016.

conclusion : la présence de _xlfn.IFERROR est normale ; c'est pas à considérer comme une erreur ➯ problème réglé !

dhany

Rechercher des sujets similaires à "vba suppression noms"