Vous avez déjà appris pourquoi vous utilisez des noms dans les cellules et les zones. Vous pouvez y lire comment créer des noms, modifier et supprimer des noms individuels. Si vous souhaitez supprimer tous les noms du classeur, démarrez la macro suivante .
Sub SupprimerNomsClasseur () Dim nomclasseur As Name For Each nomclasseur In Application.Names nomclasseur.Delete Next nomclasseur End Sub
Définissez d’abord une variable de type Name. Ensuite, vous passez par une boucle For Each et utilisez la méthode Delete pour supprimer tous les noms utilisés dans le classeur.
Sub SupprimezPasTousLesNoms () Dim mafeuille As Worksheet Dim nom As Name For Each mafeuille In Worksheets For Each nom In ActiveWorkbook.Names If Right(nom.Name, 10) = "Print_Area" _ Or Right(nom.Name, 12) = "Print_Titles" Then _ Else nom.Delete Next nom Next mafeuille End Sub
Tous les noms utilisés dans le classeur sont mis à votre disposition via la propriété Names. S’il existe également des noms internes pour les zones d’impression ou les lignes de répétition, ceux-ci sont générés sous la forme Feuil1! Print_Area ou Feuil3! Print_Titles.
C’est exactement pourquoi vous utilisez la fonction Right pour interroger les noms, avec laquelle vous pouvez déterminer un certain nombre de caractères à partir du bord droit de la cellule. Cela signifie que seuls les noms qui ne représentent pas une zone d’impression ou correspondent à des lignes répétées sont supprimés.