SlideShare a Scribd company logo
1 of 6
Download to read offline
Votre Assistante : http://www.votreassistante.net - le 18/02/2015
Article écrit par Lydia Provin du blog
Votre Assistante : http://www.votreassistante.net
1
Créer un message d’alerte à l’ouverture d’Excel
Lorsque vous gérez des dates ou des quantités (pour la gestion des stocks), il peut être
intéressant de créer des alertes à l’ouverture du fichier Excel afin d’être averti qu’une date
approche ou qu’un stock est insuffisant. Vous pouvez créer une alerte grâce à la mise en forme
conditionnelle, mais elle sera seulement visuelle. Ce qui nous intéresse ici est d’avoir un
message d’alerte à l’ouverture du fichier qui ne passe pas inaperçu.
Pour cela, nous allons faire appel au langage VBA. Veillez donc à afficher le menu
Développeur comme nous l’avions vu au début du tutoriel sur le formulaire Excel.
Vous retrouverez le fichier utilisé dans ce tutoriel ainsi que le code VBA au format .txt dans
l’Espace Membres.
Nommer les cellules du fichier Excel :
Avant de saisir le code, il faut préparer notre fichier.
J’ai créé une formule SI (si la quantité est plus grande que le stock = 2 ; s’il est égal = 1, sinon
= 0) et appliqué une mise en forme conditionnelle :
 Si le stock est plus grand que le stock d’alerte, afficher l’icône verte ;
 Si le stock est égal au stock d’alerte, afficher l’icône orange ;
 Si le stock est plus petit que le stock d’alerte, afficher l’icône rouge.
J’ai ensuite demandé à Excel de n’afficher que l’icône.
Maintenant, je vais nommer mes colonnes afin qu’il n’y ait pas de problème de nom dans le
VBA par la suite. Je sélectionne la colonne Alerte sans son titre que je nomme Alerte_stock et
je fais de même avec la colonne Date de réception de la commande que je nomme
Alerte_commande. Les noms n’ont pas d’importance, vous pouvez les nommer comme vous le
souhaitez du moment que vous savez à quoi ils correspondent. Par contre, il est primordial de
ne pas sélectionner les titres des colonnes quand vous nommez vos plages, car la Valeur, que
nous allons voir par la suite, indiquerait le titre de la colonne A.
Nous pouvons passer à la programmation.
Votre Assistante : http://www.votreassistante.net - le 18/02/2015
Article écrit par Lydia Provin du blog
Votre Assistante : http://www.votreassistante.net
2
Créer une alerte en VBA sur Excel :
Cliquez sur Visual Basic dans le menu Développeur. Notre fichier ne comportant qu’un
seul onglet et souhaitant que l’alerte se fasse à l’ouverture du fichier, nous allons placer le code
dans ThisWorkbook en débutant par :
Private Sub Workbook_Open()
End Sub
On indique à quoi correspond le code en saisissant un commentaire commençant par une
apostrophe ce qui le fera passer en vert (à placer entre Private Sub… et End Sub) :
‘Pour les stocks
On déclare ensuite notre variable, à savoir les cellules de la colonne Alerte, comme une plage
de cellules. Vous pouvez mettre n’importe quel nom du moment qu’il ne contient pas d’espace :
Dim alertestock As Range
On crée une boucle avec For Each afin que l’action que nous programmons se répète autant de
fois qu’il y a de ligne à la colonne Alerte de notre fichier actif :
For Each alertestock In ActiveSheet.Range("Alerte_stock")
Next
Je souhaite avoir un message d’alerte du type La référence Pain, céréales… doit être
commandée. Il faut donc indiquer à Excel la valeur que je souhaite afficher dans mon message
entre les lignes For Each… et Next :
Valeur = Cells(alertestock.Row, 1)
Ce code indique que le nom Valeur est égal à la cellule correspond à la ligne concernée de la
colonne 1. C’est-à-dire que si Excel traite la cellule D2, il devra me renvoyer Riz. Le nom
Valeur peut être remplacé par n’importe quel nom sans espace.
Nous indiquons ensuite une condition, car nous ne souhaitons avoir une alerte qu’à certaines
conditions, à savoir quand l’alerte indique 0 (icône rouge).
Votre Assistante : http://www.votreassistante.net - le 18/02/2015
Article écrit par Lydia Provin du blog
Votre Assistante : http://www.votreassistante.net
3
Souhaitant que le message soit simplement un message d’alerte, on ne créera pas d’action si la
réponse est Oui ou Non, on fermera juste la boîte de dialogue après le clic sur le bouton Ok.
Le code doit indiquer Si la colonne Alerte = 0 Alors afficher le message Sinon ne rien faire. Le
message étant composé de texte et de références aux cellules, n’oubliez pas les guillemets et les
esperluettes (&) et surtout de terminer la condition par End If.
vbCritical affichera une croix rouge dans le message avec le son correspondant et Quantité en
stock insuffisante correspond au titre de la boîte de dialogue (à placer à la suite de Valeur) :
If alertestock = "0" Then
MsgBox "La référence " & Valeur & " doit être commandée.", vbCritical, "Quantité en stock
insuffisante"
Else
End If
Pour le moment, j’aurais donc, à l’ouverture du fichier, un message pour chaque ligne contenant
l’icône rouge. On fait la même chose pour un stock avec l’icône orange, c’est-à-dire dont le
résultat est 1 en plaçant le code juste après le code précédent où le 0 a été remplacé par 1 et où
le message est légèrement différent :
If alertestock = "1" Then
MsgBox "La référence " & Valeur & " devra bientôt être commandée.", vbExclamation, "Stock
presque insuffisant"
Else
End If
Ici, j’ai utilisé vbExclamation pour l’apparition d’un triangle jaune. Les autres possibilités sont
vbInformation (lettre i dans rond bleu) que nous allons utiliser juste après et vbQuestion (point
d’interrogation dans rond bleu). Les sons sont différents selon l’icône choisie.
Votre Assistante : http://www.votreassistante.net - le 18/02/2015
Article écrit par Lydia Provin du blog
Votre Assistante : http://www.votreassistante.net
4
On peut déjà tester ce code en fermant notre fichier (sans oublier de l’enregistrer) puis en le
rouvrant. Tous les messages s’affichent dans l’ordre du tableau.
Pour terminer, je souhaite être avertie lorsqu’une commande arrive le jour même. Pour cela,
placez-vous entre le dernier Next et End Sub pour retranscrire le même type de condition que
pour le stock, mais en l’adaptant. Cette fois la plage de cellule dans le VBA sera
alertecommande et celle du fichier Alerte_commande. La condition devra être Si la date
alertecommande est égale à aujourd’hui Alors afficher le message. Pour cela, la formule à
utiliser est Date :
‘Pour les commandes
Dim alertecommande As Range
For Each alertecommande In ActiveSheet.Range("Alerte_commande")
Valeur = Cells(alertecommande.Row, 1)
If alertecommande = Date Then
MsgBox "La référence " & Valeur & " sera livrée aujourd’hui.", vbCritical, "Réception d’une
commande"
Votre Assistante : http://www.votreassistante.net - le 18/02/2015
Article écrit par Lydia Provin du blog
Votre Assistante : http://www.votreassistante.net
5
Else
End If
Next
Pour être avertie de la livraison la veille (date du jour + 1), je place avant le dernier Next :
If alertecommande = Date + 1 Then
MsgBox "La référence " & Valeur & " sera livrée demain.", vbInformation, "Prochaine
commande"
Else
End If
Si vous souhaitez d’abord être averti de la date de livraison, il suffit d’intervertir les 2 codes et,
pour que ces alertes ne s’affichent que sur clic de bouton, créez un module
(Insertion > Module) qui reprend tout ce code en remplaçant Private Sub Workbook_Open()
par Sub Macro1() pour ensuite l’affecter à votre bouton.
Votre Assistante : http://www.votreassistante.net - le 18/02/2015
Article écrit par Lydia Provin du blog
Votre Assistante : http://www.votreassistante.net
6
Je peux maintenant refermer le fichier en l’enregistrant, je serais donc avertie à chaque fois que
le stock d’alerte est atteint, ou presque atteint, mais aussi lorsqu’une livraison a lieu le jour
même ou le suivant.

