Vous êtes sur la page 1sur 8

EXCEL Performance

Editions PRAXIS

Octobre 2009 Votre outil pour exceller au quotidien

Sommaire Les bonnes formules pour des


Les bonnes formules pour arrondis sans erreur
des arrondis sans erreur . . . page 1 Cas pratique | tout niveau |
Découvrez la fonction Quand on travaille avec des valeurs numériques, on est forcément confronté un
Atteindre pour effectuer jour ou l’autre à une problématique d’arrondi. Vous connaissez sans doute la fonc-
des mises en forme tion ARRONDI, mais connaissez-vous toutes ses subtilités  ? Saviez-vous qu’Excel
groupées . . . . . . . . . . . . . . . page 2
propose une dizaine d’autres fonctions d’arrondi ? Et que les erreurs d’arrondi que
Trois lignes de code vous pouvez rencontrer dans vos feuilles de calcul ne sont pas forcément de vraies
méconnues pour doper
erreurs ? Voici ce qu’il faut savoir sur les arrondis, et comment utiliser les principales
vos applications VBA . . . . . page 3
fonctions pour obtenir le bon résultat à coup sûr.
Allégez le code de vos
formulaires . . . . . . . . . . . . . . page 3
De belles icônes de pointage
avec Excel 2007 . . . . . . . . . . page 4
Une fonction personnalisée
pour écrire des nombres
en toutes lettres . . . . . . . . . page 4
Protégez votre code VBA . page 5
Forcez l'activation du pavé
numérique . . . . . . . . . . . . . . page 6
Configurez Excel pour Nota Bene que la colonne n’est plus suffisamment
passer à la cellule de large pour afficher la valeur, Excel affiche
Pour activer la fonction ARRONDI.
droite après validation . . . . page 6 un arrondi. Et pourtant, les deux valeurs
AU.MULTIPLE présentée dans cet article,
Un outil qui détecte les sont identiques !
il faut charger la macro complémentaire
erreurs de vos formules
automatiquement . . . . . . . . page 7
Utilitaire d’analyse. Pour cela, cliquez sur
le menu Outils puis sur Macros complé-
Affichez et imprimez un
mentaires. Si la case Utilitaire d’analyse
quadrillage coloré . . . . . . . page 7
n’est pas déjà cochée, cochez-la. Suivez,
Classeurs en réseau :
le cas échéant, les instructions de l’assis-
programmer une fermeture
automatique . . . . . . . . . . . . page 8 tant pour l’installation de la macro, et va-
lidez par OK. Notez que cette procédure
Contrôler la saisie semi-
n’est pas nécessaire avec Excel 2007.
automatique . . . . . . . . . . . . page 8
Un autre cas d’arrondi de présentation
Le piège des arrondis de peut survenir lorsque le format de la cel-
Modèles et outils présentation lule spécifie un nombre de décimales.
Avec deux décimales, la valeur 1000,99
Le plus important avec les arrondis, c’est sera correctement affichée. Avec une
09XLP10_registre.xls
de bien comprendre qu’Excel fait la dis- seule, Excel affichera 1001,0. Et si vous
09XLP10_fonction.zip
tinction entre l’aspect d’un nombre, tel utilisez des formats personnalisés, le
09 X L P 10 _v er r num . zip
qu’il est affiché à l’écran ou imprimé, et risque est grand de se tromper : avec
09XLP10_erreurs.xls
sa valeur réelle stockée dans la cellule. le format #  ##0,00  €, vous obtiendrez
Par conséquent, il peut arriver que le par exemple 1000,99  € à l’écran. Ajou-
Pour télécharger les modèles résultat d’un calcul soit apparemment tez par erreur un espace avant la virgule
et outils d’EXCEL Performance, faux, alors qu’en réalité il ne l’est pas. (# ##0 ,00 €), et la valeur affichée sera...
créez votre compte personnel C’est d’autant plus déroutant qu’un ré- 1,00 € ! Là encore, et dans tous les cas,
sur notre site Internet et saisis- sultat affiché qui semble erroné peut la valeur réelle, stockée dans la cel-
sez le mot de passe du mois. être utilisé dans une autre formule afin lule et utilisée pour les calculs, est bien
de calculer un autre résultat final qui se 1000,99.
Mot de passe du mois trouve, lui, être juste. Un vrai casse-tête ! Conclusion à retenir  : lorsque vous
effacer Faites ce test : tapez dans deux cellules constatez une erreur d’arrondi, vérifiez
adjacentes la valeur 1000,99 et réduisez que la présentation est correcte avant
www.excelperformance.fr la largeur de la seconde colonne. Dès d’incriminer votre formule.
Arrondir à une précision la valeur 300. Un peu plus déroutant  : plus proche, comme avec la fonction
La fonction ARRONDI accepte deux =ARRONDI(1000,51 ;-4) vaut... 0  ! ARRONDI. La syntaxe est :
arguments, avec la syntaxe suivante  : Et quelle est la valeur de =ARRON- =ARRONDI.AU.MULTIPLE(nombre;multiple).
=ARRONDI(nombre;nombre de chiffres). DI(5200;-4) ? 10 000, bien sûr ! Par exemple, la formule =ARRONDI.
Pour forcer l’arrondi dans une direction, AU.MULTIPLE(A1;500) permet d’arron-
utilisez les fonctions ARRONDI.INF et dir la valeur contenue dans la cellule A1
ARRONDI.SUP, qui fonctionnent avec au multiple de 500 le plus proche.
la même syntaxe que ARRONDI. Si vous avez besoin d’un arrondi au
• La première arrondit vers le bas, multiple «  au plus haut  », utilisez la
ce qui revient à tronquer la valeur au fonction PLAFOND, avec la syntaxe
nombre de décimales fixé  : =ARRON- =PLAFOND(nombre;multiple). À l’in-
DI.INF(23,46;1) retourne ainsi 23,4. verse, la fonction PLANCHER (même
• La seconde fonction effectue un ar- syntaxe) vous permettra d’effectuer des
rondi à la valeur supérieure : =ARRON- arrondis « au plus bas ».
DI.SUP(23,41;1) retourne 23,5. Par exemple, pour calculer un arrondi
Si nombre de chiffres est positif, il s’agit à 5  centimes près sur un montant en
d’un arrondi classique. Avec la formule Nota Bene euros, utilisez la valeur 0,05 comme
=ARRONDI(A1;2), la valeur retournée Vous avez saisi les subtilités  ? Testez- multiple  : =PLAFOND(25,57;0,05)
sera l’arrondi de la valeur contenue vous en calculant de tête la valeur re- retourne 25,6, tandis que =PLAN-
dans la cellule A1 à deux décimales tournée par les formules suivantes : CHER(25,57;0,05) renvoie 25,55.
près. Notez que 0,4449 est arrondi à =ARRONDI.SUP(8170,24;-2)
0,44. Les valeurs 0,4450 et suivantes, Tronquer des décimales
=ARRONDI.INF(12560;-4).
jusqu’à 0,4499, sont arrondies à 0,45. Pour supprimer tout ou partie des
Si nombre de chiffres vaut 0, la valeur décimales d’un nombre sans pour
retournée est l’entier le plus proche
Arrondir à un multiple autant l’arrondir, utilisez la fonction
(avec le même principe d’arrondi). L’arrondi à un multiple pourra vous ai- TRONQUE, avec la syntaxe :
Si nombre de chiffres est négatif, der, par exemple, à réaliser des bud- =TRONQUE(nombre;nombre de chiffres).
l’arrondi s’effectue sur le nombre de gets en kilo-euros ou à afficher des prix Le deuxième argument correspond
chiffres à gauche de la virgule, toujours arrondis à cinq ou dix centimes près sur au nombre de décimales à tronquer.
avec le même principe d’arrondi. La for- une facture. S’il est omis, il est considéré comme
mule =ARRONDI(225,56;-2) retourne Avec la fonction ARRONDI. étant égal à 0, et la fonction renvoie un
ainsi 200, et =ARRONDI(268,21;-2) AU.MULTIPLE, le calcul s’effectue au nombre entier.

Découvrez la fonction Atteindre pour effectuer des mises en forme groupées

Il arrive souvent que l’on souhaite mo- Pour sélectionner toutes les cellules de tons de la barre d’outils Mise en forme,
difier, dans toute une feuille de calcul, la feuille contenant du texte, cochez ou en cliquant sur le menu Format puis
la mise en forme d’éléments précis, par la case Constantes et, sous Formules, Cellule.
exemple la police de caractères de tout décochez les cases Nombre, Valeurs
le texte ou la couleur des résultats cal- logiques et Erreurs. Avec Excel 2007, cliquez sur les bou-
culés. Plutôt que de modifier la mise en Pour cibler les cellules contenant des tons de mise en forme du groupe Po-
forme individuellement, il est logique valeurs, cochez la case Constantes et, lice dans l’onglet Accueil du ruban, ou
de sélectionner d’abord toutes les cel- sous Formules, décochez les cases cliquez sur la flèche à droite de Police
lules concernées. Mais c’est un peu Texte, Valeurs logiques et Erreurs. pour afficher la boîte de dialogue For-
fastidieux, et on peut facilement en ou- mat de cellule.
blier si la feuille est grande... sauf si on Pour les cellules contenant des résul-
utilise, pour effectuer cette sélection, la tats calculés, cochez la case Formules
fonction Atteindre. et décochez les cases Texte, Valeurs
logiques et Erreurs.
Tapez le raccourci Ctrl + T puis cliquez
sur le bouton Cellules. Cliquez sur OK. Toutes les cellules (vi-
sibles ou non) de la feuille qui corres-
pondent au critère sont alors sélection-
nées. Vous pouvez alors appliquer la
mise en forme souhaitée avec les bou-

Page 2 — Octobre 2009 — www.excelperformance.fr


Trois lignes de code méconnues pour Allégez le code de vos
formulaires
doper vos applications VBA Avec des objets UserForm com-
Cas pratique | @ 09XLP10_registre.xls | utilisateur avancé | portant de multiples boutons, la
Lorsqu’on développe des applications avec Excel, on a souvent besoin de stoc- gestion des clics est assez pénible
ker quelque part des données persistantes, que l’on retrouve d’une session de à programmer. Chaque bouton
travail à une autre. La technique la plus ingénieuse consiste à utiliser le Registre possède en effet son propre évé-
Windows comme zone de stockage. Voici comment faire dans un cas concret nement Click, qu’il faut alimenter
typique - pour générer un numéro de facture unique - et des exemples d’autres indépendamment avec les instruc-
utilisations possibles. tions nécessaires.

Pour alléger votre code et éviter les


répétitions, utilisez une procédure
de gestion des clics indépendante,
stockée dans le module de code
de l’objet UserForm. Elle traitera
Nota Bene À noter que si vous tentez de suppri- les événements Click d’une façon
mer une clé ou un section inexistante, générique, en recevant comme
Le Registre Windows est une base de
une erreur se produit. Le cas échéant, paramètre un numéro de bouton.
données système stockée sur le disque
il faudra donc, dans votre code, prévoir
dur. Les données qu’il contient sont
ce cas de figure. Dans les procédures des événe-
donc liées à un PC, ainsi qu’à l’utilisa-
ments Click de chaque bouton, il
teur actif dans le cas d’une utilisation
multi-comptes. C’est une contrainte Générer un numéro de vous suffit alors de faire un appel à
facture cette procédure avec le numéro du
pour générer des numéros de facture
bouton correspondant :
uniques, car les factures devront être
Sachant cela, tout est ensuite très
éditées sur un même PC, mais un atout
simple. Pour générer un numéro de Private Sub CommandButton1_
pour d’autres applications (voir nos
facture dans le code VBA de votre ap- Click()
exemples).
plication, il vous suffira d’utiliser une Call ClicSurBouton (1)
Un peu de technique... clé dont vous incrémenterez la valeur à End Sub
chaque édition de facture, en stockant
Les fonctions VBA à utiliser sont la dernière valeur utilisée dans la clé. Private Sub CommandButton2_
SaveSetting, GetSetting et En pratique, un code compact de fonc- Click()
DeleteSetting. Elles servent respec- tion fournissant un nouveau numéro Call ClicSurBouton (2)
tivement à enregistrer, récupérer et de facture à chaque appel serait par End Sub
supprimer des clés personnalisées du exemple le suivant :
Registre, sous la clé HKEY_CURRENT_ Public Function NumFact() As Dans la procédure de gestion des
USER, dans les sous-clés Software\VB String clics, vous pourrez par exemple
and VBA Program Settings. Ces clés NumFact = GetSetting("APPLI", utiliser une instruction Select Case
personnalisées sont de type REG_SZ, "Fact", "Num", 0) + 1 pour traiter les différents cas :
c’est à dire des chaînes de caractères SaveSetting "APPLI", "Fact",
de type String au sens VBA. "Num", NumFact Private Sub ClicSurBouton
Les fonctions se formulent avec les pa- End Function (num As Integer)
ramètres nom (le nom de votre appli- Le fichier 09XLP10_registre.XLS [instructions]
cation, qui sera la sous-clé principale), contient des exemples de code dont Select Case num
section (le nom d’une sous-clé), clé (le vous pourrez vous inspirer. Case 1
nom d’une clé) et valeur (la valeur), tous [instructions]
de type String. Les appels aux fonc- D’autres exemples... Case 2
tions se font alors de la façon suivante : Avec cette technique, vous pourrez : [instructions]
SaveSetting "nom", "section", • stocker des mots de passe ; End Select
"clé", "valeur", pour enregistrer la • limiter une application distribuée à [instructions]
clé ; un certain nombre d’utilisations ou à End Sub
Variable_de_type_string = Get- une date limite dans le temps ;
Setting ("nom", "section", • vérifier qu’une application s’exécute
"clé", "valeur"), pour récupérer la bien sur un PC précis (par exemple
valeur de la clé ou, si elle n’existe pas, pour éviter certaines erreurs) ; Retrouvez tous nos modèles
la valeur indiquée par l’argument va- • limiter une application à un groupe et astuces sur notre site,
leur (facultatif) ; d’utilisateurs sur un PC partagé ; à l’adresse suivante :
DeleteSetting "nom", "section, • garder une trace de certains événe- www.excelperformance.fr
"clé", pour supprimer la clé ou, si l’ar- ments liés à l’utilisation de l’applica-
gument clé est omis, la section entière. tion.

www.excelperformance.fr — Octobre 2009 — Page 3


De belles icônes de
pointage avec Excel
Une fonction personnalisée pour
2007 écrire des nombres en toutes
lettres
Pas à pas | @ 09XLP10_fonction.zip | utilisateur avancé |
Vous aimeriez effectuer un certain type de calcul ou de traitement sur vos don-
nées, et aucune fonction d’Excel ne répond à vos besoins ? Vos formules sont
trop complexes et vous aimeriez les simplifier ? Créez des fonctions personnali-
sées ! Pas d’affolement : c’est beaucoup plus simple qu’il n’y paraît. Voici ce qu’il
faut savoir sur la marche à suivre, avec un exemple de fonction personnalisée qui
Il est courant d’utiliser des tableaux permet de transformer un nombre en texte pour l’écrire dans une cellule dans
Excel pour représenter de manière sa transcription littérale.
synthétique des états pointés : oc-
cupation d’une salle de réunion,
tâches accomplies, disponibilité
ou présence de personnes, par
exemple. Le problème, c’est que
des « X » (ou autre) dans des cases, Ce qu’il faut savoir • Le mot clé Public est facultatif mais,
ce n’est pas très joli. pour des raisons de clarté, il est bon de
Une fonction personnalisée est une l’indiquer quand même. Il permet à la
Avec Excel 2007, vous pouvez procédure VBA déclarée avec le mot- fonction d’apparaître dans la liste des
créer de belles icônes qui s’insère- clé Function, qui accepte ou non des fonctions répertoriées dans la fenêtre
ront automatiquement. arguments et retourne une valeur. Sa Insérer une fonction d’Excel.
1. Sélectionnez la plage des cel- vocation est de «  s’installer  » dans • nom est le nom de la fonction, qui
lules qui contiennent une informa- Excel comme une fonction classique, doit respecter les règles habituelles de
tion de pointage. afin de pouvoir être utilisée dans des nommage des variables en VBA.
2. Dans l’onglet Accueil, cliquez formules de la même façon qu’une • arguments est la liste des arguments
sur le bouton Mise en forme fonction SOMME ou ARRONDI, par de la fonction. Les arguments multiples
conditionnelle, sur Jeux d’icônes exemple. sont séparés par des virgules et s’il n’y
puis sur un style à trois états, par Au niveau du code VBA, une fonction a pas d’argument, on doit conserver les
exemple les symboles avec cercle. personnalisée doit toujours se trouver deux parenthèses. Mieux vaut préciser
3. Cliquez à nouveau sur le bouton dans un module normal, jamais dans systématiquement leur type (Integer,
Mise en forme conditionnelle puis un module de code d’une feuille ou Long, String, etc.), même si ce n’est
sur Gérer les règles et sur le bou- d’un UserForm, ou dans ThisWork- pas obligatoire.
ton Modifier la règle. book. • type est le type de données retourné
4. Sélectionnez le type de règle Enfin, une fonction personnalisée ne par la fonction. Bien que cette mention
Mettre en forme toutes les cel- peut pas modifier des cellules. De par soit facultative, il est fortement recom-
lules d’après leur valeur. sa nature, son objet n’est que de re- mandé de l’indiquer.
5. Dans les listes Type, sélectionnez tourner une valeur, en utilisant les ar-
Nombre. guments fournis (ou aucun argument Une syntaxe correcte sera par exemple :
6. Dans la zone Valeur de la pre- si elle n’en nécessite pas). Public Function TauxTVA
mière icône, tapez la valeur 2. Dans (RefProduit as String) as
la zone Valeur de la seconde, tapez Nota Bene Single
1. Cochez la case Afficher l’icône Avec le mot-clé Function, vous pou- Notre fonction d’exemple est déclarée
uniquement puis cliquez deux fois vez aussi créer des fonctions appelées Public Function EcrireNombre
sur OK. uniquement par des procédures VBA, (ByVal Nombre As Long) As
7. Remplacez alors, dans les cel- pour structurer, simplifier ou alléger le String
lules, les libellés ou symboles que code d’une application. Il ne s’agit pas
vous aviez indiqué par les valeurs d’une «  fonction personnalisée  » au Dans le code de la fonction, une valeur
0, 1 ou 2, selon l’icône que vous sens où nous l’entendons ici. doit être attribuée au moins une fois à
souhaitez voir s’afficher. nom, qui est de facto une variable de
C’est beaucoup plus joli, non ? Déclarer une fonction type type, et ce avant que la fonction
se termine.
personnalisée
Enfin, le code de la fonction doit se ter-
Dans votre code VBA, la syntaxe de miner par le mot clé End Function. À
déclaration d’une fonction est la sui- tout endroit, vous pouvez utiliser l’ins-
vante : truction Exit Function pour quitter la
fonction prématurément (c’est parfois
Public Function nom (arguments) utile, nous utilisons cette possibilité
As type dans EcrireNombre).

Page 4 — Octobre 2009 — www.excelperformance.fr


La fonction EcrireNombre 3.  Cliquez à nouveau sur le menu Edi- Protégez votre code
Trêve de théorie : un peu de pratique, tion puis sur Copier, et quittez le Bloc- VBA
avec notre fonction personnalisée Ecri- notes.
reNombre. Elle accepte comme unique 4.  Lancez Excel et créez un nouveau Si vous développez des applica-
argument un nombre à exprimer sous classeur. tions en VBA utilisées par d’autres
forme littérale, et retourne comme 5.  Tapez le raccourci Alt  +  F11 pour personnes, par exemple des fonc-
valeur la chaîne de caractères corres- ouvrir l’éditeur Visual Basic. tions personnalisées, peut-être
pondante. Dans une formule, =Ecrire- 6.  Dans le menu Insertion, cliquez sur souhaitez-vous garder secret le
Nombre(456) retourne ainsi «  quatre Module. détail de votre code VBA  ? Ou
cent cinquante-six ». 7.  Cliquez sur le menu Edition puis sur bien aimeriez-vous interdire aux
Coller et fermez la fenêtre de l’éditeur utilisateurs de vos programmes
Vous trouverez dans le dossier com- Visual Basic. de modifier  -  involontairement ou
pressé 09XLP10_fonction.zip (à télé- 8.  Enregistrez le classeur en lui donnant non - les instructions, afin d’éviter
charger sur notre site www.excelperfor- un nom (par exemple EcrireNombre) et les erreurs ?
mance.fr) les deux fichiers qui illustrent en choisissant le type de fichier Macro La solution, c’est de protéger l’ac-
cet article : complémentaire Microsoft Office Ex- cès à votre code avec un mot de
• 09XLP10_fonction.xls, un classeur cel (*.xla) ou Macro complémentaire passe.
d’exemple Excel (*.xlam) avec Excel 2007.
• 09XLP10_fonction.txt, un fichier 1. Ouvrez le classeur qui contient
texte qui contient le code VBA de Ecri- votre code et tapez le raccourci
reNombre Alt  +  F11 pour ouvrir l’éditeur Vi-
sual Basic.
Découvrez le fonctionnement de 2. Dans la fenêtre Projet - VBAPro-
EcrireNombre en ouvrant le classeur Nota Bene ject, cliquez avec le bouton droit
09XLP10_fonction.xls. Tapez une valeur En procédant ainsi, le dossier des sur le nom du projet associé à ce
dans la cellule B18 et vous obtiendrez macros complémentaires est automa- classeur à protéger, puis sur Pro-
son expression littérale dans la cellule tiquement sélectionné : c’est bien pra- priétés de VBA Project.
C18, qui contient la formule d’appel à tique ! 3. Cliquez sur l’onglet Protection.
la fonction EcrireNombre. 4. Cochez la case Verrouiller le
9.  Cliquez sur Enregistrer et quittez projet pour l’affichage, puis tapez
Excel. Avec Excel 2007, cliquez sur Non un mot de passe dans les zones
pour ne pas enregistrer les modifica- Mot de passe et Confirmer le mot
tions dans un fichier XLS : c’est inutile, de passe.
car le fichier XLAM est déjà créé.

Nota Bene Pour que la fonction personnalisée


EcrireNombre soit accessible dans
Cette fonction d’exemple retourne une
tous vos classeurs Excel, il ne vous reste
erreur si le nombre est négatif.
plus qu’à activer cette nouvelle macro
complémentaire.
Installer EcrireNombre
Pour cela, relancez Excel. Dans le menu
La méthode la plus intéressante pour Outils, cliquez sur Macros complémen-
installer une fonction personnalisée taires. Cochez la case devant le nom
consiste à la définir comme macro com- choisi auparavant (Ecrirenombre dans
plémentaire. Elle est alors disponible notre exemple) et cliquez sur OK.
dans tous les classeurs, et vous pour-
rez la partager facilement avec d’autres
personnes en leur fournissant un fichier
XLA ou XLAM (Excel 2007).
Supposons que vous avez développé
vous-même la fonction EcrireNombre, 5. Fermez l’éditeur Visual Basic,
dont le code se trouve dans le fichier enregistrez votre classeur et quit-
09XLP10_fonction.txt. Voici comment tez Excel.
recopier ce code pour installer la fonc- Avec Excel 2007, cliquez sur le Bouton
tion sur votre PC sous forme de macro Office puis sur Options Excel. Dans Désormais, votre code ne pourra
complémentaire. l’onglet Compléments, cliquez sur le plus être affiché ou modifié sans la
1.  Dans le dossier où vous avez stocké bouton Atteindre. Cochez la case de saisie du mot de passe. Les fonc-
le fichier 09XLP10_fonction.txt, double- la macro complémentaire correspon- tions et procédures qu’il contient
cliquez sur le fichier pour l’ouvrir avec dante et cliquez sur OK. continueront toutefois à être ac-
le Bloc-notes. Voilà, la fonction EcrireNombre est cessibles et s’exécuter de la même
2.  Cliquez sur le menu Edition puis sur maintenant disponible pour vos for- façon, sans qu’il soit nécessaire de
Sélectionner tout. mules, dans tous vos classeurs ! taper le mot de passe.

www.excelperformance.fr — Octobre 2009 — Page 5


Forcez l'activation du pavé numérique
Solution clé en main | @ 09XLP10_verrnum.zip | tout niveau |

Appuyer par inadvertance sur la Ctrl  +  V afin de coller le code de la


touche VerrNum du pavé numérique macro.
est chose courante, et on ne se rend 7.  Dans la fenêtre Projet sur la gauche,
pas toujours compte rapidement de double-cliquez sur la ligne ThisWork-
son erreur. book.
Avec notre macro VerrNumOn, vous 8.  Tapez les trois lignes suivantes :
pourrez désormais forcer l’activation Private Sub Workbook_Open()
du pavé en mode numérique s’il ne 3.  Tapez les raccourcis Ctrl  +  A pour Call VerrNumOn
l’est pas déjà, dès le chargement d’un sélectionner tout le texte, puis Ctr + C End Sub
classeur. pour le copier dans le Presse-papiers, 9.  Fermez l’éditeur Visual Basic et en-
et fermez le Bloc-notes. registrez votre classeur.
1.  Téléchargez le fichier 09XLP10_ver- 4.  Ouvrez votre classeur et tapez
rnum.zip sur notre site Internet www. Alt + F11 pour afficher l’éditeur Visual Avec Excel 2007, veillez à enregistrer
excelperformance.fr. Il contient le clas- Basic. le classeur avec le type Classeur Excel
seur exemple 09XLP10_verrnum.xls et 5.  Cliquez sur le menu Insertion puis (prenant en charge les macros) (*.xlsm).
le code VBA de la macro VerrNumOn sur Module.
dans le fichier texte 09XLP10_verrnum. Nota Bene
txt. Vous pourrez, au choix, installer notre
2.  Pour installer la macro VerrNumOn macro dans vos classeurs individuelle-
dans un classeur, double-cliquez sur le ment, ou bien créer une macro com-
fichier 09XLP10_verrnum.txt afin de plémentaire afin que le verrouillage se
l’ouvrir avec le Bloc-notes de Windows. 6.  Dans la fenêtre qui s’ouvre, tapez fasse au chargement d’Excel.

Abonnez-vous à notre e-newsletter gratuite !

Chaque semaine,
faites le plein d’astuces et gagnez du temps
avec notre lettre d’information par e-mail.

Inscription rapide et sans engagement sur notre site :


www.excelperformance.fr

Configurez Excel pour passer à la cellule de droite après validation


Vous êtes sûrement familier du fait  : Cliquez sur le menu Outils puis sur Op-
lorsqu’on valide la saisie ou la modi- tions et sur l’onglet Modification.
fication d’une donnée dans une cel- Dans Excel 2007, cliquez sur le bouton
lule en appuyant sur la touche Entrée, Office puis sur Options Excel et sur
Excel positionne automatiquement le l’onglet Options avancées. Si  vous préférez que le pointeur soit
pointeur de sélection dans la cellule positionné sur une autre cellule ad-
située juste en-dessous. jacente (celle de droite, en haut ou à
gauche), laissez
C’est bien pratique quand on tape des la case cochée,
valeurs séquentiellement en colonne, déroulez la liste
mais beaucoup moins si on effectue la Sens, cliquez
saisie en ligne, ou que l’on veut taper sur le choix dé-
plusieurs valeurs dans la même cellule Ensuite, si vous souhaitez que le poin- siré puis sur OK
afin de tester le résultat d’une formule. teur reste dans la même cellule, dé- pour valider.
Heureusement, Excel permet de chan- cochez la case Déplacer la sélection
ger ce comportement. après validation, puis validez par OK.

Page 6 — Octobre 2009 — www.excelperformance.fr


Un outil qui détecte les erreurs de Affichez et imprimez un
quadrillage coloré
vos formules automatiquement Dans Excel, le quadrillage
Solution clé en main | @ 09XLP10_erreurs.xls | tout niveau | affiché à l’écran est par défaut de
Pour vous aider à corriger les erreurs, Excel met à votre disposition toutes sortes couleur grise. En changer permet
d’outils, comme la vérification en arrière-plan ou les fonctions d’audit de formules. d’égayer une feuille de calcul ou
Ces outils sont efficaces, mais guère pratiques pour identifier les erreurs dans des de marquer l’avancement d’un tra-
tableaux volumineux, avec des formules complexes ou lorsque des formules font vail, avec par exemple les feuilles
référence à des cellules d’autres feuilles, voire d’autres classeurs. C’est encore incomplètes en rouge.
plus compliqué lorsque vous n’avez pas vous-même conçu le classeur  ! Notre
outil de création de rapports d’erreurs, prêt à l’emploi, vous simplifiera la tâche. Nota Bene
Les réglages ci-dessous s’appli-
Que fait cet outil ? être aussi déjà ouvert. Dans ce cas, s’il a
quent individuellement à chaque
été modifié depuis son dernier enregis-
Si les erreurs de frappe ou de cohé- feuille de calcul, même si ce
trement, c’est la version modifiée (celle
rence sont généralement faciles à n’est vraiment clair qu’avec Excel
qui est en mémoire) qui sera analysée.
identifier, celles qui entraînent l’affi- 2007.
chage, dans une cellule contenant une 3.  Si le classeur comporte des liaisons
formule, d’une valeur d’erreur comme avec un autre classeur et qu’un mes- Cliquez sur l’onglet de la feuille à
#NOM?, #REF! ou #VALEUR! posent sage d’avertissement s’affiche, cliquez modifier, puis sur le menu Outils
souvent problème. Ce sont ces er- sur le bouton Mettre à jour. et sur Options. Dans l’onglet Affi-
reurs  -  et celles-là seulement  -  que Si le classeur comporte des erreurs, le chage, déroulez la liste Couleur de
notre outil détecte en analysant toutes rapport est alors généré et un message quadrillage, cliquez sur la couleur
les cellules de toutes les feuilles d’un mentionnant le nombre d’erreurs enre- souhaitée puis sur OK.
classeur donné. gistrées dans le rapport s’affiche.
Si au moins une erreur est détectée, D’autres messages d’information peu-
un rapport d’erreur est généré sous la vent s’afficher si :
forme d’un fichier texte. Il présente, • le classeur ne contient pas d’erreur
feuille par feuille, la liste des cellules (aucun rapport n’est alors créé),
présentant une erreur, avec le libellé de • le fichier sélectionné n’est pas un
l’erreur et la formule fautive contenue classeur Excel ;
dans la cellule. • l’outil ne prend pas en charge le
type de fichier Excel sélectionné (les
modèles ou les macros complémen- Avec Excel 2007, cliquez sur le
taires, par exemple) ; bouton Office puis sur Options
• vous avez tenté d’analyser un clas- Excel. Dans l’onglet Options avan-
seur portant le même nom qu’un clas- cées, à la section Afficher les op-
seur qui est déjà ouvert, mais stocké tions pour cette feuille de calcul,
dans un dossier différent (dans ce cas, vérifiez que la feuille à quadriller
Une fois imprimé, ce rapport vous per- fermez d’abord le premier classeur). est bien sélectionnée, cliquez sur
mettra de corriger les formules erro- le bouton Couleur de quadrillage
nées beaucoup plus facilement que si Imprimez le rapport puis sur une couleur, et validez
vous deviez les inspecter une à une à Le fichier de rapport d’analyse est créé par OK.
l’écran, surtout si certaines sont dépen- dans le même dossier que le classeur Si vous souhaitez que le qua-
dantes d’autres. analysé, et porte le même nom incluant drillage s’imprime, il faut explicite-
l’extension d’origine .xls, .xslx ou .xslm ment le demander. Cliquez sur le
Lancez une analyse mais avec l’extension réelle .txt, qui menu Fichier puis Mise en page.
1.  Ouvrez le classeur 09XLP10_erreurs. est celle du format des fichiers texte Dans l’onglet Feuille, cochez la
xls, en choisissant d’activer les macros, de Windows. Pour imprimer le rapport, case Quadrillage et cliquez sur OK.
puis cliquez sur le bouton Analyser un il suffit d’ouvrir ce fichier avec le Bloc- Avec  Excel 2007, cliquez sur l’on-
classeur. notes en double-cliquant dessus. Cli- glet Mise en page du ruban. Dans
quez ensuite sur le menu Fichier puis le groupe Options de la feuille de
sur Imprimer. calcul, cochez la case Imprimer de
la section Quadrillage.
Nota Bene
Une fois les corrections effectuées, re-
Nota Bene
2.  Sélectionnez le classeur à analyser lancez l’outil pour vous assurer que La couleur Automatique des
et cliquez sur le bouton Ouvrir. toutes les erreurs ont été corrigées. Si bordures et encadrements est
des erreurs subsistent, un nouveau rap- celle du quadrillage. Au besoin,
Nota Bene port sera généré avec les erreurs res- changez cette couleur en ré-ap-
Le classeur à analyser, qui est forcément tantes uniquement (le nouveau rapport pliquant une bordure ou un enca-
déjà enregistré sur le disque dur, peut remplace le précédent). drement avec une autre couleur.

www.excelperformance.fr — Octobre 2009 — Page 7


Courrier des lecteurs
Classeurs en réseau : programmer une fermeture automatique
Nous sommes plusieurs à travailler sur un même classeur placé sur un réseau, de Copyright © Editions PRAXIS 2009
façon exclusive (chacun l’ouvre à tour de rôle). Mon problème, c’est que quand N°CPPAP : en cours – ISSN : 1958-8348
Dépôt légal à parution
quelqu’un oublie de le fermer, il reste verrouillé et n’est accessible qu’en lecture Publication mensuelle
seule pour les autres. Y a-t-il un moyen d’obliger les étourdis à fermer le classeur ?
Éric C. — Rennes EXCEL Performance n° 10, Octobre 2009
Publié par les Editions PRAXIS
Siret 502 883 655 000 16 –
La méthode la plus simple consiste à ajouter du code VBA pour n’autoriser l’utilisation RCS Paris – APE 5811Z
du classeur que pendant une période de temps déterminée, par exemple 15 minutes.
Au bout du délai imparti, le classeur sera automatiquement fermé (et son contenu Directrice de la publication : Catherine
enregistré), à charge pour la personne de le ré-ouvrir si elle était effectivement en train Dourlens – Auteur : Jean-Marc Gimenez
Secrétaire d’édition : Perrine Lenfantin
de travailler dessus. C’est brutal, mais efficace ! Maquettiste : Raphaëlle Pascal
1.  Ouvrez votre classeur partagé puis l’éditeur Visual Basic en tapant le raccourci Impression : FG Print
Alt + F11.
2.  Cliquez sur Insertion puis sur Module et, dans la fenêtre qui s’affiche, tapez les trois Service Abonnements :
Excel Performance Editions PRAXIS
lignes suivantes : 88, boulevard de la Villette – 75019 PARIS
Private Sub FermerClasseur() www.excelperformance.fr
ThisWorkbook.Close SaveChanges:=True serviceclients@editionspraxis.fr
End Sub Tél. : 01 44 59 31 33 – Fax : 01 44 59 91 25
3.  Dans la fenêtre Projet sur la gauche, double-cliquez sur la ligne ThisWorkbook. Service Réponse aux lecteurs :
4.  Dans la fenêtre qui s’affiche, tapez les trois lignes suivantes : excelperformance@editionspraxis.fr
Private Sub Workbook_Open() www.excelperformance.fr
Application.OnTime Now + TimeValue("00:15:00"), "FermerClasseur" Fax : 01 44 59 91 25
End Sub Les Editions PRAXIS ne sont liées à aucun
5.  Fermez l’éditeur Visual Basic, enregistrez le classeur et fermez-le. À sa prochaine constructeur : nous ne dépendons en
ouverture, il se fermera automatiquement 15 minutes plus tard (à condition, bien sûr, aucune manière des entreprises citées
que les macros aient été activées). dans les pages de cette publication. Nous
effectuons des recherches méticuleuses
pour tous nos articles, mais nous ne
sommes pas responsables des erreurs ou
Contrôler la saisie semi-automatique omissions qui pourraient y figurer.
Quand on saisit du texte dans une cellule, Excel complète parfois le texte déjà tapé
Vous pouvez contacter nos experts par
avec le texte complet d’une autre cellule, mais pas tout le temps. J’aimerais déjà courrier, fax ou Internet. Ces services
comprendre pourquoi, et surtout comment faire pour désactiver cette fonction. sont personnels. Ils sont réservés à
Vincent B. — La Rochelle l’usage exclusif de l’abonné (veuillez nous
préciser votre numéro d’abonné dans
toute correspondance, quel qu’en soit
Il s’agit de la fonction de saisie semi-automatique, active par défaut. Elle analyse le le support). Ils ne sont transmissibles en
texte tapé et le compare au contenu de cellules adjacentes dans la même colonne, aucune manière. Une seule question peut
afin de vous proposer automatiquement un complément au cas vous souhaiteriez ta- être posée dans une correspondance.
per des libellés identiques. Le complément n’est proposé que lorsque le contenu Pour l’ensemble de ces prestations, les
Editions PRAXIS sont soumises à une
n’est pas ambigu et qu’il est présent dans des cellules contiguës (au-dessus ou en- obligation de moyens. La responsabi-
dessous). Si cette fonction vous perturbe, cliquez sur Outils puis Options. Dans l’on- lité des Editions PRAXIS ne pourra être
glet Modifications, décochez la case Saisie semi-automatique des valeurs de cellule recherchée et engagée en cas d’absence
et validez par OK. de réponse ou de réponse partielle à
certaines questions.
Avec Excel 2007, cliquez sur le bouton Office puis sur Options Excel. Dans l’onglet
Options avancées, décochez la case Saisie semi-automatique L’abonné s’interdit toute diffusion ou
des valeurs de cellule et cliquez sur OK. commercialisation à titre onéreux ou
gratuit, sous quelque forme que ce
Nota Bene soit, des informations ou documents
mis à sa disposition. L’abonné s’engage
Quand cette fonction est activée, le raccourci clavier Alt + flèche vers le bas permet également à ce qu’il soit fait un usage
d’afficher une liste de choix avec les textes présents dans les autres cellules (contiguës licite et conforme au droit en vigueur des
informations fournies.
et dans la même colonne).
*0309010*

Tous droits réservés. Toute


Au sommaire du prochain numéro reproduction, même partielle
du contenu, de la mise en
Une macro prête à l'emploi pour créer facilement des copies de sauvegarde de vos page, de la couverture ou des
icônes, par quelque procédé
classeurs. que ce soit, est interdite sans
Créez des menus personnalisés dans vos applications VBA. l’autorisation par écrit des
Et, comme chaque mois, de nombreux autres trucs et astuces pour exceller au Editions PRAXIS.
quotidien !