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 :

msgbox si certain ComboBox sont vide


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    COMPTABLE
    Inscrit en
    Décembre 2014
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Algérie

    Informations professionnelles :
    Activité : COMPTABLE
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2014
    Messages : 56
    Par défaut msgbox si certain ComboBox sont vide
    Bonjour
    Nom : 01.png
Affichages : 147
Taille : 6,5 Ko
    dans le Form ci-dessus j'ai plusieurs combobox

    je veux quand j'ai rempli le combobox produit et les autres combobox (*) sont vide a message sera affiché " Veuillez remplir les champs(*) "

    j'ai essayé plusieurs commande VBA, mais quand j'ai remplis Produit et le Marché , par exemple Produit : Bitumes , Marche : National
    un tableau sera crée dans la feuille National et puis il m'affiche un message " Veuillez remplir les champs(*) "
    Note:
    01- le nom d'utilisateur : admin, Mot de passe : P123
    pour afficher la Form ci-dessus, il faut cliquer sur l'onglet RA1Z, puis Consultation puis Chiffre d'Affaire
    Fichiers attachés Fichiers attachés

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Je ne suis pas partisan d'afficher un MsgBox après chaque encodage erroné
    Je privilégie le contrôle des saisies après validation de l'utilisateur parla touche ok soit juste avant la fermeture du formulaire

    Exemple La fonction ci-dessous met en rouge les contrôles TextBox et/ou ComboBox qui ne seraient pas remplis et dont la propriété Tag contient "-1"
    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
    Function IsOk()
      ' Contrôle si les contrôles dont la propriété Tag est égal à - sont remplis
      Dim Ctrl As Control
      Dim Flag As Boolean
      IsOk = True
      For Each Ctrl In Me.Controls
       Debug.Print TypeName(Ctrl)
       With Ctrl
         Select Case TypeName(Ctrl)
            Case "TextBox": Flag = Len(.Value) = 0 And .Tag = "-1"
            Case "ComboBox": Flag = Len(.Value) = 0 And .Tag = "-1"
            Case Else: Flag = 0
         End Select
         If Flag Then .BackColor = vbRed: IsOk = False Else .BackColor = -2147483633
       End With
      Next
      Set Ctrl = Nothing
    End Function

    La procédure qui invoque la fonction

    Si la fonction IsOk renvoie False, le formulaire reste ouvert
    Personnellement, je pense que c'est suffisamment compréhensif pour l'utilisateur s'il voit les contrôles en rouge mais j'ai tout de même placé la ligne avec le MsgBox pour la démonstration
    Il est également possible d'invoquer la procéder IsOk à chaque sortie du contrôle.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub cmd_Ok_Click()
      If IsOk Then
         ' Mise à jour des données introduites
         ' Unload Me
       Else
         MsgBox "Les champs en rouge ne sont pas remplis"
      End If
    End Sub
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre confirmé
    Homme Profil pro
    COMPTABLE
    Inscrit en
    Décembre 2014
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Algérie

    Informations professionnelles :
    Activité : COMPTABLE
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2014
    Messages : 56
    Par défaut
    Je prends votre solution comme une idée secondaire, mais juste pour apprendre VBA code je veux le code VBA si j'ai rempli quelques ComboBox et j'en ai oublié une ou deux, un message d'erreur apparaît
    s'il vous plait

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par kingman29 Voir le message
    Je prends votre solution comme une idée secondaire, mais juste pour apprendre VBA code je veux le code VBA si j'ai rempli quelques ComboBox et j'en ai oublié une ou deux, un message d'erreur apparaît
    s'il vous plait
    Philippe a répondu pile poil à ta question => Comment faire si j'ai oublié un ou deux combobox?

    Que vouloir de plus?



    Citation Envoyé par Philippe Tulliez Voir le message
    [...]
    Je ne suis pas partisan d'afficher un MsgBox après chaque encodage erroné[...]
    + 1.000.000

    Je voudrais que parfois, les gens qui conçoivent des trucs se mettent à la place des gens qui les utilisent. Ca vaut pour une application, mais pour plein d'autres trucs qui font ch*** dans la vie parce que les "designers" ont trouvé "fun" de faire un truc de chiotte qui emm* l'utilisateur tout au long de son utilisation du produit/appli/concept.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  5. #5
    Membre confirmé
    Homme Profil pro
    COMPTABLE
    Inscrit en
    Décembre 2014
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Algérie

    Informations professionnelles :
    Activité : COMPTABLE
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2014
    Messages : 56
    Par défaut
    Citation Envoyé par Pierre Fauconnier Voir le message
    Philippe a répondu pile poil à ta question => Comment faire si j'ai oublié un ou deux combobox?
    .

    Bonjour, j'avais un seul problème que j'ai pas compris leur solution (j'étais un peux confus), je vais considéré leur solution comme solution final

    Désolé

  6. #6
    Membre confirmé
    Homme Profil pro
    COMPTABLE
    Inscrit en
    Décembre 2014
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Algérie

    Informations professionnelles :
    Activité : COMPTABLE
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2014
    Messages : 56
    Par défaut
    Citation Envoyé par Philippe Tulliez Voir le message
    Bonjour,

    [/CODE]
    Bonjour,
    Ou je dois remplacé les deux code s'il vous plait?

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

Discussions similaires

  1. [XL-2010] Suppression d'une ligne dont les cellules sont vides à partir d'une certaine colonne
    Par juju05 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/04/2015, 13h54
  2. [XL-2010] Empecher une action si certaines cellules sont vides
    Par tartopwaro dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/06/2013, 08h34
  3. Somme de valeurs dont certaines sont vides
    Par Rabarivelo dans le forum BIRT
    Réponses: 5
    Dernier message: 27/05/2010, 15h29
  4. Certaines lignes de la combobox sont vides
    Par Carmiel dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/03/2010, 09h45
  5. Retourné des lignes dont certains champs sont vides
    Par griese dans le forum Langage SQL
    Réponses: 5
    Dernier message: 27/06/2006, 10h23

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