More Related Content

Viewers also liked

Retour d’expérience sur le business model d’un intégrateur os
Retour d’expérience sur le business model d’un intégrateur osRetour d’expérience sur le business model d’un intégrateur os
Retour d’expérience sur le business model d’un intégrateur osgtll_systematic
 
Web Quest Ana
Web Quest AnaWeb Quest Ana
Web Quest Anaanavilla
 
Les règles typographiques #1
Les règles typographiques #1Les règles typographiques #1
Les règles typographiques #1Votre Assistante
 
Datacenter ISO50001 et le CoC
Datacenter ISO50001 et le CoCDatacenter ISO50001 et le CoC
Datacenter ISO50001 et le CoCDidier Monestes
 
Beuchat présentation historique fr
Beuchat présentation historique frBeuchat présentation historique fr
Beuchat présentation historique frBeuchatInternational
 
Rapport du MNCP : Un autre regard sur les chômeurs - Avril 2012
Rapport du MNCP : Un autre regard sur les chômeurs - Avril 2012Rapport du MNCP : Un autre regard sur les chômeurs - Avril 2012
Rapport du MNCP : Un autre regard sur les chômeurs - Avril 2012Nathalie SALLES
 
À quoi servent les relations entre les tables Access et comment les créer ?
À quoi servent les relations entre les tables Access et comment les créer ?À quoi servent les relations entre les tables Access et comment les créer ?
À quoi servent les relations entre les tables Access et comment les créer ?Votre Assistante
 
Inria - Extrait du ctalogue logiciels technologies du web et de la mobilité a...
Inria - Extrait du ctalogue logiciels technologies du web et de la mobilité a...Inria - Extrait du ctalogue logiciels technologies du web et de la mobilité a...
Inria - Extrait du ctalogue logiciels technologies du web et de la mobilité a...Inria
 
Evaluac ión 3 marco teórico
Evaluac ión 3  marco teóricoEvaluac ión 3  marco teórico
Evaluac ión 3 marco teóricoAdalberto
 
eCommerce sur Ipad et autres tablettes tactiles
eCommerce sur Ipad et autres tablettes tactileseCommerce sur Ipad et autres tablettes tactiles
eCommerce sur Ipad et autres tablettes tactilesAdyax
 
