Microsoft 365 création d'un message d'alerte

luc50*

XLDnaute Nouveau
bonjour
je souhaite crée en vba un message d'alerte ( texte de mon choix) dans le fichier ci joint pour le groupe de case (ai11:aq12) lorsque ce dernier et vide
par avance merci
 

Pièces jointes

  • CRMP3.0 TEST ALERTE.xlsm
    852.1 KB · Affichages: 28

luc50*

XLDnaute Nouveau
VOLIA AVEC LE FICHIER NETOYER
MA QUESTION RESTE LA MEME JE SOUHAITE CREE UN MESSAGE D'ALERTE QUI BLOQUE L' ENREGISTREMENT SI CERTAINES CASE OU GROUPE DE CASES NE SONT PAS REMPLI
EX :SI LE GROUPE DE CASE (AI11:AQ12) N'EST PAS REMPLI L'ENREGISTREMENT DU FICHIER NE SE FAIT PAS ET UN MASAGE D'ALERTE ME DEMANDANT DE REMPLI CETTE PARTIE APPARAIT
CORDIALEMENT
 

Pièces jointes

  • CRMP3.0 TEST ALERTE.xlsm
    844.7 KB · Affichages: 11

Phil69970

XLDnaute Accro
Bonjour @luc50* , le forum

Je te propose :
Pour l'enregistrement
VB:
Sub CRMP2ENREGISTREMENT()
Dim Chemin As String, NomFichier As String
If Range("AI11").Value = "" Then MsgBox "Enregistrement impossible, N° de consultation téléservice vide", vbCritical, "Manque donnée !": Exit Sub
'.....reste du code

Pour l'impression
VB:
Sub CRMP2IMPRIMER()
If Range("AI11").Value = "" Then MsgBox "Impression impossible, N° de consultation téléservice vide", vbCritical, "Manque donnée !": Exit Sub
'.....reste du code

Pour l'envoi de mail
VB:
Sub crmp2021mail()
If Range("AI11").Value = "" Then MsgBox "Envoi mail impossible, N° de consultation téléservice vide", vbCritical, "Manque donnée !": Exit Sub
'.....reste du code

*Ecrire en majuscule sur un forum c'est criero_O

@Phil69970
 

luc50*

XLDnaute Nouveau
Merci ca marche nickel et encore desolle pour l'ecriture en majuscule
Bonjour @luc50* , le forum

Je te propose :
Pour l'enregistrement
VB:
Sub CRMP2ENREGISTREMENT()
Dim Chemin As String, NomFichier As String
If Range("AI11").Value = "" Then MsgBox "Enregistrement impossible, N° de consultation téléservice vide", vbCritical, "Manque donnée !": Exit Sub
'.....reste du code

Pour l'impression
VB:
Sub CRMP2IMPRIMER()
If Range("AI11").Value = "" Then MsgBox "Impression impossible, N° de consultation téléservice vide", vbCritical, "Manque donnée !": Exit Sub
'.....reste du code

Pour l'envoi de mail
VB:
Sub crmp2021mail()
If Range("AI11").Value = "" Then MsgBox "Envoi mail impossible, N° de consultation téléservice vide", vbCritical, "Manque donnée !": Exit Sub
'.....reste du code

*Ecrire en majuscule sur un forum c'est criero_O

@Phil69970
 

Phil69970

XLDnaute Accro
Bonjour @luc50*, le forum

Pour avoir les 2 conditions : (Si une des 2 conditions n'est pas rempli on sort de la procédure)

Pour l'enregistrement
VB:
Sub CRMP2ENREGISTREMENT()
Dim Chemin As String, NomFichier As String
If Range("AI11").Value = "" Or Range("E11").Value = "" Then MsgBox "Enregistrement impossible, N° de consultation téléservice vide", vbCritical, "Manque donnée !": Exit Sub
'.....reste du code

Pour l'impression
VB:
Sub CRMP2IMPRIMER()
If Range("AI11").Value = "" Or Range("E11").Value = "" Then MsgBox "Impression impossible, N° de consultation téléservice vide", vbCritical, "Manque donnée !": Exit Sub
'.....reste du code

Pour l'envoi de mail
VB:
Sub crmp2021mail()
If Range("AI11").Value = "" Or Range("E11").Value = "" Then MsgBox "Envoi mail impossible, N° de consultation téléservice vide", vbCritical, "Manque donnée !": Exit Sub
'.....reste du code

Si la solution te donne satisfaction passe le post en résolu.

@Phil69970
 

luc50*

XLDnaute Nouveau
merci phil69970 pour ton aide
si j'ai bien compris or prend en compte l'une ou l'autre des conditions
ce que je recherche c'est que les deux condition soit remplis
une valeur dans la case e11 et aucune valeur dans la case ai11
si je met and a la place de or sa ne marche pas
 

Phil69970

XLDnaute Accro
Re

La condition "or" regarde si la condition 1 ou bien la condition 2 est vrai donc si vide en AI11 ou bien si vide en E11 alors la procédure s’arrête.

Maintenant si tu veux que les 2 conditions soient remplies c'est à dire si vide en AI11 ET vide en E11 alors il faut mettre "and"

Suis je clair dans mes explications ?
En résumé :

"Or" c'est :
Vide en AI11
OU
Vide en E11
N’importe laquelle des 2 conditions est rempli on stoppe

"And" c'est :
Vide en AI11
ET
Vide en E11
Les 2 conditions ENSEMBLE sont réunis on stoppe.

@Phil69970
 

luc50*

XLDnaute Nouveau
Merci tes explications sont très claire
effectivement c'est and donc j'ai besoin

une dernière demande qui pour moi serait la cerise sur le gâteaux
est il posible que la cellule vide change de couleur afin de montrer a l'utilisateur la cellule a remplir pour continue l'enregistrement
ex: If Range("e11").Value = "DICT" And Range("ai11").Value = "" Then MsgBox "Enregistrement impossible, MANQUE LE N° DE CONSULTATION DU TELESERVICE", vbCritical, "Manque donnée !": Exit Sub

dans ce cas la il faudrait que le curseur aye sur la cellule et qu'elle passe en couleur

MERC
 

Phil69970

XLDnaute Accro
@luc50*

Pour cela il me faut le mot de passe de l'onglet
Il y a déjà une couleur qui change tant que E11 est vide
Donc je m'occupe uniquement de AI11 ?

1624612571707.png


*Pour mon info perso, qui va remplir le fichier l'AT ou le demandeur de la DICT ?
En regardant mieux je me réponds à moi même 🤣 c'est L'AT en fonction de la demande ;)

@Phil69970
 
Dernière édition:

luc50*

XLDnaute Nouveau
bonjour le mot de passe de l'onglet est luc
j'ai reussi a ce que la casse e11 passe en rouge si elle n'est pas rempli

If Range("e11").Value = "" Then MsgBox "Enregistrement impossible MANQUE LE TYPE DE RENDEZ-VOUS", vbCritical, "Manque donnée !": ActiveSheet.Range("e11").Interior.Color = vbRed: Exit Sub

maintenant je cherche a ce que la case ai11 passe aussi en rouge si e11 est rempli mais ai11 vide

If Range("e11").Value = "DICT" and Range("ai11").Value = "" Then MsgBox "Enregistrement impossible, manque LE N° DE CONSULTATION DU TELESERVICE", vbCritical, "Manque donnée !": Exit Sub
 

Discussions similaires

Réponses
9
Affichages
401
E
Réponses
10
Affichages
2 K
E

Statistiques des forums

Discussions
294 371
Messages
1 938 081
Membres
188 641
dernier inscrit
pcayet