Je cherche à établir un graphique de productivité : Axe vertical : nombre
d'actions par minute sur une plage de durée (axe horizontal).
Mes données d'entrée, récupérées sur une feuille Excel (requête d'une appli
interne (non Excel) enregistrée sous le format nom.XLS) se présentent sur 2
colonnes :
Heure (format 1 pour 00:01, 59 pour 00:59, 100 pour 01:00)
Nombre d'actions.
Il n'y a pas forcément d'action chaque minute, et je souhaite visualiser sur
un graphe les actions sur une plage donnée (exemple de 02:00 à 06:00).
La solution que j'avais adoptée (Excel4) était de recopier en colonne D par
macro les valeurs 200 à259, 300 à 359, 400 à 459, 500 à 559 et 600 à 659
(plage que j'avais nommée sur la feuille.XLM) à coté de mon extraction, de
faire un recherche verticale sur mes 2 premières colonnes pour que les
actions, si elles existent, se situent en face des heures colonne E, et pour
pouvoir faire un graphe tout simple.
Je souhaite réécrire ce bout de code en VBA, et c'est la raison pour
laquelle je fais appel à vos lumières.
Pouvez-vous m'aider à générer cette colonne D. Le must serait bien entendu
une boite de dialogue permettant d'entrer sous format 02:00 le début et la
fin de la plage à créer.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Patrick Bastard
Merci à ceux et celles qui veulent bien m'aider de me dire si ma demande nécessite des éclaircissements. ;-)
Bonjour à toutes et à tous.
Je cherche à établir un graphique de productivité : Axe vertical : nombre d'actions par minute sur une plage de durée (axe horizontal).
Mes données d'entrée, récupérées sur une feuille Excel (requête d'une appli interne (non Excel) enregistrée sous le format nom.XLS) se présentent sur 2 colonnes : Heure (format 1 pour 00:01, 59 pour 00:59, 100 pour 01:00) Nombre d'actions.
Il n'y a pas forcément d'action chaque minute, et je souhaite visualiser sur un graphe les actions sur une plage donnée (exemple de 02:00 à 06:00).
La solution que j'avais adoptée (Excel4) était de recopier en colonne D par macro les valeurs 200 à259, 300 à 359, 400 à 459, 500 à 559 et 600 à 659 (plage que j'avais nommée sur la feuille.XLM) à coté de mon extraction, de faire un recherche verticale sur mes 2 premières colonnes pour que les actions, si elles existent, se situent en face des heures colonne E, et pour pouvoir faire un graphe tout simple.
Je souhaite réécrire ce bout de code en VBA, et c'est la raison pour laquelle je fais appel à vos lumières.
Pouvez-vous m'aider à générer cette colonne D. Le must serait bien entendu une boite de dialogue permettant d'entrer sous format 02:00 le début et la fin de la plage à créer.
Merci par avance de vos pistes,
Bien cordialement,
Patrick
Merci à ceux et celles qui veulent bien m'aider de me dire si ma demande
nécessite des éclaircissements.
;-)
Bonjour à toutes et à tous.
Je cherche à établir un graphique de productivité : Axe vertical :
nombre d'actions par minute sur une plage de durée (axe horizontal).
Mes données d'entrée, récupérées sur une feuille Excel (requête d'une
appli interne (non Excel) enregistrée sous le format nom.XLS) se
présentent sur 2 colonnes :
Heure (format 1 pour 00:01, 59 pour 00:59, 100 pour 01:00)
Nombre d'actions.
Il n'y a pas forcément d'action chaque minute, et je souhaite
visualiser sur un graphe les actions sur une plage donnée (exemple de
02:00 à 06:00).
La solution que j'avais adoptée (Excel4) était de recopier en colonne
D par macro les valeurs 200 à259, 300 à 359, 400 à 459, 500 à 559 et
600 à 659 (plage que j'avais nommée sur la feuille.XLM) à coté de mon
extraction, de faire un recherche verticale sur mes 2 premières
colonnes pour que les actions, si elles existent, se situent en face
des heures colonne E, et pour pouvoir faire un graphe tout simple.
Je souhaite réécrire ce bout de code en VBA, et c'est la raison pour
laquelle je fais appel à vos lumières.
Pouvez-vous m'aider à générer cette colonne D. Le must serait bien
entendu une boite de dialogue permettant d'entrer sous format 02:00
le début et la fin de la plage à créer.
Merci à ceux et celles qui veulent bien m'aider de me dire si ma demande nécessite des éclaircissements. ;-)
Bonjour à toutes et à tous.
Je cherche à établir un graphique de productivité : Axe vertical : nombre d'actions par minute sur une plage de durée (axe horizontal).
Mes données d'entrée, récupérées sur une feuille Excel (requête d'une appli interne (non Excel) enregistrée sous le format nom.XLS) se présentent sur 2 colonnes : Heure (format 1 pour 00:01, 59 pour 00:59, 100 pour 01:00) Nombre d'actions.
Il n'y a pas forcément d'action chaque minute, et je souhaite visualiser sur un graphe les actions sur une plage donnée (exemple de 02:00 à 06:00).
La solution que j'avais adoptée (Excel4) était de recopier en colonne D par macro les valeurs 200 à259, 300 à 359, 400 à 459, 500 à 559 et 600 à 659 (plage que j'avais nommée sur la feuille.XLM) à coté de mon extraction, de faire un recherche verticale sur mes 2 premières colonnes pour que les actions, si elles existent, se situent en face des heures colonne E, et pour pouvoir faire un graphe tout simple.
Je souhaite réécrire ce bout de code en VBA, et c'est la raison pour laquelle je fais appel à vos lumières.
Pouvez-vous m'aider à générer cette colonne D. Le must serait bien entendu une boite de dialogue permettant d'entrer sous format 02:00 le début et la fin de la plage à créer.
Merci par avance de vos pistes,
Bien cordialement,
Patrick
JpPradier
Bonjour Patrick
Peut-etre devrais-tu donner ta macro Excel4 pour eclairer ta demande.
j-p
Bonjour Patrick
Peut-etre devrais-tu donner ta macro Excel4 pour eclairer ta demande.
=QUADRILLAGE(VRAI;FAUX;VRAI;FAUX) =AJOUTER.TEXTE(1) =FORMAT.POLICE(0;1;FAUX;"MS Sans Serif";12;VRAI;FAUX;FAUX;FAUX) =FORMULE("=""TG1 du ........................................""")
=QUADRILLAGE(VRAI;FAUX;VRAI;FAUX)
=AJOUTER.TEXTE(1)
=FORMAT.POLICE(0;1;FAUX;"MS Sans Serif";12;VRAI;FAUX;FAUX;FAUX)
=FORMULE("=""TG1 du ........................................""")
=QUADRILLAGE(VRAI;FAUX;VRAI;FAUX) =AJOUTER.TEXTE(1) =FORMAT.POLICE(0;1;FAUX;"MS Sans Serif";12;VRAI;FAUX;FAUX;FAUX) =FORMULE("=""TG1 du ........................................""")
Peut-etre devrais-tu donner ta macro Excel4 pour eclairer ta demande.
j-p
JpPradier
Voilà une traduction incomplete de ta macro. Je n'ai pas reproduit la mise en forme de la serie de points.
j-p
Sub Productivité() Dim table(500)
Application.ScreenUpdating = False Workbooks.Open (ActiveWorkbook.Path & "/TG1.xls") cpt = 0 For j = 0 To 6 For i = 0 To 59 Range("d2").Offset(cpt).Value = j * 100 + i cpt = cpt + 1 Next Next
Voilà une traduction incomplete de ta macro. Je n'ai pas reproduit la mise en forme de la serie de
points.
j-p
Sub Productivité()
Dim table(500)
Application.ScreenUpdating = False
Workbooks.Open (ActiveWorkbook.Path & "/TG1.xls")
cpt = 0
For j = 0 To 6
For i = 0 To 59
Range("d2").Offset(cpt).Value = j * 100 + i
cpt = cpt + 1
Next
Next
Voilà une traduction incomplete de ta macro. Je n'ai pas reproduit la mise en forme de la serie de points.
j-p
Sub Productivité() Dim table(500)
Application.ScreenUpdating = False Workbooks.Open (ActiveWorkbook.Path & "/TG1.xls") cpt = 0 For j = 0 To 6 For i = 0 To 59 Range("d2").Offset(cpt).Value = j * 100 + i cpt = cpt + 1 Next Next
cpt = 0 For j = 0 To 6 For i = 0 To 59 Range("d2").Offset(cpt).Value = j * 100 + i cpt = cpt + 1 Next Next
Si j'ai bien compris, il ne me reste plus qu'à remplacer les valeurs de J par des noms, et je pourrai paramétrer à l'aide d'une boite de dialogue. Pour la mise en forme du graphique, pas de problème : je vais faire chauffer l'enregistreur de macro.
Un grand merci,
Bien cordialement,
Patrick.
Bonsoir, *Jean-Pascal*.
C'est très exactement ce que je cherchais :
:-)
cpt = 0
For j = 0 To 6
For i = 0 To 59
Range("d2").Offset(cpt).Value = j * 100 + i
cpt = cpt + 1
Next
Next
Si j'ai bien compris, il ne me reste plus qu'à remplacer les valeurs de J
par des noms, et je pourrai paramétrer à l'aide d'une boite de dialogue.
Pour la mise en forme du graphique, pas de problème : je vais faire chauffer
l'enregistreur de macro.
cpt = 0 For j = 0 To 6 For i = 0 To 59 Range("d2").Offset(cpt).Value = j * 100 + i cpt = cpt + 1 Next Next
Si j'ai bien compris, il ne me reste plus qu'à remplacer les valeurs de J par des noms, et je pourrai paramétrer à l'aide d'une boite de dialogue. Pour la mise en forme du graphique, pas de problème : je vais faire chauffer l'enregistreur de macro.
Un grand merci,
Bien cordialement,
Patrick.
JpPradier
Bonjour Patrick
Voici une méthode un peu plus simple pour integrer les variables de debut et fin :
HeureDeb = "02:10" HeureFin = "04:44"
cpt = 0 Deb = CInt(Left(HeureDeb, InStr(HeureDeb, ":") - 1)) * 60 + CInt(Right(HeureDeb, 2)) Fin = CInt(Left(HeureFin, InStr(HeureFin, ":") - 1)) * 60 + CInt(Right(HeureFin, 2)) For i = Deb To Fin Range("d2").Offset(cpt).Value = Int(i / 60) & ":" & (i Mod 60) cpt = cpt + 1 Next
j-p
Bonjour Patrick
Voici une méthode un peu plus simple pour integrer les variables de debut et fin :
HeureDeb = "02:10"
HeureFin = "04:44"
cpt = 0
Deb = CInt(Left(HeureDeb, InStr(HeureDeb, ":") - 1)) * 60 + CInt(Right(HeureDeb, 2))
Fin = CInt(Left(HeureFin, InStr(HeureFin, ":") - 1)) * 60 + CInt(Right(HeureFin, 2))
For i = Deb To Fin
Range("d2").Offset(cpt).Value = Int(i / 60) & ":" & (i Mod 60)
cpt = cpt + 1
Next
Voici une méthode un peu plus simple pour integrer les variables de debut et fin :
HeureDeb = "02:10" HeureFin = "04:44"
cpt = 0 Deb = CInt(Left(HeureDeb, InStr(HeureDeb, ":") - 1)) * 60 + CInt(Right(HeureDeb, 2)) Fin = CInt(Left(HeureFin, InStr(HeureFin, ":") - 1)) * 60 + CInt(Right(HeureFin, 2)) For i = Deb To Fin Range("d2").Offset(cpt).Value = Int(i / 60) & ":" & (i Mod 60) cpt = cpt + 1 Next
j-p
Patrick Bastard
*Pour reprendre les termes de ton intervention* -voir en fin de message :
Encore merci, Jean Pascal
Celui-là, je me le mets de côté, car j'aime bien comprendre ce que j'utilise, et là; il me faudra un peu ;-) de temps pour décortiquer.
Bien cordialement,
Patrick.
Bonjour Patrick
Voici une méthode un peu plus simple pour integrer les variables de debut et fin :
HeureDeb = "02:10" HeureFin = "04:44"
cpt = 0 Deb = CInt(Left(HeureDeb, InStr(HeureDeb, ":") - 1)) * 60 + CInt(Right(HeureDeb, 2)) Fin = CInt(Left(HeureFin, InStr(HeureFin, ":") - 1)) * 60 + CInt(Right(HeureFin, 2)) For i = Deb To Fin Range("d2").Offset(cpt).Value = Int(i / 60) & ":" & (i Mod 60) cpt = cpt + 1 Next
j-p
*Pour reprendre les termes de ton intervention* -voir en fin de message :
Encore merci, Jean Pascal
Celui-là, je me le mets de côté, car j'aime bien comprendre ce que
j'utilise, et là; il me faudra un peu ;-) de temps pour décortiquer.
Bien cordialement,
Patrick.
Bonjour Patrick
Voici une méthode un peu plus simple pour integrer les variables de
debut et fin :
HeureDeb = "02:10"
HeureFin = "04:44"
cpt = 0
Deb = CInt(Left(HeureDeb, InStr(HeureDeb, ":") - 1)) * 60 +
CInt(Right(HeureDeb, 2)) Fin = CInt(Left(HeureFin, InStr(HeureFin,
":") - 1)) * 60 + CInt(Right(HeureFin, 2)) For i = Deb To Fin
Range("d2").Offset(cpt).Value = Int(i / 60) & ":" & (i Mod 60)
cpt = cpt + 1
Next
*Pour reprendre les termes de ton intervention* -voir en fin de message :
Encore merci, Jean Pascal
Celui-là, je me le mets de côté, car j'aime bien comprendre ce que j'utilise, et là; il me faudra un peu ;-) de temps pour décortiquer.
Bien cordialement,
Patrick.
Bonjour Patrick
Voici une méthode un peu plus simple pour integrer les variables de debut et fin :
HeureDeb = "02:10" HeureFin = "04:44"
cpt = 0 Deb = CInt(Left(HeureDeb, InStr(HeureDeb, ":") - 1)) * 60 + CInt(Right(HeureDeb, 2)) Fin = CInt(Left(HeureFin, InStr(HeureFin, ":") - 1)) * 60 + CInt(Right(HeureFin, 2)) For i = Deb To Fin Range("d2").Offset(cpt).Value = Int(i / 60) & ":" & (i Mod 60) cpt = cpt + 1 Next