L'influence, pointe de diamant de l'intelligence économique : le décryptage d...
L'influence, pointe de diamant de l'intelligence économique : le décryptage d...L'influence, pointe de diamant de l'intelligence économique : le décryptage d...
L'influence, pointe de diamant de l'intelligence économique : le décryptage d...Bruno Racouchot
 
Stratégies d'influence, le décryptage de François-Bernard Huyghe.
Stratégies d'influence, le décryptage de François-Bernard Huyghe.Stratégies d'influence, le décryptage de François-Bernard Huyghe.
Stratégies d'influence, le décryptage de François-Bernard Huyghe.Bruno Racouchot
 
Consecuencias de la tectónica de placas
Consecuencias de la tectónica de placasConsecuencias de la tectónica de placas
Consecuencias de la tectónica de placasBIO LBL
 
le journal le monde du 6-3-2012
le journal le monde du 6-3-2012le journal le monde du 6-3-2012
le journal le monde du 6-3-2012ahmed rahmouni
 
Puissances, marchés, territoires : le triptyque de la guerre économique décry...
Puissances, marchés, territoires : le triptyque de la guerre économique décry...Puissances, marchés, territoires : le triptyque de la guerre économique décry...
Puissances, marchés, territoires : le triptyque de la guerre économique décry...Bruno Racouchot
 

Viewers also liked (20)

Retour d’expérience sur le business model d’un intégrateur os
Retour d’expérience sur le business model d’un intégrateur osRetour d’expérience sur le business model d’un intégrateur os
Retour d’expérience sur le business model d’un intégrateur os
 
Future levels 02.09.13
Future levels 02.09.13Future levels 02.09.13
Future levels 02.09.13
 
Web Quest Ana
Web Quest AnaWeb Quest Ana
Web Quest Ana
 
Smart dust
Smart dustSmart dust
Smart dust
 
Quesreppol sne
Quesreppol sneQuesreppol sne
Quesreppol sne
 
Les règles typographiques #1
Les règles typographiques #1Les règles typographiques #1
Les règles typographiques #1
 
Verbraucher
VerbraucherVerbraucher
Verbraucher
 
Datacenter ISO50001 et le CoC
Datacenter ISO50001 et le CoCDatacenter ISO50001 et le CoC
Datacenter ISO50001 et le CoC
 
Beuchat présentation historique fr
Beuchat présentation historique frBeuchat présentation historique fr
Beuchat présentation historique fr
 
Rapport du MNCP : Un autre regard sur les chômeurs - Avril 2012
Rapport du MNCP : Un autre regard sur les chômeurs - Avril 2012Rapport du MNCP : Un autre regard sur les chômeurs - Avril 2012
Rapport du MNCP : Un autre regard sur les chômeurs - Avril 2012
 
À quoi servent les relations entre les tables Access et comment les créer ?
À quoi servent les relations entre les tables Access et comment les créer ?À quoi servent les relations entre les tables Access et comment les créer ?
À quoi servent les relations entre les tables Access et comment les créer ?
 
Inria - Extrait du ctalogue logiciels technologies du web et de la mobilité a...
Inria - Extrait du ctalogue logiciels technologies du web et de la mobilité a...Inria - Extrait du ctalogue logiciels technologies du web et de la mobilité a...
Inria - Extrait du ctalogue logiciels technologies du web et de la mobilité a...
 
Evaluac ión 3 marco teórico
Evaluac ión 3  marco teóricoEvaluac ión 3  marco teórico
Evaluac ión 3 marco teórico
 
eCommerce sur Ipad et autres tablettes tactiles
eCommerce sur Ipad et autres tablettes tactileseCommerce sur Ipad et autres tablettes tactiles
eCommerce sur Ipad et autres tablettes tactiles
 
L'influence, pointe de diamant de l'intelligence économique : le décryptage d...
L'influence, pointe de diamant de l'intelligence économique : le décryptage d...L'influence, pointe de diamant de l'intelligence économique : le décryptage d...
L'influence, pointe de diamant de l'intelligence économique : le décryptage d...
 
Stratégies d'influence, le décryptage de François-Bernard Huyghe.
Stratégies d'influence, le décryptage de François-Bernard Huyghe.Stratégies d'influence, le décryptage de François-Bernard Huyghe.
Stratégies d'influence, le décryptage de François-Bernard Huyghe.
 
Book Lucile Aigron
Book Lucile Aigron Book Lucile Aigron
Book Lucile Aigron
 
Consecuencias de la tectónica de placas
Consecuencias de la tectónica de placasConsecuencias de la tectónica de placas
Consecuencias de la tectónica de placas
 
le journal le monde du 6-3-2012
le journal le monde du 6-3-2012le journal le monde du 6-3-2012
le journal le monde du 6-3-2012
 
Puissances, marchés, territoires : le triptyque de la guerre économique décry...
Puissances, marchés, territoires : le triptyque de la guerre économique décry...Puissances, marchés, territoires : le triptyque de la guerre économique décry...
Puissances, marchés, territoires : le triptyque de la guerre économique décry...
 

Similar to Créer un message d’alerte à l’ouverture d’Excel

Explication du code VBA utilisé dans le tutoriel Créer un formulaire personna...
Explication du code VBA utilisé dans le tutoriel Créer un formulaire personna...Explication du code VBA utilisé dans le tutoriel Créer un formulaire personna...
Explication du code VBA utilisé dans le tutoriel Créer un formulaire personna...Votre Assistante
 
Comment transformer vos fichiers Excel en présentation PowerPoint en 1 clic ?
Comment transformer vos fichiers Excel en présentation PowerPoint en 1 clic ?Comment transformer vos fichiers Excel en présentation PowerPoint en 1 clic ?
Comment transformer vos fichiers Excel en présentation PowerPoint en 1 clic ?Votre Assistante
 
Comment alimenter une liste déroulante dans Word avec une liste Excel ?
Comment alimenter une liste déroulante dans Word avec une liste Excel ?Comment alimenter une liste déroulante dans Word avec une liste Excel ?
Comment alimenter une liste déroulante dans Word avec une liste Excel ?Votre Assistante
 
js---Partie1----.pdf
js---Partie1----.pdfjs---Partie1----.pdf
js---Partie1----.pdfMiRA452885
 
Comment réinitialiser (vider) une liste déroulante en cascade sur Excel ?
Comment réinitialiser (vider) une liste déroulante en cascade sur Excel ?Comment réinitialiser (vider) une liste déroulante en cascade sur Excel ?
Comment réinitialiser (vider) une liste déroulante en cascade sur Excel ?Votre Assistante
 
Comment compter les répétitions de caractères dans une cellule et créer une f...
Comment compter les répétitions de caractères dans une cellule et créer une f...Comment compter les répétitions de caractères dans une cellule et créer une f...
Comment compter les répétitions de caractères dans une cellule et créer une f...Votre Assistante
 
Javascript : que fait ce code?
Javascript : que fait ce code?Javascript : que fait ce code?
Javascript : que fait ce code?Ruau Mickael
 
Environnement de développement de bases de données
Environnement de développement de bases de donnéesEnvironnement de développement de bases de données
Environnement de développement de bases de donnéesISIG
 
Environnement de développement de bases de données
Environnement de développement de bases de donnéesEnvironnement de développement de bases de données
Environnement de développement de bases de donnéesISIG
 
Utiliser les formules de calculs basiques sur Excel – Partie 2/2 – Si, somme....
Utiliser les formules de calculs basiques sur Excel – Partie 2/2 – Si, somme....Utiliser les formules de calculs basiques sur Excel – Partie 2/2 – Si, somme....
Utiliser les formules de calculs basiques sur Excel – Partie 2/2 – Si, somme....Votre Assistante
 
Initiation à la programmation sous excel tutoriel2
Initiation à la programmation sous excel tutoriel2Initiation à la programmation sous excel tutoriel2
Initiation à la programmation sous excel tutoriel2Christophe Malpart
 
Notions de base de JavaScript
Notions de base de JavaScriptNotions de base de JavaScript
Notions de base de JavaScriptKristen Le Liboux
 
Liste des principaux codes VBA que j’utilise sur Access
Liste des principaux codes VBA que j’utilise sur AccessListe des principaux codes VBA que j’utilise sur Access
Liste des principaux codes VBA que j’utilise sur AccessVotre Assistante
 
Environnement de développement de bases de données
Environnement de développement de bases de donnéesEnvironnement de développement de bases de données
Environnement de développement de bases de donnéesISIG
 
mis
mismis
misISIG
 
Cours JavaScript.ppt
Cours JavaScript.pptCours JavaScript.ppt
Cours JavaScript.pptPROFPROF11
 
Visual studio
Visual studioVisual studio
Visual studioISIG
 

Similar to Créer un message d’alerte à l’ouverture d’Excel (20)

Explication du code VBA utilisé dans le tutoriel Créer un formulaire personna...
Explication du code VBA utilisé dans le tutoriel Créer un formulaire personna...Explication du code VBA utilisé dans le tutoriel Créer un formulaire personna...
Explication du code VBA utilisé dans le tutoriel Créer un formulaire personna...
 
Comment transformer vos fichiers Excel en présentation PowerPoint en 1 clic ?
Comment transformer vos fichiers Excel en présentation PowerPoint en 1 clic ?Comment transformer vos fichiers Excel en présentation PowerPoint en 1 clic ?
Comment transformer vos fichiers Excel en présentation PowerPoint en 1 clic ?
 
Comment alimenter une liste déroulante dans Word avec une liste Excel ?
Comment alimenter une liste déroulante dans Word avec une liste Excel ?Comment alimenter une liste déroulante dans Word avec une liste Excel ?
Comment alimenter une liste déroulante dans Word avec une liste Excel ?
 
js---Partie1----.pdf
js---Partie1----.pdfjs---Partie1----.pdf
js---Partie1----.pdf
 
Comment réinitialiser (vider) une liste déroulante en cascade sur Excel ?
Comment réinitialiser (vider) une liste déroulante en cascade sur Excel ?Comment réinitialiser (vider) une liste déroulante en cascade sur Excel ?
Comment réinitialiser (vider) une liste déroulante en cascade sur Excel ?
 
Comment compter les répétitions de caractères dans une cellule et créer une f...
Comment compter les répétitions de caractères dans une cellule et créer une f...Comment compter les répétitions de caractères dans une cellule et créer une f...
Comment compter les répétitions de caractères dans une cellule et créer une f...
 
