begin process at 2012 02 14 20:21:24
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

J'AI BESOIN D'AIDE !!!! :)

 > 

Une petite aide svp pour un état d'avancement d'une macro!!!


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Une petite aide svp pour un état d'avancement d'une macro!!!

vendredi 28 octobre 2005 à 17:20:02 | Une petite aide svp pour un état d'avancement d'une macro!!!

matthieu7815

Bonjour,

Je souhaiterai savoir comment mettre en place une barre d'avancement.
En effet, ma macro est assez longue et je souhaiterai mettre en place une barre qui permette de voir l'execution de la macro.

Ce que je souhaite est en fait la même chose que lorsque l'on télécharge quelque chose. En effet, suivant l'avacement de la macro la barre doit par exemple se colorier pour signaler qu'elle tourne toujours et non pas qu'elle est bloquée.

Merci d'avance.
vendredi 28 octobre 2005 à 19:57:08 | Re : Une petite aide svp pour un état d'avancement d'une macro!!!

NicoSoftt

Salut
t'es en  VBA, VB ou Vb.net ?
Peux-tu donner ta macro en précisant les actions particulièrement longues
vendredi 28 octobre 2005 à 22:12:06 | Re : Une petite aide svp pour un état d'avancement d'une macro!!!

matthieu7815

Bah écoute je suis en visual basic à partir d'excel donc VBA je pense.
Mais mon problème n'est pas lié au fait que la macro soit longue mais plus au fait que je désire mettre une barre qui montre l'avancement de la macro afin de savoir où en est son execution.
vendredi 28 octobre 2005 à 22:16:23 | Re : Une petite aide svp pour un état d'avancement d'une macro!!!

NicoSoftt

ReSalut
Es-tu dans un classeur ou dans une UserForm ?
Est-ce que ta macro contient principalement une boucle ? (Do... Loop; For...Next)

vendredi 28 octobre 2005 à 22:48:18 | Re : Une petite aide svp pour un état d'avancement d'une macro!!!

matthieu7815

dans un classeur. il y a plusieurs boucles do while and for next
samedi 29 octobre 2005 à 08:26:40 | Re : Une petite aide svp pour un état d'avancement d'une macro!!!

galopin01

Bonjour,
la manière la plus simple :
Application.DisplayStatusBar = True
Application.StatusBar = "Avancement +++."

Et tu rajoutes un + au msg à chaque boucle (ou dizaine de boucles)
A+
samedi 29 octobre 2005 à 08:37:35 | Re : Une petite aide svp pour un état d'avancement d'une macro!!!

galopin01

Exemple :

Sub test()
Application.DisplayStatusBar = True
For i = 1 To 100000000
If i Mod (1000) = 0 Then Application.StatusBar = "Avancement " &
i / 10000
Next
End Sub
samedi 29 octobre 2005 à 12:11:50 | Re : Une petite aide svp pour un état d'avancement d'une macro!!!

valtrase

Lut,
En cherchant bien sur la toile ...........
Function CreateProgressBar(Txt$) As Object
Dim BarForm As Object, Lbl As Object, btn As Object, X
 
  'le userform
  Set BarForm = ThisWorkbook.VBProject.VBComponents.Add(3)
  With BarForm
    .Properties("Caption") = Txt
    .Properties("Width") = 267
    .Properties("Height") = 100
    .Properties("ShowModal") = False
  End With
 
  'le label pour afficher la progression
  Set Lbl = BarForm.designer.Controls.Add("forms.Label.1")
  With Lbl
    .Left = 24: .Top = 7: .Width = 215: .Height = 15
    .BackColor = &HFF8080: .SpecialEffect = 2
    .Font.Bold = True: .TextAlign = 2
  End With
   
  VBA.UserForms.Add (BarForm.Name)
  Set CreateProgressBar = UserForms(UserForms.count - 1)
   
End Function 'fs

Sub MAJBarre(PB As Object, Inc, Compteur, Max)
  If Compteur Mod Inc = 0 Then
    With PB
      .Label1.Width = CInt(Compteur * 215 / Max)
      .Label1.Caption = Format(Compteur / Max, "0%")
      .Repaint
    End With
  End If
End Sub 'fs

Sub DelProgressBar(Nom$)
  With ThisWorkbook.VBProject.VBComponents
        .Remove .Item(Nom)
    End With
End Sub 'fs

