ASTUCE : TRANSFORMER UN MOIS EN NOMBRE POUR L'UTILISER DANS UNE FORMULE EXCEL (avec et sans VBA)

Guide « 108 astuces pour grands débutants sur Excel ! » Offert
Booster votre productivité en téléchargeant gratuitement votre ebook PDF des meilleures astuces pour les débutants et les pros d'Excel
Excel formation - 00 Astuces - 100
 

Dans ce nouveau tutoriel, qui s’inscrit directement dans la série de cours sur l’apprentissage des dates et des heures dans Excel, je vais vous montrer comment transformer rapidement un mois exprimé en toutes lettres en un simple nombre. Nous découvrirons deux méthodes, l’une reposant sur une formule Excel et l’autre sur une fonction personnalisée de VBA. Restez bien jusqu’au bout de la vidéo pour découvrir un cas d’étude concret !

 

Téléchargement

Vous pouvez télécharger le fichier d'exemple de cet article en cliquant sur le lien suivant :

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
 

 

Tutoriel Vidéo

 

Vous trouverez très régulièrement de nouvelles vidéos sur la chaîne, alors pensez à vous abonner pour ne manquer aucune astuce et devenir rapidement un pro d’Excel (cliquez-ici) !

 

1. Présentation

Parfois lorsque nous construisons nos formules dans Excel il peut arriver que nous soyons bloqués par des mois qui sont exprimés différemment entre les différents tableaux manipulés.

Par exemple, imaginons que nous ayons une base de données dans laquelle nous retrouvons les ventes réalisées par des commerciaux au cours d’une année, présentées par mois et par commercial :

Excel formation - 041 Astuces transformer un mois en chiffre - 01

Ensuite, nous souhaitons synthétiser le montant de ces ventes par mois dans un second tableau (sans créer de nouvelle colonne évidemment) :

Excel formation - 041 Astuces transformer un mois en chiffre - 02

Ici nous voyons bien que les mois de l’année sont saisis en toutes lettres.

Comment faire pour exploiter les données figurant dans ces deux tableaux ?

 

2. Transformer un mois en nombre avec une formule

Tout d’abord, voyons comment faire pour convertir rapidement un mois en lettres en une valeur numérique.

Pour arriver à nos fins, nous allons exploiter une petite astuce qui repose sur le fait qu’Excel est capable d’interpréter une date saisie en toutes lettres.

Pour nous en rendre compte, il suffit de la saisir dans une cellule :

Excel formation - 041 Astuces transformer un mois en chiffre - 03

Nous voyons alors qu’Excel modifie directement l’affichage de la cellule lorsque nous validons :

Excel formation - 041 Astuces transformer un mois en chiffre - 04

À partir de là, nous allons pouvoir créer une date de toute pièce à partir du mois en lettres saisi dans une cellule, en utilisant le symbole de concaténation « & » :

Excel formation - 041 Astuces transformer un mois en chiffre - 05

À ce moment-là, Excel n’a pas encore compris qu’il s’agit qu’une date, et traite le résultat de cette cellule comme une simple chaîne de caractères :

Excel formation - 041 Astuces transformer un mois en chiffre - 06

En effet, nous pouvons constater que le contenu de la cellule est aligné sur la gauche, alors que les dates sont alignées sur la droite.