Les bases du javascript
Les bases du javascriptLes bases du javascript
Les bases du javascript
 
Javascript : que fait ce code?
Javascript : que fait ce code?Javascript : que fait ce code?
Javascript : que fait ce code?
 
Environnement de développement de bases de données
Environnement de développement de bases de donnéesEnvironnement de développement de bases de données
Environnement de développement de bases de données
 
Environnement de développement de bases de données
Environnement de développement de bases de donnéesEnvironnement de développement de bases de données
Environnement de développement de bases de données
 
Promises Javascript
Promises JavascriptPromises Javascript
Promises Javascript
 
Utiliser les formules de calculs basiques sur Excel – Partie 2/2 – Si, somme....
Utiliser les formules de calculs basiques sur Excel – Partie 2/2 – Si, somme....Utiliser les formules de calculs basiques sur Excel – Partie 2/2 – Si, somme....
Utiliser les formules de calculs basiques sur Excel – Partie 2/2 – Si, somme....
 
Initiation à la programmation sous excel tutoriel2
Initiation à la programmation sous excel tutoriel2Initiation à la programmation sous excel tutoriel2
Initiation à la programmation sous excel tutoriel2
 
Notions de base de JavaScript
Notions de base de JavaScriptNotions de base de JavaScript
Notions de base de JavaScript
 
Liste des principaux codes VBA que j’utilise sur Access
Liste des principaux codes VBA que j’utilise sur AccessListe des principaux codes VBA que j’utilise sur Access
Liste des principaux codes VBA que j’utilise sur Access
 
Environnement de développement de bases de données
Environnement de développement de bases de donnéesEnvironnement de développement de bases de données
Environnement de développement de bases de données
 
Cours wpf avancé
Cours wpf avancéCours wpf avancé
Cours wpf avancé
 
mis
mismis
mis
 
Cours JavaScript.ppt
Cours JavaScript.pptCours JavaScript.ppt
Cours JavaScript.ppt
 
Visual studio
Visual studioVisual studio
Visual studio
 

More from Votre Assistante

Comment créer un effet de texte avec une ombre longue sur Illustrator ?
Comment créer un effet de texte avec une ombre longue sur Illustrator ?Comment créer un effet de texte avec une ombre longue sur Illustrator ?
Comment créer un effet de texte avec une ombre longue sur Illustrator ?Votre Assistante
 
Comment compacter une base de données Access en VBA.pdf
Comment compacter une base de données Access en VBA.pdfComment compacter une base de données Access en VBA.pdf
Comment compacter une base de données Access en VBA.pdfVotre Assistante
 
Comment créer un modèle de document Word ?
Comment créer un modèle de document Word ?Comment créer un modèle de document Word ?
Comment créer un modèle de document Word ?Votre Assistante
 
Comment ouvrir plusieurs images dans Camera Raw ?
Comment ouvrir plusieurs images dans Camera Raw ?Comment ouvrir plusieurs images dans Camera Raw ?
Comment ouvrir plusieurs images dans Camera Raw ?Votre Assistante
 
Comment créer des listes déroulantes en cascade à 3 niveaux sur Excel ?
Comment créer des listes déroulantes en cascade à 3 niveaux sur Excel ?Comment créer des listes déroulantes en cascade à 3 niveaux sur Excel ?
Comment créer des listes déroulantes en cascade à 3 niveaux sur Excel ?Votre Assistante
 
Comment créer un modèle de diaporama PowerPoint ?
Comment créer un modèle de diaporama PowerPoint ?Comment créer un modèle de diaporama PowerPoint ?
Comment créer un modèle de diaporama PowerPoint ?Votre Assistante
 
Comment calculer l'âge dans une base de données Access ?
Comment calculer l'âge dans une base de données Access ?Comment calculer l'âge dans une base de données Access ?
Comment calculer l'âge dans une base de données Access ?Votre Assistante
 
Comment modifier le contenu d’une liste déroulante en cascade si la précédent...
Comment modifier le contenu d’une liste déroulante en cascade si la précédent...Comment modifier le contenu d’une liste déroulante en cascade si la précédent...
Comment modifier le contenu d’une liste déroulante en cascade si la précédent...Votre Assistante
 
Comment utiliser et modifier des icônes Font Awesome sur Illustrator ?
Comment utiliser et modifier des icônes Font Awesome sur Illustrator ?Comment utiliser et modifier des icônes Font Awesome sur Illustrator ?
Comment utiliser et modifier des icônes Font Awesome sur Illustrator ?Votre Assistante
 
Comment créer un effet vignettage sur Photoshop ?
Comment créer un effet vignettage sur Photoshop ?Comment créer un effet vignettage sur Photoshop ?
Comment créer un effet vignettage sur Photoshop ?Votre Assistante
 
Comment cocher et décocher des cases à cocher en 1 clic dans un formulaire su...
Comment cocher et décocher des cases à cocher en 1 clic dans un formulaire su...Comment cocher et décocher des cases à cocher en 1 clic dans un formulaire su...
Comment cocher et décocher des cases à cocher en 1 clic dans un formulaire su...Votre Assistante
 
