Quels caractères sont légaux dans un nom de feuille de calcul - Conseils Excel

Table des matières

Les noms de feuille de calcul peuvent être remplacés par presque tout. C'est la partie * presque * qui est floue pour moi. Certains caractères ne sont pas autorisés dans un onglet de feuille de calcul. Mais comment déterminez-vous quels sont ces personnages? Aujourd'hui, je vais vous montrer comment.

L'une de mes vidéos les plus populaires sur YouTube est Podcast # 1505 - Prochain numéro de facture. Je me souviens avoir téléchargé un modèle de facture de Microsoft il y a 20 ans et avoir été déçu qu'il n'y avait rien dans le modèle pour incrémenter le numéro de facture après chaque enregistrement. Il y a six ans, j'ai enregistré une courte vidéo avec quelques lignes de code VBA pour mettre à jour le numéro de facture à chaque sauvegarde. 222000 vues plus tard, cela reste ma vidéo n ° 1.

Trois fois par semaine, je suis contacté par quelqu'un qui veut changer la macro pour faire quelque chose de différent. La semaine dernière, quelqu'un me dit que mon code leur donne une erreur 1004. Il est toujours difficile de résoudre les problèmes sans voir le classeur. La ligne de code qui lançait l'erreur était une ligne qui a renommé la feuille de calcul à la valeur stockée dans la cellule E5.

Voici comment je me rappelle quels personnages sont illégaux. Suivez ces étapes:

  1. Appuyez sur Ctrl + N pour un nouveau classeur Excel
  2. La formule en A1 est =ROW(). Copiez jusqu'à A1: A255. Cela vous donne rapidement les nombres 1 à 255
  3. La formule en B1 est =CHAR(A1). Copiez jusqu'à B1: B255. Cela vous donne les 255 caractères ASCII. Vous remarquerez un A majuscule à la ligne 65.
  4. Appuyez sur alt = "" + F11 pour ouvrir VBA. Dans le menu VBA, choisissez Insérer un module. Copiez le code suivant dans VBA.

    Sub CheckAll() On Error Resume Next For i = 1 To 255 Err.Clear ActiveSheet.Name = "A" & Cells(i, 2).Value Cells(i, 3).Value = Err.Number Next i End Sub
  5. Cliquez n'importe où dans la macro. Appuyez sur F5 pour exécuter. Cela ne prendra que quelques secondes. Appuyez sur alt = "" + Q pour fermer et revenir à Excel. La macro a tenté de nommer la feuille de calcul avec 255 noms différents. La colonne C affiche le code d'erreur après chaque tentative. Zéro c'est bien. 1004 est mauvais.
  6. Ce serait bien d'ajouter quelques titres pour pouvoir filtrer. Copiez A1: C255. Coller en tant que valeurs. Insérez une nouvelle ligne 1 avec les en-têtes Code, Caractère, Nom
  7. Allumez le filtre. Ouvrez la liste déroulante dans C1. Décochez tout ce qui a une erreur de 0. Les 9 lignes restantes affichent une erreur de 1004.

Comme vous pouvez le voir dans l'image ci-dessous, les 9 caractères '* / :? () sont ceux qui ne peuvent pas être utilisés dans un nom de feuille de calcul. (Ce sont Apostrophe, Asterisk, Slash, Colon, Question Mark, Left Square Bracket, Backslash, Right Square Bracket.)

Les 9 caractères visibles dans la colonne B généreront une erreur 1004 si vous essayez de les utiliser dans un nom de feuille de calcul.

Je suis retourné voir la personne sur YouTube et lui ai demandé si la cellule E5 contenait une date au format MM / JJ / AAAA. En changeant en WS.Name =Format(Range("E5").Value,"MM-DD-YYYY")la date contient des tirets au lieu de barres obliques et le code a fonctionné.

Voici une explication des parties importantes du code:

  • Sur Erreur Resume Next indique à Excel de ne pas arrêter la macro lorsqu'une erreur est rencontrée. Le Err.Number et Err.Description seront disponibles une fois l'erreur rencontrée.
  • Err.Clear efface toute erreur précédente de la fois précédente dans la boucle.

Au fait, cela me fascine toujours de savoir quels caractères * sont * légaux dans un nom de feuille de calcul. La figure ci-dessous est=CHAR(3)&CHAR(6)&CHAR(7)&CHAR(6)&CHAR(4)

Utilisez ActiveSheet.Name = ActiveCell.Value

Chaque vendredi, j'écrirai sur le débogage du comportement louche dans Excel.

Excellente pensée du jour

J'ai demandé à mes amis Excel Master leurs conseils sur Excel. Pensée d'aujourd'hui à méditer:

"Toutes les couleurs dans Excel ne sont pas destinées à une utilisation réelle."

Mike Alexander

Articles intéressants...