Monsieur Excel
Pour tout savoir faire sur Excel !

04 novembre 2011

Création d'un nom dynamique

Une des clefs pour la création de modèles professionnels est l’utilisation de noms dynamiques, c’est-à-dire de noms qui s’adaptent automatiquement aux données présentes. Si l’on enlève ou ajoute des données, le nom s’adapte alors immédiatement…

Ici, nous avons utilisé les formules représentées dans le cartouche. Nous souhaitons créer un nom qui identifie les données de la colonne A, soit actuellement A1:A10. Mais nous voulons que ce nom soit dynamique : si l’on reproduit la formule de la cellule A10 en A11:A12, il faut que le nom identifie alors le bloc A1:A12; si l’on efface le bas de la colonne pour ne garder que les cellules A1:A7, il faut que le nom ne représente plus que ces sept cellules.

Pour cela, activez l’onglet « Formules » puis la commande Gestionnaire de noms, la commande « Nouveau… », saisissez le nom « Valeurs » et dans la zone « Fait référence à : », entrez : =Feuil1!$A$1:decaler(Feuil1!$A$1;Feuil1!$B$1-1;0).

Remarque 1 – Vous pourriez me dire qu’il est plus direct de passer par la commande « Définir un nom ». Un, cela ne gagne pas de temps car il faut appeler cette commande deux fois de suite. Deux, j’aime bien – quand je définis un nom – voir quels autres noms ont déjà été définis.

Comment vérifier que le nom est bien dynamique ?

Jusqu’à Excel 2000, la solution était simple… Il suffisait d’entrer dans une cellule la formule =somme(valeurs), puis de faire un double clic dans la cellule pour l’éditer : Excel sélectionnait alors exactement le bloc contenant les valeurs.

Malheureusement, pour les versions postérieures, cela ne marche plus. La moins mauvaise solution est d’utiliser le raccourci [Ctrl]-t (la commande
« Atteindre ») puis de taper le nom voulu et de valider par OK.

Remarque 2 – Vous noterez au passage que le nom ne se trouve pas dans la liste, et qu’il faut donc le taper. En effet, les noms dynamiques ne sont pas considérés par Excel comme de vrais noms !

Remarque 3 – Notre nom dynamique suppose que, dans la zone à nommer, il n’y ait aucune cellule vierge ou contenant du texte. Si nous avions utilisé nbval(), cela aurait résolu le problème des cellules contenant du texte mais, dans un cas tel que celui-ci, on ne souhaite de toute façon pas qu’il y ait du texte dans la zone nommée.

4 Commentaire(s):

  • Bravo pour votre site. Une super initiative de partager vos connaissances, sachant ce que cela doit représenter comme travail.
    A ce titre un petit d'or serait bien non ! ou alors je ne l'ai pas trouvé !!! Bon courage et merci, vous m'avez dépanné...
    bonne journée
    Sylvie

    By Anonymous Anonyme, sur 7:09 PM  

  • je voulais dire "livre d'or".

    By Anonymous Anonyme, sur 7:10 PM  

  • Merci pour ces encouragements !

    By Blogger Hervé Thiriez, sur 11:14 PM  

  • Je cherchais à comprendre pourquoi mon nom dynamique n'apparaissait pas dans la liste des noms dans la barre de formule... un petit coup de google et je suis arrivé là, où j'ai été 'rassuré' de voir que c'était 'normal'...

    Bon ça ne va pas me résoudre mon problème, qui était de vouloir utiliser un nom dynamique pour la plage source d'un TCD accédant via une 'Connexion' OLE à un autre fichier... Parce que le nom dynamique est encore moins visible à l'autre bout de la connexion OLE, donc inutilisable dans mon cas (même en remplaçant sournoisement un nom fixe qui marchait très bien par une définition dynamique...)

    Tant pis, je garderai un nom de plage défini 'en dur', en le taillant suffisamment large pour supporter le grossissement futur de mes données!

    En tout cas quoi qu'il en soit, merci pour votre site, quelque chose me dit que j'y reviendrai certainement...

    Philippe

    By Anonymous Anonyme, sur 11:42 AM  

Enregistrer un commentaire

<< Accueil