Plantage Macro (Excel2013)

Résolu/Fermé
JL00700 Messages postés 90 Date d'inscription lundi 4 juin 2012 Statut Membre Dernière intervention 1 novembre 2019 - 22 mars 2018 à 18:09
 jl00700 - 23 mars 2018 à 07:44
Bonjour,

Je rencontre un nouveau souci dont je n'arrive pas à me sortir...
Souhaitant contrôler les champs de mon formulaire avant de lancer ma macro, j'ai intégré en tête celle-ci le paramétrage suivant (trouvé au cours de mes recherches) :

Sub AlimentationBaseDonnées()
'
' AlimentationBaseDonnées Macro
' Transfert des champs du formulaire vers la Base de Données.
'

Dim Message As String
If Range("E7").Value = "" Then Message = Message & "Date_Opération" & vbLf
If Range("E9").Value = "" Then Message = Message & "Opération" & vbLf
If Range("E11").Value = "" Then Message = Message & "Catégorie" & vbLf
If Range("E13").Value = "" Then Message = Message & "Poste" & vbLf
If Range("E15").Value = "" Then Message = Message & "Libellé" & vbLf
If Range("E17").Value = "" Then Message = Message & "Support" & vbLf
If Range("E21").Value = "" Then Message = Message & "Montant"

Call MsgBox("Une ou des cellules obligatoires ne sont pas complétées:" & vbLf & Message, vbExclamation)


Sheets("Base").Visible = True
Sheets("Base").Activate
ActiveSheet.Unprotect "klmp"
Rows("7:7").Select


Cela ne fonctionne qu'à moitié car, si une/des cellule n'est pas complétée il affiche bien le message avec les zone à compléter.
Dès lors que je clique sur OK (S/fenêtre présentant le message), l'opération s'enregistre dans ma base sans autoriser la correction des cellules en anomalie.
Je cherche mais ne trouve pas comment corriger...
Que faire ???
Si le sujet vous inspire, je vous en remercie par avance.
Cordialement.
JL00700





A voir également:

2 réponses

yclik Messages postés 3593 Date d'inscription vendredi 25 juillet 2014 Statut Membre Dernière intervention 22 avril 2024 1 480
22 mars 2018 à 18:21
Bonjour
Un eproposition
Après chaque test
If Range("E7").Value = "" Then Exit Sub
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
22 mars 2018 à 19:14
Bonjour,

ou bien remplacer ta ligne du msgbox par :
    If Message <> "" Then
        MsgBox "Une ou des cellules obligatoires ne sont pas complétées:" & vbLf & Message, vbExclamation
        Exit Sub
    End If

eric
0
Bonjour erilic,
Belle surprise de bon matin, cela fonctionne comme je l'entendais.
Encore merci à vous ainsi qu'à yclik.
Amicalement
jl00700
0