2 votes

Excel 2007 Erreurs "Arbitraires" #NOM?

En plein milieu de la rédaction de ma première question, j'ai accidentellement trouvé la solution (en quelque sorte). Le problème que j'avais était que lors de la copie de textes commençant par des tirets, Excel distribuait (semble-t-il) de manière aléatoire des erreurs #NAME?. Évidemment, je sais que cette erreur est due au fait que le tiret est un opérateur et qu'Excel cherche à agir sur une plage ou une valeur avec celui-ci. Ce que je ne savais pas, c'est que les erreurs n'étaient pas aléatoires -- elles apparaissent dans toute cellule ne contenant pas de parenthèses.

EXEMPLES (doivent être copiés sans les guillemets, bien sûr) --

(retourne une erreur lors de la copie dans une cellule)

"- Estampé"

(ne retourne pas d'erreur lors de la copie)

"- Estampé ("

Maintenant, armé de cette connaissance, j'ai une nouvelle question : Puisque je copie simplement du texte dans Excel que nous recevons de sources extérieures, et parfois ces chaînes auront une parenthèse et parfois non (mais elles commenceront toujours par un tiret), y a-t-il un moyen pour moi de modifier ce comportement dans Excel ? Par exemple, puis-je agir sur le texte qui apparaît dans la barre de fonction, même lorsque la cellule retourne une erreur #NAME? J'ai essayé d'utiliser =SI.ERREUR et =CONCATENER pour ajouter un apostrophe au début de la fonction afin de résoudre l'erreur, mais je ne peux pas utiliser de fonction sur la cellule problématique tant qu'elle retourne encore une erreur.

Parce que je copie ces données (en grande quantité) à partir d'une source de texte externe, y a-t-il quelque chose que je puisse faire à part les coller d'abord dans le bloc-notes et ajouter manuellement des parenthèses au besoin ? Cela semble plutôt gaspilleur.

1voto

Vishal Bandre Points 121

Bien sûr, si vous pouvez d'abord formater la colonne en tant que Texte, puis coller, cela résout de nombreux problèmes pratiques.

Mais pas tous.

Une autre approche serait de coller les données, puis, tout en les sélectionnant toujours, faire un Rechercher et remplacer. De quoi ? Vous remarquerez que tous les cas dans lesquels l'erreur se produit, il y a un "=" dans la cellule : =- Timbre par exemple. Le "=" peut être remplacé par un simple guillemet : ' et maintenant les données sont traitées comme du texte.

(L'erreur vient du fait qu'Excel pense, à cause du tiret, que vous essayiez d'obtenir le résultat de "soustraire la Plage Nommée 'Timbre'". Comme il n'y a pas de tel Nom, il renvoie l'erreur #NOM ?.)

Plus précisément, Excel veut trouver un tel texte avec des guillemets autour pour qu'il sache que c'est du texte. Il accepte de trouver le ( car un Nom ne peut pas avoir d'espace, donc il sait que ce n'est pas une Plage Nommée et essaie de le traiter comme texte à la place. Ce qui fonctionne pour vous.

Malheureusement, ajouter le deuxième " nécessite une formule car Excel ne propose la correspondance de motifs que via VBA et si vous vouliez utiliser VBA, rien de tout cela ne serait apparu du tout donc... Mieux vaut ne pas se soucier des cas marginaux sauf si le formatage de la colonne d'abord ne résout pas les choses pour vous. Ou si l'utilisation de Rechercher et remplacer pour supprimer le "=" n'est pas souhaitée (vous pourriez simplement coller et "cela fonctionne"... sans avoir à effectuer quelques étapes après cela).

En aucun cas vous ne DEVEZ travailler sur les données dans NotePad car Excel propose des moyens de faire tout ce dont vous avez besoin. Mais vous pourriez le préférer. Et je crois que NotePad++ propose la correspondance de motifs ce qui pourrait être bien. L'idée du formatage, l'idée du Rechercher et remplacer, ou l'utilisation de formules pour nettoyer tout cela, ou toute combinaison, serviront convenablement. Ce n'est pas l'un des problèmes exaspérants et insolubles d'Excel, juste l'un de ses problèmes exaspérants.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X