Comment insérer des données Excel dans PowerPoint avec ou sans mise à jour au...
Comment insérer des données Excel dans PowerPoint avec ou sans mise à jour au...Comment insérer des données Excel dans PowerPoint avec ou sans mise à jour au...
Comment insérer des données Excel dans PowerPoint avec ou sans mise à jour au...Votre Assistante
 
Pourquoi utiliser le menu Développeur de Microsoft et comment l’afficher sur ...
Pourquoi utiliser le menu Développeur de Microsoft et comment l’afficher sur ...Pourquoi utiliser le menu Développeur de Microsoft et comment l’afficher sur ...
Pourquoi utiliser le menu Développeur de Microsoft et comment l’afficher sur ...Votre Assistante
 
Comment numéroter certaines lignes dans Word ?
Comment numéroter certaines lignes dans Word ?Comment numéroter certaines lignes dans Word ?
Comment numéroter certaines lignes dans Word ?Votre Assistante
 
Comment créer un modèle de base de données Access ?
Comment créer un modèle de base de données Access ?Comment créer un modèle de base de données Access ?
Comment créer un modèle de base de données Access ?Votre Assistante
 
Comment créer un effet fourrure sur Illustrator ?
Comment créer un effet fourrure sur Illustrator ?Comment créer un effet fourrure sur Illustrator ?
Comment créer un effet fourrure sur Illustrator ?Votre Assistante
 
Comment créer une carte de vœux sur Photoshop avec un effet de sapin de Noël ...
Comment créer une carte de vœux sur Photoshop avec un effet de sapin de Noël ...Comment créer une carte de vœux sur Photoshop avec un effet de sapin de Noël ...
Comment créer une carte de vœux sur Photoshop avec un effet de sapin de Noël ...Votre Assistante
 
Comment créer un calendrier perpétuel sur Excel ?
Comment créer un calendrier perpétuel sur Excel ?Comment créer un calendrier perpétuel sur Excel ?
Comment créer un calendrier perpétuel sur Excel ?Votre Assistante
 
Créer un bonhomme de neige avec Illustrator
Créer un bonhomme de neige avec IllustratorCréer un bonhomme de neige avec Illustrator
Créer un bonhomme de neige avec IllustratorVotre Assistante
 
Pourquoi et comment créer un plan sur Excel ?
Pourquoi et comment créer un plan sur Excel ?Pourquoi et comment créer un plan sur Excel ?
Pourquoi et comment créer un plan sur Excel ?Votre Assistante
 

More from Votre Assistante (20)

Comment créer un effet de texte avec une ombre longue sur Illustrator ?
Comment créer un effet de texte avec une ombre longue sur Illustrator ?Comment créer un effet de texte avec une ombre longue sur Illustrator ?
Comment créer un effet de texte avec une ombre longue sur Illustrator ?
 
Comment compacter une base de données Access en VBA.pdf
Comment compacter une base de données Access en VBA.pdfComment compacter une base de données Access en VBA.pdf
Comment compacter une base de données Access en VBA.pdf
 
Comment créer un modèle de document Word ?
Comment créer un modèle de document Word ?Comment créer un modèle de document Word ?
Comment créer un modèle de document Word ?
 
Comment ouvrir plusieurs images dans Camera Raw ?
Comment ouvrir plusieurs images dans Camera Raw ?Comment ouvrir plusieurs images dans Camera Raw ?
Comment ouvrir plusieurs images dans Camera Raw ?
 
Comment créer des listes déroulantes en cascade à 3 niveaux sur Excel ?
Comment créer des listes déroulantes en cascade à 3 niveaux sur Excel ?Comment créer des listes déroulantes en cascade à 3 niveaux sur Excel ?
Comment créer des listes déroulantes en cascade à 3 niveaux sur Excel ?
 
Comment créer un modèle de diaporama PowerPoint ?
Comment créer un modèle de diaporama PowerPoint ?Comment créer un modèle de diaporama PowerPoint ?
Comment créer un modèle de diaporama PowerPoint ?
 
Comment calculer l'âge dans une base de données Access ?
Comment calculer l'âge dans une base de données Access ?Comment calculer l'âge dans une base de données Access ?
Comment calculer l'âge dans une base de données Access ?
 
Comment modifier le contenu d’une liste déroulante en cascade si la précédent...
Comment modifier le contenu d’une liste déroulante en cascade si la précédent...Comment modifier le contenu d’une liste déroulante en cascade si la précédent...
Comment modifier le contenu d’une liste déroulante en cascade si la précédent...
 
Comment utiliser et modifier des icônes Font Awesome sur Illustrator ?
Comment utiliser et modifier des icônes Font Awesome sur Illustrator ?Comment utiliser et modifier des icônes Font Awesome sur Illustrator ?
Comment utiliser et modifier des icônes Font Awesome sur Illustrator ?
 
Comment créer un effet vignettage sur Photoshop ?
Comment créer un effet vignettage sur Photoshop ?Comment créer un effet vignettage sur Photoshop ?
Comment créer un effet vignettage sur Photoshop ?
 
Comment cocher et décocher des cases à cocher en 1 clic dans un formulaire su...
Comment cocher et décocher des cases à cocher en 1 clic dans un formulaire su...Comment cocher et décocher des cases à cocher en 1 clic dans un formulaire su...
Comment cocher et décocher des cases à cocher en 1 clic dans un formulaire su...
 
