Arret de macro et renvoi d'un message avev VBA

seb26000

XLDnaute Occasionnel
Bonjour à tous,

J’ai créé en VBA en module 2, un test qui consiste de vérifier si les valeurs saisies dans l’onglet « DEMANDE » : TR & S.E. & Num & Bi, existent déjà dans l’onglet « DONNEES » et si tel est le cas, on contrôle la présence d’une valeur ou non dans la colonne « DATE DE POSE ». Si une valeur est présente alors on autorise la validation de la saisie, sinon un message est renvoyé à l’utilisateur indiquant que la demande existe déjà en précisant sa date (issue de DATE_DEMANDE) et le numéro de cette demande (NUMERO_DEMANDE) et la macro s’arrête.

J’ai un problème pour réaliser une recherche multicritères en VBA à partir de plages nommées (equivalent à sommeprod en excel)
Voici le fonctionnement souhaité :
- Dans l’onglet « DEMANDE », l’utilisateur remplit différents champs notamment « TR », « S.E. », « Num » et « Bi ».
- Dans l’onglet « DONNEES », sont stockées les valeurs issues de l’onglet « DEMANDE » après validation.

J’ai nommée différentes plages de données, notamment :
-TRANCHE : Colonne A où sont stockées les valeurs « TR » issues de l’onglet « DEMANDE »
- SYSTEME_ELEMENTAIRE : Colonne B où sont stockées les valeurs « S.E. » issues de l’onglet « DEMANDE »
- NUMERO : Colonne C où sont stockées les valeurs « Num » issues de l’onglet « DEMANDE »
- BIGRAMME : Colonne D où sont stockées les valeurs « Bi » issues de l’onglet « DEMANDE »
- DATE_DEMANDE : Colonne I où sont stockées les dates des différentes demandes en moment de leur validation dans l’onglet « DEMANDE »
- DATE_POSE : Colonne S qui permettra de faire un test pour enregistrer ou non une nouvelle demande (j’expliquerai plus bas le fonctionnement de ce test)
- NUMERO_DEMANDE : Colonne J qui permettra éventuellement de renvoyer une valeur à l’issue d’un test (j’expliquerai plus bas le fonctionnement de ce test)

Voici le problème : je ne sais pas comment faire pour arrêt la macro et envoyer le message à l'utilisateur :confused:


-----------------------------------------------------------------------------------------
Sub controle_presence()

Dim TR As String
Dim SE As String
Dim NUM As String
Dim bi As String


Sheets("DEMANDE").Select
TR = Range("J5")
SE = Range("M5")
NUM = Range("Q5")
bi = Range("V5")

Resul = Evaluate("=sum((TRANCHE=" & TR & ")*(SYSTEME_ELEMENTAIRE=""" & SE & """)*(NUMERO=""" & NUM & """)*(BIGRAMME=""" & bi & """)*(DATE_POSE=""""))")

Range("A2") = Resul

End Sub

-----------------------------------------------------------------------------------------

Pour vérifier le test, j’ai fait apparaître le résultat du code en « A2 ».
Merci d’avance !!!

Ci joint le fichier
 

Pièces jointes

  • Test.xls
    143.5 KB · Affichages: 39
  • Test.xls
    143.5 KB · Affichages: 38
  • Test.xls
    143.5 KB · Affichages: 43

Robert

XLDnaute Barbatruc
Repose en paix
Re : Arret de macro et renvoi d'un message avev VBA

Bonjour Seb, Pierrot, bonjour le forum,

Ici aussi ce me semble... Tu vas t'y perdre toi-même et en plus, visiblement, tu ne daignes même pas regarder les propositions faites...
 

seb26000

XLDnaute Occasionnel
Re : Arret de macro et renvoi d'un message avev VBA

Bonjour Pierro et Robert,

J'ai volontairement créé 2 autres sujets car j'avais une de mes demandes (arret de macro et renvoi d'un message) qui était "noyée" dans le 1er sujet concernant la recherche de multiciteres. Compte tenu que ODESTA a trouvé la solution à l'erreur dans mon compte, j'ai souhaité donc refaire un post concernant l'arret de la macro et l'envoi d'un message et ainsi permettre à d'autres utilisateurs de rechercher plus facilementsi un sujet de rapproche à leur problématique...
 

Discussions similaires

Statistiques des forums

Discussions
314 588
Messages
2 110 988
Membres
111 002
dernier inscrit
Lolo73i