Mais cette chaîne de caractères est suffisante pour être saisie en tant qu’argument de la fonction MOIS() qui permet comme nous l’avons déjà vu dans un [#INSERER UN LIEN] précédent chapitre de la formation sur la gestion des dates dans EXCEL de récupérer le mois qui correspond à une date :

=MOIS("02/"&I5&"/2019")

Excel formation - 041 Astuces transformer un mois en chiffre - 07

 

Ce qui permet comme vous pouvez le constater ci-dessous de récupérer le numéro du mois qui correspond :

Excel formation - 041 Astuces transformer un mois en chiffre - 08

Évidemment, le jours et le mois que nous utilisons dans la formule ne sont que pour construire la date source et n’ont aucune importance étant donné qu’ils sont supprimés juste après par la formule MOIS().

 

3. Transformer un mois en nombre avec une fonction personnalisée VBA

Maintenant que nous avons construit une formule EXCEL, nous allons voir comment arriver au même résultat en partant d’une fonction personnalisée, que nous allons écrire en VBA.

Cela permettra par la suite de pouvoir retrouver cette fonction afin d’effectuer la conversion très rapidement.

Si vous n’avez encore jamais utilisé VBA, je vous invite à suivre [#LIEN] la formation gratuite disponible sur excelformation.fr en cliquant ici.

En tout cas, pas de panique, nous allons décrire chacune des étapes de construction.

Tout d’abord, nous lançons l’éditeur de code VBE en appuyant sur les touches [Alt] + [f11] :

Excel formation - 041 Astuces transformer un mois en chiffre - 09

Ensuite nous insérons un nouveau module, qui est en quelques sorte une feuille dans laquelle nous allons pouvoir saisir simplement notre code (Menu Insertion/Module) :

Excel formation - 041 Astuces transformer un mois en chiffre - 10

Pour créer une fonction personnalisée, nous utilisons le mot clé function suivi du nom de la fonction :

Function moisEnNombre()

End Function

Ensuite, nous ajouter un argument à la fonction qui permettra à l’utilisateur de saisir le mois en toutes lettres :

Function moisEnNombre()

End Function

Cette variable mois est typée en tant que String, c’est-à-dire que celle-ci va permettre de gérer une chaîne de caractères.

Ne reste plus qu’à retourner à l’utilisateur le numéro de mois, en procédant exactement comme nous l’avions fait dans la feuille de calcul :

Function moisEnNombre(mois As String)

    moisEnNombre = Month(mois & "/1/2019")

End Function

En effet, nous extrayons ici le mois qui correspond à la date créer de toute pièce à partir du mois donné en argument.

Attention toutefois à une petite subtilité : en VBA, les dates sont exprimées suivant le formatage US, c’est-à-dire sous la forme m/d/y (d’abord le mois, puis le jour et pour finir l’année).

Ne reste plus qu’à tester cette fonction dans la feuille de calcul en modifiant la formule saisie juste avant :

(CODE) =moisEnNombre(I5) (/CODE)

Excel formation - 041 Astuces transformer un mois en chiffre - 11

Ensuite, vous pourrez enregistrer le classeur sous le format *.xlsm pour enregistrer la macro, ou mieux encore créer un classeur de macro complémentaires pour le retrouver dans l’ensemble de vos feuilles de calculs

 

4. Application

Enfin, si nous revenons sur cas d’étude initial, nous pouvons maintenant simplement réutiliser l’une de ces deux méthodes pour déterminer les montants de CA mensuels :

​​​​​​​=SOMME.SI(_base[Mois];moisEnNombre([@Mois]);_base[CA])

 

 

Excel formation - 041 Astuces transformer un mois en chiffre - 12

 

 



Articles qui pourraient vous intéresser

L’erreur cachée qui plombe vos tableaux Excel (et comment l’éviter)
Comment entourer automatiquement cellules non conformes Excel sans MF conditionnelle ni formule ?
Comment créer un tableau de bord commercial intelligent avec Excel ?
Comment créer un graphique dessiné à la main avec Excel ?
Comment créer un graphique de distribution en 5 minutes chrono ?
L’astuce Excel pour imprimer le tableau que vous voulez en un clic !
Comment gérer ses comptes sur Excel avec le « Suivi du budget familial »
Comment créer facilement des QR codes sans VBA avec Excel ?
Transformez vos données en graphique tornade interactif facilement sur Excel !
Comment créer un graphique Iceberg dans Excel ?
Comment créer un graphique dynamique en quelques minutes sur Excel sans VBA ni TCD ?
Comment créer des feux de signalisation tricolores dynamiques dans Excel sans VBA ?

Contact - Plan du site - À propos - Contact

© Excelformation.fr 2018-2024 - Excel, simplement

Haut de la page

Excelformation.fr propose de nombreuses formations pratiques et gratuites sur Microsoft Excel : des cours pour apprendre à structurer et analyser les données, des tutos sur les fonctions avancées, les formules et les formules avancées d'Excel, les formules matricielles, les mise-en-formes conditionnelles, les graphiques Excel (xls, xlsx, xlsm,…). Des tutoriels pour apprendre à automatiser les tâches répétitives (via des macro-commandes en VBA) de vos classeurs Excel.