VBA pour 2003 et 2007 — Le cauchemar des graphiques

Je suis en train de dévelop­per une appli­ca­tion (vous en aurez des nou­velles bien­tôt) et celle-ci doit fonc­tion­ner à la fois pour 2003 et 2007 (et 2010, etc).
Le plus dif­fi­cile est sans doute la ges­tion des graphiques, qui est pra­tique­ment com­plète­ment dif­férente d’une ver­sion à l’autre.

Quelques règles générales à con­naître :
— Enreg­istr­er le fichi­er en .xls (2000–2003), pas en xlsx
— On peut aus­si utilis­er la procé­dure suiv­ante:

If Val(Application.Version) 12 Then … else … end if qui va donc per­me­t­tre de tester la ver­sion d’Ex­cel et de chang­er éventuelle­ment le code. Cepen­dant, cette approche a des lim­ites, car le débogueur peut iden­ti­fi­er un bug avant même que le test ne soit com­plété (par ex., une pro­priété ou une méth­ode qui n’ex­iste qu’en 2007 et pas en 2003). — La solu­tion con­siste donc à sépar­er le code pour 2003 et pour 2007 dans deux mod­ules dif­férents… Un peu com­plexe, mais beau­coup moins que de devoir main­tenir deux fichiers en même temps. A bien­tôt. Gae­tan PS : exem­ple de prob­lème de ce type avec : ActiveChart.SetElement

En cadeau de bien­v­enue : les 7 com­bi­naisons de touch­es indis­pens­ables sur Excel

Top 10 de mes fonctionnalités préférées, les connaissez-vous ?

Un post réca­pit­u­latif pour mes 10 fonc­tion­nal­ités préférées sur Excel !

On va la faire à la MTV, en com­mençant par la fin !

10 — Les con­necteurs pour dessin­er effi­cace­ment et pro­pre­ment
— Util­i­sa­tion des con­necteurs pour créer rapi­de­ment des dessins sur Excel :
2000 à 2003 : Affichage de la barre d’outils Dessin, puis :
connecteurs
2007–2013 : dans l’on­glet Inser­tion, sous “formes”.
A not­er que l’outil est beau­coup plus facile à utilis­er sur 2003 que sous 2007–2013 !
top-10-Excel-2

9‑Copier une plage comme une image
Très utile pour copi­er des tableaux ou des graphiques comme des images (par exem­ple pour les coller ensuite dans pow­er­point), voici la procé­dure :
2000–2003 : touche MAJ appuyée, puis Edi­tion et choisir Copi­er une image…
2007–2013 : Onglet Accueil, puis coller, en tant qu’im­age… et choisir copi­er comme image (au niveau de la logique MS, ca ressem­ble au bou­ton démar­rer pour arrêter win­dows XP 😉 )
A-top-10-Excel-4

8‑Ajuster les pages pour l’im­pres­sion
Bien que rel­a­tive­ment bien con­nu, cette astuce est néan­moins incon­tourn­able dès lors que l’on veut imprimer des tableaux. On peut ain­si laiss­er vide le nom­bre de pages en hau­teur pour n’avoir qu’un ajuste­ment sur la largeur !
top-10-Excel-3

7a-Créer très rapi­de­ment une série de noms
A par­tir des noms de lignes ou de colonnes d’un tableau, on peut ain­si très rapi­de­ment créer une série de noms.
2000–2003 : Menu Inser­tion, Noms, Créer…
A-top-10-Excel-5
2007–2013 : Onglet For­mules, Créer à par­tir de la sélec­tion:
A-top-10-Excel-6

7b-Tou­jours dans les noms, coller une liste avec leurs adress­es
Pour utilis­er cette fonc­tion­nal­ité, il faut bien sur que des noms aient été créés!
2000–2003 : facile d’ac­cès : Inser­tion, nom, coller une liste
A-top-10-Excel-7
2007–2013: c’est très bien caché par rap­port à 2003, car le nom de la fonc­tion­nal­ité a été changé :
A-top-10-Excel-8

6‑validation et zone nom­mée
C’est une astuce que j’u­tilise fréquem­ment pour faire référence à une liste se trou­vant dans une autre feuille :
1- Nom­mer la liste (2000–2003: inser­tion, noms, définir / 2007–2013: onglet for­mules, ges­tion­naire de noms)
2- Dans don­nées val­i­da­tion, choisir liste et faire référence au nom:
A-top-10-Excel-9

