Création d’un graphe élastique
Commençons par sélectionner le bloc de données en A1:A10 puis créons un graphe, en sélectionnant un simple histogramme. Bien entendu, ce graphe n’est pas élastique : il ne s’adapte pas aux données puisqu’il continue à afficher 10 valeurs même si l’on ajoute ou détruit des données.
 Pour rendre le graphe dynamique, sélectionnons-le (cf. copie d’écran) puis, dans la barre de formule, remplaçons $A$1:$A$10 par le nom dynamique Valeurs défini dans la rubrique précédente, et enfin validons par [Entrée].
Pour rendre le graphe dynamique, sélectionnons-le (cf. copie d’écran) puis, dans la barre de formule, remplaçons $A$1:$A$10 par le nom dynamique Valeurs défini dans la rubrique précédente, et enfin validons par [Entrée].
Le graphe est à présent dynamique, ce que nous vérifions aisément en détruisant les trois dernières valeurs, puis en retirant la formule de A7 jusqu’en A13.
Remarque 1 – Nous notons, si nous sélectionnons la série dans le graphe, que Feuil1!valeurs est devenu Class.xls!Valeurs, c’est-à-dire qu’Excel a remplacé le nom de la feuille par celui du classeur, ce qui est approprié, dans la mesure où un nom est normalement défini au niveau du classeur. 
Remarque 2 – Si nous n’avions pas gardé « Feuil1 ! » quand nous avons remplacé $A$1:$A$10 par « Valeurs », Excel aurait refusé notre modification.
Remarque 3 – Ce message est le 201ème publié dans ce blog. C'est une sorte d'anniversaire...

 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.
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. Il suffit de cliquer sur le bouton « Insert » pour avoir accès aux outils des barres d’outils « Formulaires » et « Boîte à outils Contrôles » (appelés maintenant « Contrôles ActiveX) des versions antérieures d’Excel.
Il suffit de cliquer sur le bouton « Insert » pour avoir accès aux outils des barres d’outils « Formulaires » et « Boîte à outils Contrôles » (appelés maintenant « Contrôles ActiveX) des versions antérieures d’Excel.
    
     Certes, nous pourrions encore compacter un peu, mais cela demande un peu plus d’aisance avec le VBA, et parvenir à :
Certes, nous pourrions encore compacter un peu, mais cela demande un peu plus d’aisance avec le VBA, et parvenir à : On économise ainsi deux instructions, mais au prix d’une lisibilité un peu moins bonne. Ce n’est donc pas une bonne affaire...
On économise ainsi deux instructions, mais au prix d’une lisibilité un peu moins bonne. Ce n’est donc pas une bonne affaire... Dès que la barre d’outils « Arrêter l’enregistrement » dont le nom est d’ailleurs illisible apparaît, cliquons dans le second bouton, « Références relatives », pour que la macro n’enregistre que les adresses relatives.
Dès que la barre d’outils « Arrêter l’enregistrement » dont le nom est d’ailleurs illisible apparaît, cliquons dans le second bouton, « Références relatives », pour que la macro n’enregistre que les adresses relatives. Si nous effaçons la ligne et la colonne de totaux et exécutons la macro, nous constatons qu’elle fonctionne parfaitement bien.
Si nous effaçons la ligne et la colonne de totaux et exécutons la macro, nous constatons qu’elle fonctionne parfaitement bien. La formule de B3 est la suivante :
La formule de B3 est la suivante : 
     

