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 :

Loop dans bloc IF


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 1
    Par défaut Loop dans bloc IF
    Bonjour,

    Je suis nouvellement inscrit sur ce forum mais j'ai de nombreuses fois trouvé mes réponses dans d'autres posts. Etant d'ordinaire plus enclin à chercher (et à trouver) les solutions par moi-même, vous comprendrez que si je me suis résigné à venir chercher de l'aide c'est que je suis dans une impasse.

    Je vous replace le contexte. Je travail sur un UserForm avec un Multipage (5 pages). Cette UserForm est destiné à des personnes n'ayant pas beaucoup d'affinité avec Excel (compétences très faibles). C'est pour cette raison que je programme un maximum de poka-yoke et de message de demande de confirmation.

    Je souhaiterai concaténer plusieurs blocs IF.
    Actuellement, sur une page j'ai 8 checkbox (nommées cbc1e à cbc8e), et 2 fois 8 textbox (nommés nc1e à nc8e et cc1e à cc8e) et un bouton nommé imporeau.

    Lorsque j'active la première checkbox, la deuxième checkbox et les deux textbox associés à la première checkbox sont actives (Enabled = True).
    Ainsi de suite pour les 8 checkbox.
    Lorsque l'utilisateur active le bouton imporeau, une msgbox s'affiche avec un message de vérification : "le compteur" nc1e "se trouve dans la colone " cc1e)
    et ce, pour les 8 compteurs.

    Voici mes lignes de commandes. Elles fonctionnent mais prennent beaucoup de place (et je dois les répéter sur 2 autres pages de mon multipage avec des cbc1g et cbc1l et des nc1g, nc1l et cc1g et cc1l).

    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
    31
    32
    33
    Dim text1 As String
    Dim text2 As String
    Dim text3 As String
    Dim text4 As String
    Dim text5 As String
    Dim text6 As String
    Dim text7 As String
    Dim text8 As String
    Dim style As String
    Dim titre As String
     
    style = vbYesNo
    titre = "Etape2"
     
    '*** Vérification du premier compteur ***
     
    If cbc1e.Value = True Then
        If nc1e.Value = "" Or cc1e.Value = "" Then
            erreur = MsgBox("Il manque une information pour un compteur!")
            Exit Sub
        End If
        text1 = "- Le compteur " & Chr(34) & UCase(nc1e) & Chr(34) & " se trouve dans la colonne " & Chr(34) & UCase(cc1e) & Chr(34) & " de la feuille de consommation."
    End If
     
    '*** Vérification du deuxième compteur ***
     
    If cbc2e.Value = True Then
        If nc2e.Value = "" Or cc2e.Value = "" Then
            erreur = MsgBox("Il manque une information pour un compteur!")
            Exit Sub
        End If
        text2 = "- Le compteur " & Chr(34) & UCase(nc2e) & Chr(34) & " se trouve dans la colonne " & Chr(34) & UCase(cc2e) & Chr(34) & " de la feuille de consommation."
    End If
    Puis les deux bloc if si dessus sont répétés 4 fois.

    Enfin j'affiche ma MsgBox avec (text1, text2, text3......text8, style, titre)


    Est-il possible boucler ces commandes? Si oui comment?
    Puis-je conserver la dénomination des éléments (cbc1e cbc1g, nc1e...) ou le chiffre doit-il obligatoirement se trouver en dernière position pour une loop?

    Pour info, suite à ce message de confirmation, des données sont importées depuis un autre fichier à partir des colonnes renseignée dans les textbox cc1e à cc8e d'où l'importance de la vérification.

    Merci d'avance à tous ceux qui se pencheront sur mon problème.

    Cordialement

    Guntherbt

  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 te conseille la lecture de ce chapitre Boucler sur les contrôles contenus dans la Forme, je crois que tu trouveras la réponse à ta question.
    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

Discussions similaires

  1. Problème clause "ORDER BY" dans bloc PL/SQL
    Par craweb dans le forum PL/SQL
    Réponses: 3
    Dernier message: 05/03/2007, 09h33
  2. Erreur dans bloc note
    Par Mario Rousson dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 31/10/2006, 14h32
  3. loop dans recordset sqlserver
    Par faamugol dans le forum ASP
    Réponses: 1
    Dernier message: 01/08/2006, 17h52
  4. [Forms6i] FRM-40102 dans bloc multiligne
    Par lafouine dans le forum Forms
    Réponses: 3
    Dernier message: 16/08/2005, 17h59
  5. probleme espace dans bloc div
    Par piff62 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 29/04/2005, 16h39

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