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 :

montrer un chargement


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 64
    Par défaut montrer un chargement
    Bonjour,
    Voila mon code vba:

    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    Private Sub CommandButtonOK_Click()
     
    Application.ScreenUpdating = False
     
    'Effacer texte + présentation dans la feuille données
    Sheets("Données").Select
    Cells.ClearContents
    Cells.NumberFormat = "General"
    Cells.Interior.ColorIndex = xlNone
    Cells.Borders.LineStyle = xlNone
    Call FusionCells(Range("A1:IV65536"), xlGeneral, xlBottom, False, False)
     
    'Effacer texte + présentation dans la feuille données
    Sheets("Etat des décisions").Select
    Cells.ClearContents
    Cells.NumberFormat = "General"
    Cells.Interior.ColorIndex = xlNone
    Cells.Borders.LineStyle = xlNone
    Call FusionCells(Range("A1:IV65536"), xlGeneral, xlBottom, False, False)
     
    'Effacer texte + présentation dans la feuille données
    Sheets("Comptabilisation automatique").Select
    Cells.ClearContents
    Cells.NumberFormat = "General"
    Cells.Interior.ColorIndex = xlNone
    Cells.Borders.LineStyle = xlNone
    Call FusionCells(Range("A1:IV65536"), xlGeneral, xlBottom, False, False)
     
    'on teste les 2 zones de texte pour savoir si elles sont renseignées
    'et si oui on fait le traitement
    If Not (TextBoxDate1 = "" Or TextBoxDate2 = "") Then
    Dim db As DAO.Database 'une base de données
    Dim rq As DAO.QueryDef 'une requête
    Dim rs As DAO.Recordset 'un jeu d'enregistrements (recordset)
    Dim c As Field 'un champ
    Dim i As Integer 'un compteur
     
    'connexion à la bdd et à la requête
    Set db = DBEngine.OpenDatabase("O:\ENGAGE\ENGAGE.mdb")
    Set rq = db.QueryDefs("11)état décision en rentrant parametre")
     
    'spécification des valeurs des paramètres
    rq.Parameters(0).Value = TextBoxDate1
    rq.Parameters(1).Value = TextBoxDate2
     
    'accès aux données de la requête
    Set rs = rq.OpenRecordset
     
    'on se positionne à la cellule de départ
    Sheets("Données").Select
    Range("A7").Select
     
    'Boucle sur tous les enregistrements du jeu
    Do While Not rs.EOF
    'initialisation du compteur
    i = 0
    'Boucle sur tous les champs
    For Each c In rs.fields
    ActiveCell.Offset(0, i).Value = rs.fields(c.Name)
    i = i + 1
    Next
    ActiveCell.Offset(1).Select
    rs.MoveNext
    Loop
     
    Call titre
    Call soustitre
    Call AfficherData
    Call miseenpage
    Call Compta
    Call miseenpagecompta
     
    'fermeture de l'userform + réinitialisation
    'si laisse code ci dessous la date n'apparaitra pas automatiquement lors de la sauvegarde
    'TextBoxDate1 = ""
    'TextBoxDate2 = ""
    UserForm1.Hide
     
    'les 2 zones de texte ne sont pas renseignées, on affiche un message
    Else
    MsgBox "Saisie incomplète !", vbExclamation
    End If
     
    Sheets("Etat des décisions").Select
    Range("A2").Select
    Application.ScreenUpdating = False
     
     
    End Sub
    Je souhaiterai que lorsque je clique sur le bouton OK qu'il est quelquechose pour montrer que le programme est lancé, car le chargement dure environ 1minute mais rien n'indique que l'ordinateur travaille, si vous pouviez me proposer un code vba qui puisse répondre à ma demande.
    Tous les propositions sont le bien venue.
    Merci d'avance

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Par défaut
    Bonjour

    Tu pourrais peut être créer un UserForm avec un message du style « Chargement en cours » l’afficher en début et le fermer à la fin.

    Et au besoin modifier le message de temps en temps dans le déroulement de ton code pour donner une impression de suivi.

Discussions similaires

  1. [VCL][TListView]Montrer une ligne à l'écran
    Par ptitbob dans le forum Delphi
    Réponses: 4
    Dernier message: 23/07/2007, 17h35
  2. action APRES chargement complet ...
    Par PinGuy dans le forum Delphi
    Réponses: 7
    Dernier message: 06/07/2006, 18h16
  3. [Kylix] Chargement de libraries
    Par _dack_ dans le forum EDI
    Réponses: 1
    Dernier message: 14/03/2003, 10h07
  4. Chargement d'une texture a partir de la mémoire
    Par logramme dans le forum DirectX
    Réponses: 6
    Dernier message: 27/01/2003, 15h57
  5. Chargement dynamique de DLL sous Unix
    Par Willou dans le forum Autres éditeurs
    Réponses: 7
    Dernier message: 18/12/2002, 19h25

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