Comment insérer des données Excel dans PowerPoint avec ou sans mise à jour au...
Comment insérer des données Excel dans PowerPoint avec ou sans mise à jour au...Comment insérer des données Excel dans PowerPoint avec ou sans mise à jour au...
Comment insérer des données Excel dans PowerPoint avec ou sans mise à jour au...
 
Pourquoi utiliser le menu Développeur de Microsoft et comment l’afficher sur ...
Pourquoi utiliser le menu Développeur de Microsoft et comment l’afficher sur ...Pourquoi utiliser le menu Développeur de Microsoft et comment l’afficher sur ...
Pourquoi utiliser le menu Développeur de Microsoft et comment l’afficher sur ...
 
Comment numéroter certaines lignes dans Word ?
Comment numéroter certaines lignes dans Word ?Comment numéroter certaines lignes dans Word ?
Comment numéroter certaines lignes dans Word ?
 
Comment créer un modèle de base de données Access ?
Comment créer un modèle de base de données Access ?Comment créer un modèle de base de données Access ?
Comment créer un modèle de base de données Access ?
 
Comment créer un effet fourrure sur Illustrator ?
Comment créer un effet fourrure sur Illustrator ?Comment créer un effet fourrure sur Illustrator ?
Comment créer un effet fourrure sur Illustrator ?
 
Comment créer une carte de vœux sur Photoshop avec un effet de sapin de Noël ...
Comment créer une carte de vœux sur Photoshop avec un effet de sapin de Noël ...Comment créer une carte de vœux sur Photoshop avec un effet de sapin de Noël ...
Comment créer une carte de vœux sur Photoshop avec un effet de sapin de Noël ...
 
Comment créer un calendrier perpétuel sur Excel ?
Comment créer un calendrier perpétuel sur Excel ?Comment créer un calendrier perpétuel sur Excel ?
Comment créer un calendrier perpétuel sur Excel ?
 
Créer un bonhomme de neige avec Illustrator
Créer un bonhomme de neige avec IllustratorCréer un bonhomme de neige avec Illustrator
Créer un bonhomme de neige avec Illustrator
 
Pourquoi et comment créer un plan sur Excel ?
Pourquoi et comment créer un plan sur Excel ?Pourquoi et comment créer un plan sur Excel ?
Pourquoi et comment créer un plan sur Excel ?
 

Créer un message d’alerte à l’ouverture d’Excel

  • 1. Votre Assistante : http://www.votreassistante.net - le 18/02/2015 Article écrit par Lydia Provin du blog Votre Assistante : http://www.votreassistante.net 1 Créer un message d’alerte à l’ouverture d’Excel Lorsque vous gérez des dates ou des quantités (pour la gestion des stocks), il peut être intéressant de créer des alertes à l’ouverture du fichier Excel afin d’être averti qu’une date approche ou qu’un stock est insuffisant. Vous pouvez créer une alerte grâce à la mise en forme conditionnelle, mais elle sera seulement visuelle. Ce qui nous intéresse ici est d’avoir un message d’alerte à l’ouverture du fichier qui ne passe pas inaperçu. Pour cela, nous allons faire appel au langage VBA. Veillez donc à afficher le menu Développeur comme nous l’avions vu au début du tutoriel sur le formulaire Excel. Vous retrouverez le fichier utilisé dans ce tutoriel ainsi que le code VBA au format .txt dans l’Espace Membres. Nommer les cellules du fichier Excel : Avant de saisir le code, il faut préparer notre fichier. J’ai créé une formule SI (si la quantité est plus grande que le stock = 2 ; s’il est égal = 1, sinon = 0) et appliqué une mise en forme conditionnelle :  Si le stock est plus grand que le stock d’alerte, afficher l’icône verte ;  Si le stock est égal au stock d’alerte, afficher l’icône orange ;  Si le stock est plus petit que le stock d’alerte, afficher l’icône rouge. J’ai ensuite demandé à Excel de n’afficher que l’icône. Maintenant, je vais nommer mes colonnes afin qu’il n’y ait pas de problème de nom dans le VBA par la suite. Je sélectionne la colonne Alerte sans son titre que je nomme Alerte_stock et je fais de même avec la colonne Date de réception de la commande que je nomme Alerte_commande. Les noms n’ont pas d’importance, vous pouvez les nommer comme vous le souhaitez du moment que vous savez à quoi ils correspondent. Par contre, il est primordial de ne pas sélectionner les titres des colonnes quand vous nommez vos plages, car la Valeur, que nous allons voir par la suite, indiquerait le titre de la colonne A. Nous pouvons passer à la programmation.
  • 2. Votre Assistante : http://www.votreassistante.net - le 18/02/2015 Article écrit par Lydia Provin du blog Votre Assistante : http://www.votreassistante.net 2 Créer une alerte en VBA sur Excel : Cliquez sur Visual Basic dans le menu Développeur. Notre fichier ne comportant qu’un seul onglet et souhaitant que l’alerte se fasse à l’ouverture du fichier, nous allons placer le code dans ThisWorkbook en débutant par : Private Sub Workbook_Open() End Sub On indique à quoi correspond le code en saisissant un commentaire commençant par une apostrophe ce qui le fera passer en vert (à placer entre Private Sub… et End Sub) : ‘Pour les stocks On déclare ensuite notre variable, à savoir les cellules de la colonne Alerte, comme une plage de cellules. Vous pouvez mettre n’importe quel nom du moment qu’il ne contient pas d’espace : Dim alertestock As Range On crée une boucle avec For Each afin que l’action que nous programmons se répète autant de fois qu’il y a de ligne à la colonne Alerte de notre fichier actif : For Each alertestock In ActiveSheet.Range("Alerte_stock") Next Je souhaite avoir un message d’alerte du type La référence Pain, céréales… doit être commandée. Il faut donc indiquer à Excel la valeur que je souhaite afficher dans mon message entre les lignes For Each… et Next : Valeur = Cells(alertestock.Row, 1) Ce code indique que le nom Valeur est égal à la cellule correspond à la ligne concernée de la colonne 1. C’est-à-dire que si Excel traite la cellule D2, il devra me renvoyer Riz. Le nom Valeur peut être remplacé par n’importe quel nom sans espace. Nous indiquons ensuite une condition, car nous ne souhaitons avoir une alerte qu’à certaines conditions, à savoir quand l’alerte indique 0 (icône rouge).
  • 3. Votre Assistante : http://www.votreassistante.net - le 18/02/2015 Article écrit par Lydia Provin du blog Votre Assistante : http://www.votreassistante.net 3 Souhaitant que le message soit simplement un message d’alerte, on ne créera pas d’action si la réponse est Oui ou Non, on fermera juste la boîte de dialogue après le clic sur le bouton Ok. Le code doit indiquer Si la colonne Alerte = 0 Alors afficher le message Sinon ne rien faire. Le message étant composé de texte et de références aux cellules, n’oubliez pas les guillemets et les esperluettes (&) et surtout de terminer la condition par End If. vbCritical affichera une croix rouge dans le message avec le son correspondant et Quantité en stock insuffisante correspond au titre de la boîte de dialogue (à placer à la suite de Valeur) : If alertestock = "0" Then MsgBox "La référence " & Valeur & " doit être commandée.", vbCritical, "Quantité en stock insuffisante" Else End If Pour le moment, j’aurais donc, à l’ouverture du fichier, un message pour chaque ligne contenant l’icône rouge. On fait la même chose pour un stock avec l’icône orange, c’est-à-dire dont le résultat est 1 en plaçant le code juste après le code précédent où le 0 a été remplacé par 1 et où le message est légèrement différent : If alertestock = "1" Then MsgBox "La référence " & Valeur & " devra bientôt être commandée.", vbExclamation, "Stock presque insuffisant" Else End If Ici, j’ai utilisé vbExclamation pour l’apparition d’un triangle jaune. Les autres possibilités sont vbInformation (lettre i dans rond bleu) que nous allons utiliser juste après et vbQuestion (point d’interrogation dans rond bleu). Les sons sont différents selon l’icône choisie.
  • 4. Votre Assistante : http://www.votreassistante.net - le 18/02/2015 Article écrit par Lydia Provin du blog Votre Assistante : http://www.votreassistante.net 4 On peut déjà tester ce code en fermant notre fichier (sans oublier de l’enregistrer) puis en le rouvrant. Tous les messages s’affichent dans l’ordre du tableau. Pour terminer, je souhaite être avertie lorsqu’une commande arrive le jour même. Pour cela, placez-vous entre le dernier Next et End Sub pour retranscrire le même type de condition que pour le stock, mais en l’adaptant. Cette fois la plage de cellule dans le VBA sera alertecommande et celle du fichier Alerte_commande. La condition devra être Si la date alertecommande est égale à aujourd’hui Alors afficher le message. Pour cela, la formule à utiliser est Date : ‘Pour les commandes Dim alertecommande As Range For Each alertecommande In ActiveSheet.Range("Alerte_commande") Valeur = Cells(alertecommande.Row, 1) If alertecommande = Date Then MsgBox "La référence " & Valeur & " sera livrée aujourd’hui.", vbCritical, "Réception d’une commande"
  • 5. Votre Assistante : http://www.votreassistante.net - le 18/02/2015 Article écrit par Lydia Provin du blog Votre Assistante : http://www.votreassistante.net 5 Else End If Next Pour être avertie de la livraison la veille (date du jour + 1), je place avant le dernier Next : If alertecommande = Date + 1 Then MsgBox "La référence " & Valeur & " sera livrée demain.", vbInformation, "Prochaine commande" Else End If Si vous souhaitez d’abord être averti de la date de livraison, il suffit d’intervertir les 2 codes et, pour que ces alertes ne s’affichent que sur clic de bouton, créez un module (Insertion > Module) qui reprend tout ce code en remplaçant Private Sub Workbook_Open() par Sub Macro1() pour ensuite l’affecter à votre bouton.
  • 6. Votre Assistante : http://www.votreassistante.net - le 18/02/2015 Article écrit par Lydia Provin du blog Votre Assistante : http://www.votreassistante.net 6 Je peux maintenant refermer le fichier en l’enregistrant, je serais donc avertie à chaque fois que le stock d’alerte est atteint, ou presque atteint, mais aussi lorsqu’une livraison a lieu le jour même ou le suivant.