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 :

décryptage d'un code VBA


Sujet :

Macros et VBA Excel

  1. #1
    Débutant
    Inscrit en
    Février 2006
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 158
    Points : 48
    Points
    48
    Par défaut décryptage d'un code VBA
    Bonjour,
    Je cherche à décrypter un code vba mais je n'y parviens pas. Pourriez vous me donner un coup de main et me dire grossièrement à quoi pourrait servir ce type de code. Merci.
    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
    35
    36
    37
    38
    Public Type Initialization
        ScreenUpdating As Boolean
        Calculation As XlCalculation
        count As Integer
    End Type
     
    Global initialstate As Initialization
     
    Sub InitState(ByVal SetScreenUpdating As Boolean, ByVal SetCalculation As XlCalculation, _
                        Optional ByVal SetFilter As Boolean = False, Optional ByVal SetInteractive As Boolean = True)
        If ActiveSheet Is Nothing Then Err.Raise Error.No_Workbook
     
        If initialstate.count >= 0 Then
            initialstate.ScreenUpdating = Application.ScreenUpdating
            initialstate.Calculation = Application.Calculation
        End If
        initialstate.count = initialstate.count + 1
        Application.ScreenUpdating = SetScreenUpdating
        Application.Calculation = SetCalculation
        Application.CutCopyMode = False
        Application.Interactive = SetInteractive
        If TypeOf ActiveSheet Is Worksheet Then If SetFilter = False Then ActiveSheet.AutoFilterMode = False
    End Sub
     
    Sub ResetInitialState(Optional ByVal SetFilter As Boolean = False)
        initialstate.count = initialstate.count - 1
        If initialstate.count = 0 Then
            Application.ScreenUpdating = initialstate.ScreenUpdating
            Application.Calculation = initialstate.Calculation
        End If
        Application.CutCopyMode = False
        Application.Interactive = True
        Application.DisplayAlerts = True
        If TypeOf ActiveSheet Is Worksheet Then If SetFilter = False Then ActiveSheet.AutoFilterMode = False
        On Error GoTo Fin
        AppActivate Application.Caption
    Fin:
    End Sub

  2. #2
    Membre actif
    Profil pro
    chomeur
    Inscrit en
    Août 2006
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Août 2006
    Messages : 343
    Points : 246
    Points
    246
    Par défaut
    sans trop chercher a plus loin, ton code conserve dans une structure différentes propriétés de ton Excel (la fonction InitState), et remet les valeurs stockées initialement (fonction ResetInitialState)

Discussions similaires

  1. afficher un graphique dans word à partir de mon code vba
    Par guysocode dans le forum VBA Word
    Réponses: 2
    Dernier message: 07/11/2005, 14h15
  2. Réponses: 2
    Dernier message: 27/10/2005, 15h51
  3. Réponses: 4
    Dernier message: 13/10/2005, 14h44
  4. Réponses: 3
    Dernier message: 06/09/2005, 10h27
  5. Comment creer une procédure stockée à partir d'un code VBA?
    Par Alcor020980 dans le forum Connexion aux bases de données
    Réponses: 4
    Dernier message: 24/05/2005, 19h55

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