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 :

Application.Visible ne fonctionne pas


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Retraité informatique
    Inscrit en
    Août 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Retraité informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2009
    Messages : 19
    Par défaut Application.Visible ne fonctionne pas
    Bonjour,
    Je suis intrigué et embarrassé.
    J'ai réalisé et finalisé cette nuit une application de révision des QCM dans le cadre d'une intéressante formation.
    La précédente qui date d'une semaine et fonctionne selon un principe différent devrait avoir au moins un point commun avec le QCM: l'invisibilité d'Excel, la seule interface visible étant l'UserForm.
    Or, pour une raison qui m'échappe totalement, ce n'est pas le cas: Application.Visible est bien à False, dans les deux cas et à la même place (Sub d'initialisation). Mais voilà, ça ne fonctionne pas dans ma réalisation de cette nuit.
    Quelqu'un sait-il m'aider??
    Code 1er programme (non purgé: rien à cacher ):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub UserForm_Initialize()
        Dim NumColonne As Integer
        OK = "non"
    '    Stop
        Application.Visible = False
    '    Application.Visible = True
        Combinaison
    End Sub
    Code programme QCM:
    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
    Private Sub UserForm_Initialize()
        Dim NumColonne As Integer
        'reDim Compteur As Integer
        OK = "non"
        NumLigne = 3   ' Pour la 1re lecture seulement
        Drapeau = False
        Ligne = 1   ' N° 1re ligne Excel du tableau des réponses
        LigneVraie = 4   ' N° 1re ligne Excel du tableau des réponses
        LigTab = 1
        Message = "Pour continuer, "
        Compteur = 0
        CommandButton1.Caption = "Page suivante"
        CommandButton2.Visible = False
        Label26.Caption = ""
     
     
        Application.Visible = False
     
    ' Remplissage tableaux 1 et 2
        j = 4
        For i = 4 To 202
             .........
    etc... etc...
    En remerciant à l'avance toutes les bonnes volontés.
    Bien cordialement.

  2. #2
    Membre émérite
    Homme Profil pro
    Programmeur analyste
    Inscrit en
    Février 2009
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur analyste
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2009
    Messages : 546
    Par défaut
    Bonjour,
    normalement cela devrait fonctionner.

    C'est quoi Combinaison ?
    Est-ce l'appelle d'une sub ?

    si oui, dans ce sub Combinaison, n'y aurait-il pas Application.Visible = True ?

    et comment s'appelle votre userform, Est-ce bien UserForm ?

    avec le pas à pas, est ce qu'il entre bien dans UserForm_Initialize ?

  3. #3
    Membre averti
    Homme Profil pro
    Retraité informatique
    Inscrit en
    Août 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Retraité informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2009
    Messages : 19
    Par défaut
    Bonjour gnain,
    Je vais répondre au point par point.
    - oui, Combinaison est un appel à une Sub.
    - non, il n'y a pas "Application.Visible = True" dans aucune partie du 'programme'. Ni True ni False. "Application.Visible" se trouve seulement dans "UserForm_Initialize".
    - Oui, je pratique le pas à pas à la moindre difficulté, à la moindre incompréhension.
    et pour finir:
    -oui, 3 fois 'oui', je suis d'accord avec toi: "Application.Visible = False" ... devrait!!... fonctionner.
    Hélas, si je poste, c'est justement à cause de cette anomalie: en l'occurence et à mon grand étonnement, ça ne fonctionne pas ici, dans ce prog "QCM"; mais jusqu'à présent, ça a toujours fonctionné dans mes autres programmes.
    Il y a donc bien un détail qui fait foirer la chose. Et c'est pourquoi j'en appelle à la communauté: débusquer ce qui coince.
    Merci dans tous les cas!!

  4. #4
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    tu peux mettre le code complet de ton initialisation ?

  5. #5
    Membre émérite
    Homme Profil pro
    Programmeur analyste
    Inscrit en
    Février 2009
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur analyste
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2009
    Messages : 546
    Par défaut
    Bonjour,
    si vous placez un msgbox juste après Application.Visible = False,
    est-ce que excel est invisible a ce moment ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub UserForm_Initialize()
        Dim NumColonne As Integer
        OK = "non"
    '    Stop
        Application.Visible = False
        Msgbox ""
    '    Application.Visible = True
        Combinaison
    End Sub

  6. #6
    Membre averti
    Homme Profil pro
    Retraité informatique
    Inscrit en
    Août 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Retraité informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2009
    Messages : 19
    Par défaut
    Bonjour,
    Pour joe.levrai

    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
    34
    Private Sub UserForm_Initialize()
        Dim NumColonne As Integer
        'reDim Compteur As Integer
        OK = "non"
        NumLigne = 3   ' Pour la 1re lecture seulement
        Drapeau = False
        Ligne = 1   ' N° 1re ligne Excel du tableau des réponses
        LigneVraie = 4   ' N° 1re ligne Excel du tableau des réponses
        LigTab = 1
        Message = "Pour continuer, "
        Compteur = 0
        CommandButton1.Caption = "Page suivante"
        CommandButton2.Visible = False
        Label26.Caption = ""
     
     
        Application.Visible = False
     
    ' Remplissage tableaux 1 et 2
        j = 4
        For i = 4 To 202
            If Cells(i, 2) = "X" Then TableauDesLignes(i - 3, 2) = i
            If i - j = 4 Then
                j = j + 5
            Else
                TableauDesLignes(LigTab, 1) = i
                LigTab = LigTab + 1
            End If
        Next
        LigTab = 1
     
        LectureExcel
     
    End Sub
    Pour gnain
    Je vais essayer.

    POUR TOUS LES DEUX:
    je vais rester silencieux pendant env. une semaine car je pars passer un exam dans le Sud. Mais je compte bien me manifester dans moins de 8 jours.
    Merci d'avance d'essayer de m'aider à résoudre ce problème que je ne peux pas ne pas résoudre bien sûr!

  7. #7
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    tu termines par l'appel d'une autre procédure :
    on a besoin de voir aussi ce qu'elle contient.

    il faut qu'on puisse suivre le cheminement complet de ta procédure d'initialisation, jusqu'au End Sub
    Donc si LectureExcel appelle également une autre procédure ou fonction, faut également nous montrer tout ça

Discussions similaires

  1. application.ontime ne fonctionne pas
    Par chantalina dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 24/02/2010, 20h49
  2. Application compilée ne fonctionne pas sur un autre poste
    Par wajdisoft dans le forum Installation, Déploiement et Sécurité
    Réponses: 14
    Dernier message: 28/08/2009, 17h15
  3. Application.Restart() ne fonctionne pas
    Par xav2303 dans le forum Windows Forms
    Réponses: 6
    Dernier message: 11/08/2009, 16h20
  4. Application.Doevents() ne fonctionne pas
    Par zit_zit dans le forum VB.NET
    Réponses: 4
    Dernier message: 12/02/2008, 15h21
  5. mes applications consoles ne fonctionnent pas
    Par mok16 dans le forum C++Builder
    Réponses: 1
    Dernier message: 10/01/2007, 14h22

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