IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Affichage d'un Msgbox en fonction d'une plage de cellules complétées


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 117
    Points : 62
    Points
    62
    Par défaut Affichage d'un Msgbox en fonction d'une plage de cellules complétées
    Bonsoir,

    J'ai un fichier où si je complète une des cellules présentes dans les plages I8:I420, H8:H420, Y8:Y420 qu'il m'affiche un Msgbox en disant : Vous avez saisi une information dans la colonne Constat, veuillez compléter la colonne Service!.

    J'ai le code suivant mais il ne m'affiche pas le Msgbox et de plus il ne m'indique aucune erreur.

    Merci pour votre aide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Worksheet_Change(ByVal Target As Range)
     If Target.Address = "I8:I410" Then
     If Target.Adress = "Q8:Q410" Then
     If Target.Adress = "Y8:Y410" Then
        If UCase(Target.Value) <> "" Then
        MsgBox "Vous avez saisi une information dans la colonne Constat, veuillez compléter la colonne Service!", vbAttention, "Service concerné"
        End If
        End If
        End If
        End If
    End Sub

  2. #2
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonsoir,

    Essai ceci pour voir si ça convient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    Private Sub Worksheet_Change(ByVal Target As Range)
     
        If Not Intersect(Target, Union(Range("I8:I410"), Range("Q8:Q410"), Range("Y8:Y410"))) Is Nothing Then
     
            If Target.Value <> "" Then
     
                MsgBox "Vous avez saisi une information dans la colonne Constat, veuillez compléter la colonne Service !", _
                       vbExclamation, _
                       "Service concerné"
     
            End If
     
        End If
     
    End Sub
    Hervé.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 117
    Points : 62
    Points
    62
    Par défaut
    Bonsoir Theze

    Oui c'est bon cela fonctionne parfaitement.

    Juste une dernière question :
    avec ce code est-il possible de rajouter le fait de rendre impossible l'enregistrement si la personne ne renseigne pas le service ?

    Merci;

  4. #4
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonjour,

    Désolé du retard.

    A mettre dans le module du classeur et à adpater :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
     
        'en admettant que c'est en A1, à adapter...
        If Range("A1").Value <> "Service" Then
     
            MsgBox "Veuillez compléter la colonne Service !"
            Cancel = True
     
        End If
     
    End Sub
    Hervé.

Discussions similaires

  1. Affichage MsgBox en fonction d'une requete
    Par HenryKretz dans le forum Access
    Réponses: 5
    Dernier message: 08/07/2015, 14h21
  2. [XL-2013] Copier des cellules en fonction d'une plage de cellules
    Par Flows dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 24/02/2014, 18h38
  3. [XL-2003] Effacer colonne en fonction d'une plage de cellule
    Par stressman dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 09/12/2009, 12h52
  4. msgbox en fonction d une zone texte
    Par rico63 dans le forum IHM
    Réponses: 6
    Dernier message: 12/03/2007, 17h54
  5. Réponses: 1
    Dernier message: 18/07/2006, 23h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo