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 :

Fonctionnement d'une progressBar


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 232
    Points : 90
    Points
    90
    Par défaut Fonctionnement d'une progressBar
    Bonsoir,
    J'ai une application sous Excel, qui charge un fichier héxa et qui le converti en décimal.
    Le traitement dure environ 1 minute et je voudrais durant ce traitement afficher une progressBar.
    Le Pb c'est que ma progressBar s'affiche, mais le curseur n'apparait pas et mon prog ne s'exécute pas.
    ci-dessous le code, si cela ne suffit pas je peux envoyer le fichier Excel (compressé 260Ko, + un fichier exemple pour télécharger (16Ko).
    Merci par avance pour votre aide
    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
    Sub workbook_open()
    Application.ScreenUpdating = False
    ' Désinstalle les macro complementaires
    AddIns("Solveur").Installed = False
    AddIns("Utilitaire d'analyse").Installed = False
    AddIns("Utilitaire d'analyse - VBA").Installed = False
     
    Range("d2:d6100").ClearContents
    Dim i As Long
    Dim caract As String * 1
    Dim filebox As OPENFILENAME
    Dim fname As String
    Dim result As Long
    Range("D5") = ""
    With filebox
            .lStructSize = Len(filebox)
            .hInstance = 0
            .lpstrFilter = "Calculateur Droit (m-dysd2 ou m-dysg2)" & vbNullChar & "m-dys*.din" & vbNullChar & _
                           "Calculateur Droit (DYSDD ou DYSDG)" & vbNullChar & "*.dys" & vbNullChar '& _
                          '"Tout fichier (*.*)" & vbNullChar & "*.*" & vbNullChar & vbNullChar
            .nMaxCustomFilter = 0
            .nFilterIndex = 1
            .lpstrFile = Space(256) & vbNullChar
            .nMaxFile = Len(.lpstrFile)
            .lpstrFileTitle = Space(256) & vbNullChar
            .nMaxFileTitle = Len(.lpstrFileTitle)
            .lpstrInitialDir = "A:\*\*dys*.din" & vbNullChar
            .lpstrTitle = "Selectionner le fichier à visualiser" & vbNullChar
            .flags = OFN_PATHMUSTEXIST Or OFN_FILEMUSTEXIST Or OFN_HIDEREADONLY
            .nFileOffset = 0
            .nFileExtension = 0
            .lCustData = 0
            .lpfnHook = 0
    End With
    result = GetOpenFileName(filebox)
    If result <> 0 Then
            fichier1 = Left(filebox.lpstrFile, InStr(filebox.lpstrFile, vbNullChar)) ' - 1
        Else
            End
     End If
     'Progressbar.Show
    'Progressbar.ProgressBar1.Max = 6002
    'Progressbar.ProgressBar1.Value = 0
    'Progressbar.Label2.Caption = "Traitement du fichier dysfonctionnement..."
    'Progressbar.Repaint
    Chemin = Left(filebox.lpstrFile, Longueur - (Longueur - Posi))
    'Range("D5") = fichier1
    Close
    Open fichier1 For Random As #1 Len = 1
    On Error GoTo 0
    '  convertion du fichier
    i = 2
    While Not EOF(1)
      Get #1, , caract
      If EOF(1) Then GoTo fin
      chaine_convertie = Hex(Asc(caract))
      If Len(chaine_convertie) = 1 Then chaine_convertie = "0" & chaine_convertie
      If Not EOF(1) Then
        Get #1, , caract
        If EOF(1) Then GoTo fin
        chaine_convertie = chaine_convertie & Format(Hex(Asc(caract)), "00")
        If Len(chaine_convertie) = 3 Then
          chaine_convertie = Mid(chaine_convertie, 1, 2) & "0" & Mid(chaine_convertie, 3)
        End If
      End If
      Range("'CRM'!D" & i) = "'" & chaine_convertie
      i = i + 1
    'Progressbar.ProgressBar1.Value = Progressbar.ProgressBar1.Value + 1
    'Progressbar.ProgressBar1.Value = Progressbar.ProgressBar1.Max
    'Progressbar.Hide
    Wend
    fin:
    Close
    'Installe les macros complémentaires
    AddIns("Solveur").Installed = True
    AddIns("Utilitaire d'analyse").Installed = True
    AddIns("Utilitaire d'analyse - VBA").Installed = True
    'Sauvegarde
    For Each w In Application.Workbooks
    w.save
    Next w
    'Messge terminé
    MsgBox "Traitement terminé"
    End Sub

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Tu devrais jeter un oeil au tutoriel de SilkyRoad

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

Discussions similaires

  1. [MFC] afficher une ProgressBar dans une barre d'etat
    Par guillaume21 dans le forum MFC
    Réponses: 5
    Dernier message: 30/03/2007, 11h16
  2. utilisation d'une ProgressBar
    Par knittel02 dans le forum C++Builder
    Réponses: 1
    Dernier message: 25/12/2004, 23h04
  3. [C#] Utilisation d'une ProgressBar pour un téléchargement
    Par snoof dans le forum Windows Forms
    Réponses: 10
    Dernier message: 04/10/2004, 19h37
  4. Une ProgressBar pour un rafraichissement d'image
    Par JakeGrafton dans le forum Composants VCL
    Réponses: 8
    Dernier message: 06/01/2004, 22h21
  5. comment programmer une progressbar
    Par Choucas dans le forum Paradox
    Réponses: 3
    Dernier message: 13/11/2002, 11h07

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