'exemple d'utilisation simple :
'à adapter selon ta config
Sub TestPB()
Dim PB As String, i&, j&, Max&
Dim ufBar As Object

  'crée la barre de progression et l'affecte à une variable objet
  Set ufBar = CreateProgressBar("Test écriture")
  ufBar.Show
 
  Max = 5000
  For i = 1 To 5000
    For j = 1 To 10
     
      'pour faire quelque chose
      Cells(i, j).Value = i + j
   
      'mise à jour de la barre de progression
      MAJBarre ufBar, 10, i, Max
   
    Next j
  Next i
 
  'détruit la barre de progression
  '(il faut procéder dans cet ordre)
  DelProgressBar ufBar.Name
  Unload ufBar
  Set ufBar = Nothing
 
  'on efface tout
  Cells.ClearContents
  MsgBox "Terminé"
 
End Sub

Cordialement, Jean-Paul  
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé

lundi 31 octobre 2005 à 20:50:44 | Msgbox!!! A l'aide!!!

matthieu7815

Bonjour,

Je souhaiterai savoir comment donner les valeurs d'une plage range(cells(3,"A"),cells(x,"D")) dans un msgbox. Jusqu'à maintenant il me le refuse. De plus je souhaiterai savoir s'il est possible de rectifier la taille de la fenêtre du msg box et de mettre des termes en gras ou souligné dans un msgbox.

Merci d'avance
mardi 1 novembre 2005 à 22:50:22 | Re : Une petite aide svp pour un état d'avancement d'une macro!!!

valtrase

Normal ta syntaxe est incorecte
si tu utilises Range tu doit lui passer une chaine dans le style "A1" ou "A1:J10"
pour Cells tu doit rentrer des entiers longs ex: Cells(1,15) et pour finir si tu utilises cells dans range tu doit donner une chaine a Range donc c'est dans le style
Range(Cells(1,1).Address,Cells(10,12).Address).
Pour ta deuxième question pour la taille la seule solution c'est de faire des retour de lignes avec vbCRLF.sinon pas de gras ni de souligné ou alors te construire ta prope msgBox avec une UserForm

Cordialement, Jean-Paul  
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé


Cette discussion est classée dans : aide, macro, barre, état, avancement


Répondre à ce message

Sujets en rapport avec ce message

[VBA Excel2000] Barre d'état - Affichage en pourcentage de l'exécution d'une macro [ par Stardust31 ] Bonjour, Lors de l'exécution d'une macro sous excel 2000, je souhaite faire apparaitre dans la barre d'état de la feuille d'excel (en bas sur le côté Aide Impression Code barre [ par waspy59 ] Bonjour au forum,Voila je developpe un petit logiciel de lecture et de convertion de CB 128C et CB 2 parmi 5 entrelacé.... jusque là aucun souci.Cepen Appli réduite en barre des taches [ par jimmypage64 ] Bonjour,Je voudrais savoir si j'ai un moyen en VB6, a l'aide d'une API ou pas, de savoir si mon application a été réduite en barre des taches: pas dan excel vba [ par pylot_51 ] Bonjour, je voulais savoir si il etait possible de garder en mémoire l'état d'une varriable utilisée dans une macro excel quand on ferme excel et retr Aide sur Macro Excel [ par vinsou82 ] Bonjour à tous!Ceci est mon premier poste et pour cause: je n'ai jamais touché à du VBA, mais là je me retouve le nez dedans malgrés moi et sans aucun aide barre d'outils [ par pascallac ] bonjourje l'avais fait une fois mais depuis hier je ne trouve plus l'assistant aplication pour creer ma barre d'outilavez une idée sur mon probleme c Besoin d'aide pour enregistrer un fichier [ par jeremilie ] Voila mon problème, j'ai un fichier que j'enregistre à l'aide d'une macro,le nom du fichier est defini cmme valeur d'une certaine cellule.Hors quand j aide VBA macro excel [ par yagami13 ] Bonjour à tous,j'aurai souhaiter un peit peu d'aide pour créer une macro sous excel .....Voila ce que je veux faire : j'ai 2 fichiers excel distinct " Copier plusieurs classeurs excel dans un seul à l'aide d'une macro [ par kev77310 ] Bonjour à tous,Je suis nouveau sur le site donc désolé si je fais des erreurs de post.Je suis novice sur Visual Basic et j'aimerais savoir si quelqu'u


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,499 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales