Case à cocher et pourcentage d'avancement
Résolu/Fermé
amiraltom
Messages postés
48
Date d'inscription
mardi 29 mars 2011
Statut
Membre
Dernière intervention
28 juin 2011
-
30 mars 2011 à 15:17
amiraltom Messages postés 48 Date d'inscription mardi 29 mars 2011 Statut Membre Dernière intervention 28 juin 2011 - 1 avril 2011 à 14:47
amiraltom Messages postés 48 Date d'inscription mardi 29 mars 2011 Statut Membre Dernière intervention 28 juin 2011 - 1 avril 2011 à 14:47
A voir également:
- Excel pourcentage d'avancement
- Liste déroulante excel - Guide
- Si et excel - Guide
- Camembert excel pourcentage - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
5 réponses
amiraltom
Messages postés
48
Date d'inscription
mardi 29 mars 2011
Statut
Membre
Dernière intervention
28 juin 2011
31 mars 2011 à 09:09
31 mars 2011 à 09:09
Bonjour!
En quel langage? et bien c'est pour un tableau excel donc j'imagine que c'est du VBA qu'il faut, non ? Mais je ne m'y connais vraiment pas!
Merci !
tom
En quel langage? et bien c'est pour un tableau excel donc j'imagine que c'est du VBA qu'il faut, non ? Mais je ne m'y connais vraiment pas!
Merci !
tom
Bonjour,
Effectivement, pour excel c'est du VBA.
Pour visualiser un taux d'avancement ou de progression, on utilise un controle nommé ProgressBar, qui va se remplir en fonction d'une valeur donnée par rapport à un mini et un maxi. Pour une valeur exprimée en %, l'intervalle va de 0 à 100.
Voici un petit exemple que j'ai réalisé.
Sur une UserForm j'ai placé 4 CheckBox et une ProgressBar.
Si la ProgressBar n'est pas dans la boite à outils, faire un clic droit dans la boite à outil pour acceder aux controles supplémentaires, puis cocher Microsoft ProgressBar Control 6.0.
Vérifie bien les propriétés Mini =0 et Maxi =100 de la progressbar.
A l'exécution, tu devrais voir 4 checkbox et une progressbar vide. Chaque fois que tu coches une checkbox, la progressbar se rempli de 25%.
Voici le code à coller dans la partie code de la userforn (faire un double clic sur la userform pour y accéder directement).
Salut ;)
Effectivement, pour excel c'est du VBA.
Pour visualiser un taux d'avancement ou de progression, on utilise un controle nommé ProgressBar, qui va se remplir en fonction d'une valeur donnée par rapport à un mini et un maxi. Pour une valeur exprimée en %, l'intervalle va de 0 à 100.
Voici un petit exemple que j'ai réalisé.
Sur une UserForm j'ai placé 4 CheckBox et une ProgressBar.
Si la ProgressBar n'est pas dans la boite à outils, faire un clic droit dans la boite à outil pour acceder aux controles supplémentaires, puis cocher Microsoft ProgressBar Control 6.0.
Vérifie bien les propriétés Mini =0 et Maxi =100 de la progressbar.
A l'exécution, tu devrais voir 4 checkbox et une progressbar vide. Chaque fois que tu coches une checkbox, la progressbar se rempli de 25%.
Voici le code à coller dans la partie code de la userforn (faire un double clic sur la userform pour y accéder directement).
Dim Progress As Integer Private Sub UserForm_Activate() ProgressBar1.Value = 0 Progress = 0 End Sub Private Sub CheckBox1_Click() If CheckBox1 Then Progress = Progress + 25 Else Progress = Progress - 25 'MsgBox Progress ProgressBar1.Value = Progress End Sub Private Sub CheckBox2_Click() If CheckBox2 Then Progress = Progress + 25 Else Progress = Progress - 25 ProgressBar1.Value = Progress End Sub Private Sub CheckBox3_Click() If CheckBox3 Then Progress = Progress + 25 Else Progress = Progress - 25 ProgressBar1.Value = Progress End Sub Private Sub CheckBox4_Click() If CheckBox4 Then Progress = Progress + 25 Else Progress = Progress - 25 ProgressBar1.Value = Progress End Sub
Salut ;)
amiraltom
Messages postés
48
Date d'inscription
mardi 29 mars 2011
Statut
Membre
Dernière intervention
28 juin 2011
31 mars 2011 à 14:33
31 mars 2011 à 14:33
wouaw ! merci c'est super, j'essaie tout ça et je vois si j'y arrive !! :)
amiraltom
Messages postés
48
Date d'inscription
mardi 29 mars 2011
Statut
Membre
Dernière intervention
28 juin 2011
31 mars 2011 à 15:15
31 mars 2011 à 15:15
C'est bon, ça a marché. Mais malheureusement ce n'est pas tout à fait ce que voulais obtenir. En l'occurence le Userform est une fenêtre à part de mon tableau excel, or je voudrais l'intégrer directement au doc. Je t'envoie le lien du doc que j'utilise pour te donner une idée....http://www.cijoint.fr/cjlink.php?file=cj201103/cij57bAGwl.xls j'ai mis des commentaires sur certaines cellules (qui font aussi références à d'autres questions que je me pose...si tu as du temps et l'envie de te pencher dessus ! =) )
Encore merci !
Encore merci !
Bonsoir,
En effet, ayant ton tableau sous les yeux, je m'apperçois que j'étais à coté de la plaque. Maintenant je vois.
Je ne sais pas où tu as été chercher tes cases à cocher, mes elles ne fonctionnent pas tout à fait comme les checkbox du VBA, dans le sens où je n'arrive pas à connaitre leur état (coché/non coché), il y a surement un moyen mais je ne le connais pas.
Je les ai remplacé par trois checkbox classiques, celles qui se trouvent dans la boite à outil Visual Basic.
En mode création (le bouton avec l'équerre enfoncé), double clic sur la checkbox et tu arrives dans l'éditeur VBA.
Voici le code à placer dans le code de la feuille.
Repasses en mode execution (le bouton avec l'équerre relevé), et si tout se passe bien, le pourcentage devrait changer en fonction du nombre de cases cochées.
Salut :)
En effet, ayant ton tableau sous les yeux, je m'apperçois que j'étais à coté de la plaque. Maintenant je vois.
Je ne sais pas où tu as été chercher tes cases à cocher, mes elles ne fonctionnent pas tout à fait comme les checkbox du VBA, dans le sens où je n'arrive pas à connaitre leur état (coché/non coché), il y a surement un moyen mais je ne le connais pas.
Je les ai remplacé par trois checkbox classiques, celles qui se trouvent dans la boite à outil Visual Basic.
En mode création (le bouton avec l'équerre enfoncé), double clic sur la checkbox et tu arrives dans l'éditeur VBA.
Voici le code à placer dans le code de la feuille.
Private Sub CheckBox1_Click() If CheckBox1 Then Range("k13").Value = Range("k13").Value + (1 / 3) Else Range("k13").Value = Range("k13").Value - (1 / 3) End If End Sub Private Sub CheckBox2_Click() If CheckBox2 Then Range("k13").Value = Range("k13").Value + (1 / 3) Else Range("k13").Value = Range("k13").Value - (1 / 3) End If End Sub Private Sub CheckBox3_Click() If CheckBox3 Then Range("k13").Value = Range("k13").Value + (1 / 3) Else Range("k13").Value = Range("k13").Value - (1 / 3) End If End Sub
Repasses en mode execution (le bouton avec l'équerre relevé), et si tout se passe bien, le pourcentage devrait changer en fonction du nombre de cases cochées.
Salut :)
amiraltom
Messages postés
48
Date d'inscription
mardi 29 mars 2011
Statut
Membre
Dernière intervention
28 juin 2011
1 avril 2011 à 09:38
1 avril 2011 à 09:38
Merci pour le code c'est vraiment sympa, par contre je n'ai pas trop saisi comment tu remplaçais les cases cochées que j'ai mise (avec la palette "Formulaires" du tableau). Je dois me placer dans la fenêtre de VBA c'est ça? Mais ensuite, comment "créer" des checkbox sans utiliser de Userform? Au final tout doit se passer sur le tableau Excel du planning...
désolé d'insister !! =)
désolé d'insister !! =)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Oui, j'ai trouvé la palette Formulaire. Je n'utilise pas celle-ci
Dans le menu Affichage -> Barre d'Outils, choisis Visual Basic.
Il y a sensiblement les mêmes contrôles, mais visiblement il y a quelques différences.
Je te retourne ton tableau avec mes modifs, si tu n'y arrives toujours pas.
http://www.cijoint.fr/cjlink.php?file=cj201104/cijGHwI0Cm.xls
Par contre, la cellule K13 doit etre vide au depart, sinon le pourcentage sera faux.
De même, il ne faut pas modifier cette cellule alors qu'une case est cochée ou tout simplement changer sa valeur, sinon ce sera faux. En conclusion, proteger celle cellule pour eviter toute modification manuelle.
:)
Oui, j'ai trouvé la palette Formulaire. Je n'utilise pas celle-ci
Dans le menu Affichage -> Barre d'Outils, choisis Visual Basic.
Il y a sensiblement les mêmes contrôles, mais visiblement il y a quelques différences.
Je te retourne ton tableau avec mes modifs, si tu n'y arrives toujours pas.
http://www.cijoint.fr/cjlink.php?file=cj201104/cijGHwI0Cm.xls
Par contre, la cellule K13 doit etre vide au depart, sinon le pourcentage sera faux.
De même, il ne faut pas modifier cette cellule alors qu'une case est cochée ou tout simplement changer sa valeur, sinon ce sera faux. En conclusion, proteger celle cellule pour eviter toute modification manuelle.
:)
amiraltom
Messages postés
48
Date d'inscription
mardi 29 mars 2011
Statut
Membre
Dernière intervention
28 juin 2011
1 avril 2011 à 14:31
1 avril 2011 à 14:31
Merci pour ton aide numero 6, le résultat rend bien mais malheureusement mon document est gros et j'ai plein de check list de taille différente à mettre en place. Du coup cette solution n'est pas assez maniable. Je suis en train de me demander s'il n'y a pas une fonction ou une macro qui permettrait d'écrire un x dans une cellule lorsqu'on clique dessus et de l'enlever lorsqu'on reclique dessus...(il n'y aurait plus le problème du calcul du pourcentage car une simple formule permettrait de le calculer en comptabilisant le nombre de case où il y a un x su une plage donnée.)
Merci encore pour ton aide et désolé de t'embêter avec ça! =)
tom
Merci encore pour ton aide et désolé de t'embêter avec ça! =)
tom
amiraltom
Messages postés
48
Date d'inscription
mardi 29 mars 2011
Statut
Membre
Dernière intervention
28 juin 2011
1 avril 2011 à 14:47
1 avril 2011 à 14:47
C'est bon !! j'ai trouvé dans une des conversations parallèles que je mène la macro qui convenait (je l'avais essayé sans voir les résultats puisque les plages n'étaient pas adaptées, mais je l'ai retester en entrant les plages qui faut et ça marche.
Une dernière fois merci!
Bonne journée à toi et bonne continuation !
Tom
Une dernière fois merci!
Bonne journée à toi et bonne continuation !
Tom