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 :

" figer l'ecran" [XL-2010]


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
    paysan developpeur debutant mais ... têtu
    Inscrit en
    Février 2011
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : paysan developpeur debutant mais ... têtu

    Informations forums :
    Inscription : Février 2011
    Messages : 84
    Par défaut " figer l'ecran"
    Bonsoir tout le monde
    Comme beaucoup de débutants je suppose je me heurte au peaufinage de ma petite application.
    Sur un userform j'ai disposé 2 multipages un au dessus de l'autre.
    Vu la grandeur de l'usf les 2 multipages n'apparaissent pas ensemble à l'ecran, le scroll lateral est obligatoire.
    J'ai défini une macro qui au changement de valeur d'un multipage (affichage d'une autre page) coordone l'affichage du 2nd.
    Pour etre clair les 2 multipages doivent afficher le meme numero de page.
    le souci c'est qu'a lexecutuion le code fait agir le scroll et donc il ya ce fameux "scintillement desagreable.
    J'ai essayé la propriété scrennupdating aprés avoir parcouru les forums.
    Meme en la mettant au plus prés de l'action de scrol ca ne marche pas
    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
    Sub coor_mp()
    Dim mp As Control
    'au changement de page d'un multipage cordonne tous les autres multipages sur la meme page
    '
    With usf4
        For Each mp In .Controls
                If TypeName(mp) = "MultiPage" Then
                Application.ScreenUpdating = False
                    If mp.Value <> ind_coor Then
                 Application.ScreenUpdating = True
                    mp.Value = ind_coor
                    End If
                End If
        Next mp
    End With
    usf4.ScrollTop = sct
    End Sub
    Je reprecise que j'ai essayé de glisser la propriété un peu partout dans la boucle et meme avant le with, rien a faire comme si le code ne peut effectuer les mises à jours sans se déplacer dans l'usf ce qui me parait surprenant.
    Avez vous une idée ?

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 266
    Par défaut
    Bonjour,

    pour moi screenupdating n'agit que sur le rafraichissement des feuilles.
    Tu pourrais agir sur .visible de ton UF pour ne le ré-afficher qu'une fois le travail fait.
    eric

  3. #3
    Membre confirmé
    Homme Profil pro
    paysan developpeur debutant mais ... têtu
    Inscrit en
    Février 2011
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : paysan developpeur debutant mais ... têtu

    Informations forums :
    Inscription : Février 2011
    Messages : 84
    Par défaut
    bonjour Eric
    Merci pour l'idée mais j'ai essayé mais apparement .visible n'est pas posssible pour une usf
    merci encore

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    Le code que tu montres est celui d'une procédure non évènementielle.
    On ne voit nulle part (ni dans ton code, ni dans tes explications) à l'occasion de quelle procédure évènementielle précise est appelée cette macro !

  5. #5
    Membre confirmé
    Homme Profil pro
    paysan developpeur debutant mais ... têtu
    Inscrit en
    Février 2011
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : paysan developpeur debutant mais ... têtu

    Informations forums :
    Inscription : Février 2011
    Messages : 84
    Par défaut
    bonsoir unparia
    la sub vient apres un evenement change.
    mais là aussi j'ai essayé de glisser le screen updating ;;;
    En fait aprés avoir trainé sur les forums je crois pouvoir dire que ca ne peut pas agir sur une usf.
    et comme les controles qui sont au sein de la boucle sont répartis sur un "grand"userform l'affichage varie en fonction de où se passe l'action.
    J'ai réduit la boucla a 2 multipages apparaissant ensemble sans avoir besoin de scroller et le problème de "saute" n'a pas lieu.
    Merci quand meme pour ton aide

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 266
    Par défaut
    le multipage a .visible
    eric

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

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