Aller au menu - Aller au contenu

Icône Bonnes pratiques et débogage des formules

Avatar
Avatar
Avatar
Mise à jour : 05/09/2011
Difficulté : Facile Facile Creative Commons BY-NC-SA
9 728 visites depuis 7 jours, dont 140 sur ce chapitre classé 26/786
Voici une annexe au nom bien tordu et intellectuel mais pourtant, c'est vraiment essentiel pour tout utilisateur de Excel qui se respecte. :-°

Une bonne pratique, c'est une bonne habitude à prendre. Bonne dans la mesure où elle va vous rendre la saisie ou encore la lecture des données plus facile. Nous allons aussi voir comment résoudre d'éventuelles erreurs qui peuvent survenir lors d'un travail sur des formules.
Sommaire du chapitre :
Icône du chapitre
Chapitre précédent Sommaire Chapitre suivant

Bonnes pratiques

Manipulation des feuilles de calcul



Les feuilles de calcul peuvent être supprimées, déplacées ou renommées. Toutes ces actions sont disponibles par un clic-droit sur l'onglet de la feuille, en bas à gauche de la fenêtre.

Saisie et lecture des données



Évitez de commencer votre saisie dans la cellule A1. Plus généralement, dans le première colonne et la première ligne. Pourquoi ? Excel possède une zone de travail immense (des centaines de milliers de lignes etc.). Aujourd'hui, la taille des écrans permet à tous d'afficher sans avoir à faire défiler la zone de travail au moins 8 colonnes et 30 lignes. Dans ce cas, pourquoi tout tasser sur les étiquettes du quadrillage ? Aérez vos plages, donnez envie à quelqu'un d'y plonger son nez dedans !
Après, c'est une question d'esthétique, chacun fait comme il le souhaite mais concédez tout de même qu'il est bête de laisser de côté toute la zone centrale.

Le quadrillage rend la lecture difficile. Enlevons-le !

Évitez d'écrire dans la colonne I. La lettre I se confond facilement dans les conditions, et pire, se perd dans le code VBA. Sous Excel, ce ne sont pas les colonnes qui manquent. Faite un clic droit sur la colonne I et cliquez sur Masquer.

Débogage des formules

Lorsque vous saisissez des formules, ça peut parfois rater. C'est-à-dire qu'à la place du résultat souhaité, vous avez des dièses (#), des slashs (/) partout.

Heureusement, il y a une solution à tous, et je suis là pour vous la donner.
Nous allons traiter les cas les plus courants un à un.

#DIV/0!


Lorsque vous rencontrez cette erreur, c'est que votre formule fait une division par 0.
N'oubliez pas que pour Excel, une cellule vide a pour valeur 0 !!

#NOM?


Cela signifie que vous avez tapé une fonction que Excel ne connaît pas.
Voici un exemple de formule à erreur :

=PROD(A2;E4)

PROD n'est pas une fonction reconnue.

#VALEUR!


Votre formule utilise dans son calcul une valeur que Excel ne peut pas utiliser.
Voici l'exemple classique :

Image utilisateur

Excel ne peut pas faire 2 + 3 + Salut !
Normal, même vous ne le pouvez pas ! :p Alors il renvoie une belle erreur.

#######


Le nombre comprend trop de chiffre pour pouvoir être affiché avec cette largeur de colonne.
Voici un exemple :
Image utilisateur

Il faut alors élargir la colonne, soit en cliquant et en glissant vers la droite, soit en double cliquant sur la même zone que le cliquer-déplacer. La colonne se met automatiquement à la largeur minimale pour afficher le texte des cellules.
Voilà, souvenez-vous de ces bonnes pratiques. ;)
Chapitre précédent Sommaire Chapitre suivant

Partager

4 commentaires pour "Bonnes pratiques et débogage des formules"
Note moyenne : 3.67 / 4 (100 votes)
Pseudo Commentaire
Hors ligne yakork # Posté le 29/12/2009 à 22:41:47
Je suis toujours là
Avatar

J'adore ! Les explications sont claires mais j'ai cru discerner quelques fautes d'orthographe ("Je savais que vous alliez être d'accord !") mais sinon c'est vraiment bien. Une bonne idée... Un bon rédacteur... Ma foi si la motivation est là ça devrait faire des ravages ! :)

Mais au fait : l'ouïe, comment ça marche ?

raise ValueError("Bonne question !")
 
Hors ligne ameno # Posté le 02/01/2010 à 14:03:56
Egypte, you miss me !
Avatar

Ville : Le raincy
Pays : France métropolitaine

C'est un bon début, juste une précision concernant le chapitre Débogage des formules :

la formule =SOMME(G14;G15;G16) fonctionne puisque la fonction SOMME ignore les valeurs textes (résultat 5), par contre la formule = G14 + G15 + G16 donne bien une valeur d'erreur puisqu'elle opère sur l'opérateur (idem avec soustraction, multiplication, division)

Image utilisateur

La vie est pleine de surprises... Profitons-en !!! :p
 
Hors ligne Lone-gan # Posté le 07/03/2010 à 15:33:39
C'est beau d'être ignorant.
Avatar

Bonjour,

je viens de créer un UserForm avec des TextBox et les boutons Valider et Quitter.

J'ai fais ceci sur deux feuilles, Agenda pour le formulaire,
Liste pour l'enregistrement des données.

J'aimerais que, après avoir saisi les données, suite au clic sur Valider, les TextBox soient effacés.

Voici le code:

Private Sub cmdValider_Click()
Sheets("Liste").Range("A65536").End(xlUp).Offset(1, 0).Value = Nom.Value
Sheets("Liste").Range("B65536").End(xlUp).Offset(1, 0).Value = Prénom.Value
Sheets("Liste").Range("C65536").End(xlUp).Offset(1, 0).Value = Adresse.Value
Sheets("Liste").Range("D65536").End(xlUp).Offset(1, 0).Value = Code_Postal.Value
Sheets("Liste").Range("E65536").End(xlUp).Offset(1, 0).Value = Ville.Value
Sheets("Liste").Range("F65536").End(xlUp).Offset(1, 0).Value = Téléphone.Value
Sheets("Liste").Range("G65536").End(xlUp).Offset(1, 0).Value = Natel.Value
End Sub
--------------------------------

J'ai trouver ceci sur le Web, mais comme je débute en VBA Excel,
je ne sais pas comment compiler et si il est correct.

foreach (Control c in this.Controls)
if(c is TextBox) c.Text = String.Empty;

J'aimerais incorporer deux images dans le formulaire.

Pourriez-vous me donner un coup de main?
Merci d'avance

:ange: Par-ce que l'on apprend tout les jours.
 
Hors ligne Lone-gan # Posté le 08/03/2010 à 06:02:05
C'est beau d'être ignorant.
Avatar

ça y est, j'ai trouvé la solution.
Voici le code:

Private Sub cmdValider_Click()
Sheets("Liste").Range("A65536").End(xlUp).Offset(1, 0).Value = Nom.Value
Sheets("Liste").Range("B65536").End(xlUp).Offset(1, 0).Value = Prénom.Value
Sheets("Liste").Range("C65536").End(xlUp).Offset(1, 0).Value = Adresse.Value
Sheets("Liste").Range("D65536").End(xlUp).Offset(1, 0).Value = Code_Postal.Value
Sheets("Liste").Range("E65536").End(xlUp).Offset(1, 0).Value = Ville.Value
Sheets("Liste").Range("F65536").End(xlUp).Offset(1, 0).Value = Téléphone.Value
Sheets("Liste").Range("G65536").End(xlUp).Offset(1, 0).Value = Natel.Value
For Each c In Agenda.Controls
If TypeName(c) = "TextBox" Then
c.Value = ""
End If
Next c
End Sub

Celui-ci permet de faire des enregistrements à la suite et efface le contenu dans les TextBox au moment de la validation.

:ange: Par-ce que l'on apprend tout les jours.
 

Voir tous les commentaires