5- Mes fonc­tions de cal­culs préférées
Evidem­ment, on ne peut éviter SOMMEPROD, qui peut com­pléter adéquate­ment SOMME.SI, lorsqu’on doit gér­er plusieurs critères. Sur le même principe, dans Excel 2007–2010, SOMME.SI.ENS est devenu incon­tourn­able.
Pour 2003, j’adore DECALER,notam­ment en lien avec des noms dynamiques (voir plus bas).
Finale­ment, les fonc­tions INDEXet EQUIV et leurs com­bi­naisons (à la place de RECHERCHEV que je n’aime pas du tout ! 😉 ).

4‑Les tableaux croisés dynamiques
Si vous ne les con­nais­sez pas et que vous utilisez des listes de don­nées (une table dont la pre­mière ligne con­tient les en-tête pour chaque colonne), c’est un out­il incon­tourn­able pour l’analyse. je n’ai pas le temps de dévelop­per ici (ca prendrait un cd com­plet !), mais voici l’in­struc­tion de base :
2000–2003 : Don­nées — Rap­port de tableaux croisés dynamiques
2007–2013 : Inser­tion — Rap­port de tableaux croisés dynamiques
On fait ensuite gliss­er les champs aux emplace­ments désirés (en lignes, en colonnes, sur les don­nées ou encore dans la zone de fil­tre).

3- Les noms dynamiques (2000–2003) et les tables (2007–2013)
2000–2003 : Il s’ag­it de créer des noms avec la fonc­tion DECALER qui per­me­t­tent de s’a­juster aux don­nées. Par exem­ple, créer un nom pour faire référence à la table con­tenant les don­nées ali­men­tant un tableau croisés dynamique.
On peut aus­si utilis­er des noms dynamiques pour des images ou encore pour des listes.
Pour un cours com­plet sur ces util­i­sa­tions : cliquez ici
2007–2013 : Il est main­tenant beau­coup plus facile de créer un nom dynamique, il suf­fit sim­ple­ment de met­tre la plage sous la forme d’une table, puis de nom­mer cette plage. On peut aus­si utilis­er le nom de cette table, mais pas dans tous les cas (val­i­da­tions avec liste, par exem­ple).

2- 2007–2013 seule­ment — la punaise sur le nom du fichi­er
Unique­ment sur 2007–2013, en cli­quant à droite du nom du fichi­er à par­tir du bou­ton office/menu fichi­er, on garde en per­ma­nence les fichiers qu’on utilise le plus.
Sous 2003, on peut aus­si créer des rac­cour­cis vers les fichiers les plus util­isés (dans l’ex­plo­rateur win­dows), mais c’est moins rapi­de et intu­itif.

1‑Les rac­cour­cis-clavier incon­tourn­ables
Cer­taine­ment l’as­tuce per­me­t­tant de gag­n­er le plus de temps, le rac­cour­ci-clavier:
ALT : en dessi­nant, qui per­met de caler l’im­age sur les bor­ds de la cel­lule
F4 : répéter la dernière action
F4 : dans une for­mule, ajouter/supprimer des $
F3 : dans une for­mule (ou ailleurs), insér­er un nom. Aus­si utile dans val­i­da­tion ou mise en forme con­di­tion­nelle
CTRL + G, U, I : respec­tive­ment Gras, Souligné (Under­lined) et Italique
ALT + F11 : affich­er VBE
CTRL + Entrée : en édi­tant une for­mule, ca per­met de recopi­er sur toute la plage sélec­tion­née
CTRL + ; : : insér­er la date et l’heure
Encore plus sur ce sujet : ici ou

Et voilà, bra­vo si vous avez tout lu !
Si vous avez votre pro­pre liste (de 5 ou 10) ou que vous voulez com­pléter celle-ci, n’hésitez pas !

A bien­tôt.

Gaë­tan

En cadeau de bien­v­enue : les 7 com­bi­naisons de touch­es indis­pens­ables sur Excel

Gérer des images dans un userform en VBA

Et une autre vidéo qui explique com­ment ajouter une image dans un user­form et ensuite com­ment la mod­i­fi­er par du code VBA.

Ca se passe ici :
http://www.polykromy.com/vba-2007/1_charge_image_fr.html

Pour les util­isa­teurs d’ex­cel 2003, vous accédez au VBE par ALT+F11, ou encore Out­ils — Macros.
La sécu­rité des macros se gère au même endroit.

Bon amuse­ment

Gaë­tan Mour­mant

En cadeau de bien­v­enue : les 7 com­bi­naisons de touch­es indis­pens­ables sur Excel