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 :

VBA Excel controle les champs [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Inscrit en
    Mai 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 12
    Par défaut VBA Excel controle les champs
    Bonjour à tous;

    Je demande l'aide;on faite j'ai un formulaire à remplire sous Excel,avant l'imprission,je vérifier les champs obligatoire à remplire.
    Ici tout est bon.
    Mon probléme c'est je veux indiquer ce champs n'est pas remplire pendant l'imprission(en colorant la cellule par exemple ou pointer dessus ...).
    Voilà Mon code de controle les champs:

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    '***************************************************
    '  vérification que les champs sont bien remplire:                           *
    '***************************************************
     
    Function TestChampsOblig() As Integer
    Dim MandatoryField As Range
    Dim Cell As Range
    Dim Bad As Integer
     
    Set MandatoryField = Application.Union(Range("E17"), Range("E18"), Range("E23"), Range("E28"), Range("B33"), Range("B32"), Range("B17"), Range("B19"), Range("B23"), Range("B24"), Range("B30"), Range("B32"), Range("I23"), Range("L23"), Range("K28"), Range("K29"))
     
    For Each Cell In MandatoryField
    If IsError(Cell) = False Then
        If Cell.Value = "" Then
            Bad = Bad + 1
        End If
    Else
        Bad = Bad + 1
    End If
    Next
     
    Select Case Bad
    Case 0:
    Case 1: MsgBox Bad & " Champs Obligatoire n'est pas rempli", vbCritical
    Case Else: MsgBox Bad & " Champs Obligatoires ne sont pas remplis", vbCritical
    End Select
     
    TestChampsOblig = Bad
     
    End Function
    Merci de votre attention

  2. #2
    Membre Expert Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Par défaut
    Salut,
    Tu peux, si tu veux, colorer la cellule concernée directement dans ta boucle.
    Je suppose qu'elle doit l'etre si elle est égale à "" donc:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ...
    If Cell.Value = "" Then
    Cell.Interior.ColorIndex = 5 'code couleur 5 = Blue
    ...
    A+

  3. #3
    Membre habitué
    Inscrit en
    Mai 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 12
    Par défaut
    Merci Fvandermeulen ça fonctionne trés bien,juste un petit souci,on faite les cellule reste tjrs coloré,mais aprés la remplission,je veux que ces cellule reprendre leur couleur normale.
    Je ne sais pas si vous avez compris ce que je voulais dire?

    merci

  4. #4
    Membre Expert Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Par défaut
    J'aurais du y penser ...

    Place ceci après ton Set MandatoryField

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MandatoryField.Interior.ColorIndex = xlNone
    Les cellules contenues dans cette plage n'auront alors pas de fond.
    Par contre le fond restera jusqu'à ce que cette macro soit réactivée.
    Si tu veux que le fond disparaisse lorsque l'utilisateur rempli le champs il faudra passer par un module de feuille.
    A toi de voir ce que tu préfères.

    A+

  5. #5
    Membre habitué
    Inscrit en
    Mai 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 12
    Par défaut
    Parfait Monsieur Fvandermeulen,ce que je cherche exactement.


    Merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 29/06/2006, 15h37
  2. [VBA Excel] Ordonner les tabulations dans un formulaire
    Par Viper7 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/06/2006, 13h41
  3. [VBA Excel] Forcer les majuscules
    Par Viper7 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 27/06/2006, 12h12
  4. [VBA] Excel control de touche tab
    Par Igloobel dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 25/01/2006, 15h24
  5. [VBA][Excel]Récupérer les valeurs du graphe...
    Par Samourai dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/01/2006, 10h51

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