Fonction IsNumeric – Attention aux guillemets

Bonjour à tous,

xl-en-bref 1 1En bref : attention à la fonction VBA "IsNumeric", car cette fonction va retourner Vrai (True), même pour une chaîne de caractère comme "1".

Je suis en train de travailler sur des fonctions très spécifiques pour la prochaine formation VBA avancé sur les arrays !
Il va être très complet et super utile 🙂

Au passage, je suis tombé sur la fonction IsNumeric et une "limite" assez dangereuse (source : Cheap Pearson).

Ce code va ainsi retourner 12, au lieu de 3 !

Sub test_AttentionIsNumeric()
Dim V1 As Variant
Dim V2 As Variant
V1 = "1"
V2 = "2"
If IsNumeric(V1) = True Then
If IsNumeric(V2) = True Then
MsgBox V1 + V2
End If
End If
End Sub

Donc, il faut faire très attention à la fonction IsNumeric, car elle va retourner la valeur Vraie (True), même s'il s'agit d'une string (chaîne de caractères), et le '+' va se comporter comme un '&'.

[EDIT]: suite à un commentaire de Raphaël, vous pouvez faire une conversion des strings avant utilisation, en utilisant ces fonctions : CDbl ou CLng. Il existe d'autres fonctions de conversion pour d'autres cas de figure : CStr, CVar, CDate, etc.

A bientôt.

Gaëtan

Attention aux graphiques “courbe empilée”

Bonjour à tous,

Voici une erreur qui est classique, mais parfois difficile à repérer.

Lorsque vous créez un graphique en courbe, une manipulation un peu trop rapide peut vous amener à créer un graphique en courbe empilée. Ainsi, lorsque vous insérer un graphique, ces deux types de graphiques sont différents.

graphiques pas identiques

Le premier est celui que vous utilisez de manière assez classique, alors que le second correspond à des courbes empilées, et dont la lecture et l'interprétation est tout à fait différente.

Cordialement

Gaëtan Mourmant

Aperçu avant impression

Parfois, ce sont les choses les plus évidentes que l'on oublie !

Voici la question d'un lecteur : "Comment créer une macro pour visualiser l'aperçu avant impression et l'ajouter à la barre d'accès rapide ?".

[Edit] comme indiqué par kris et elhassan dans les commentaires, le plus rapide est sans doute les touches deraccourci CTRL + F2 et CTRL + P.

La réponse pourrait être cette macro :
Sub apercu()
Application.Dialogs(xlDialogPrintPreview).Show
End Sub

Mais beaucoup plus simplement, il suffit d'ajouter le bouton d'aperçu avant impression :
Tout d'abord, affichez et ensuite personnalisez la barre d'accès rapide, via un clic droit sur le ruban :
personnaliser barre acces rapide

Puis, sélectionnez Toutes les commanes, Aperçu avant impression et vous l'ajoutez à votre barre :
barreaccesrapide

Et voilà !

Cordialement

Gaetan Mourmant