Accueil > > > DIFFUSION VIA UN INTRANET DES PLANNINGS DU LOGICIEL "PLANNICIEL"
DIFFUSION VIA UN INTRANET DES PLANNINGS DU LOGICIEL "PLANNICIEL"
Information sur la source
Description
Le but de ce code est de diffuser les plannings, tout en empéchant l'impression de ces derniers. Mouais c'est pas gentil mais le personnel perdait son planning tous les deux jours et le réimprimait. La personne chargée des plannings passait une après midi entière à aller les afficher, à chaque modification. Planniciel propose de créer les fichiers dans plusieurs formats (.doc .xls .htm) j'ai retenu le format HTML car c'est celui qui rendait le meilleur aspect. le programme en lui même est logé dans un dossier partagé (où j'ai donné les droits en écriture aux personnes chargées des plannings, le reste du personnel l'a en acces lecture et exécution seulement). Les ordinateurs des salles de soins (je bosse dans un hopital) ont un raccourci vers ce programme sur le bureau. Les fichiers HTML et .Txt que le programme appelle sont dans un dossier caché "pln" logé dans le même dossier que l'application (l'informaticien a réussi à empécher l'affichage des fichiers cachés sur ces PC). Il affiche le mois en cours et le mois suivant. Les fichiers 01.txt 02.txt .... 12.txt correspondent aux mois de l'année. Ils contiennent sur chaque ligne le nom du planning, le séparateur "<%;%>" et l'addresse partielle du fichier HTML du planning. Là maintenant nous sommes en septembre. dans le zip j'ai mis un planning anonymisé (celui de Antares) afin que vous puissiez voir le résultat. voila, en espérant que ce code puisse vous inspirer pour d'autres programmes.
Source
- Dim table() As String
- Dim erri As String, chemin As String, r As Boolean
- Dim i As Integer
- Dim dateactu() As String, datemoissuivant() As String
-
-
-
-
-
- Private Sub Command1_Click()
- '*************** bouton retour*****************
- 'page blanche
- WebBrowser1.navigate ("file://" & App.Path & "PLN\Blanc.HTM")
-
- 'Masquer l'affichage du planning
- Command1.Visible = False
- WebBrowser1.Visible = False
- Picture1.Visible = False
- VScroll1.Visible = False
- HScroll1.Visible = False
-
- 'afficher la Frame de selection du planning
- Frame1.Visible = True
-
- End Sub
-
-
-
- Private Sub Command2_Click()
- '****************Bouton QUITTER******************
- End
- End Sub
-
-
- Private Sub Form_Load()
- erri = Date
- 'recherche du mois en cours
- dateactu = Split(erri, "/")
- Option1.Caption = "du mois " & dateactu(1) & "/" & dateactu(2)
-
- 'date mois suivant
- erri = DateAdd("m", 1, Date)
- datemoissuivant = Split(erri, "/")
- Option2.Caption = "du mois " & datemoissuivant(1) & "/" & datemoissuivant(2)
-
- 'une page blanche par défaut dans le webbrowser (c'est inutile)
- WebBrowser1.navigate ("file://" & App.Path & "\PLN\Blanc.HTM")
-
- 'chargement du fichier texte de données du mois en cours dans le tableau nommé table
- r = ImportTxtFile(App.Path & "\PLN\" & dateactu(1) & ".txt", "<%;%>", table, erri)
-
-
- List1.Clear
- 'remplir list box
- For i = LBound(table(), 1) To UBound(table(), 1)
- List1.AddItem (table(i, 1))
- Next i
-
-
-
- End Sub
-
- Private Sub Form_Resize()
- 'condition pour ne pas planter en cas de réduction de l'application
- If Form1.Height > 360 Then
- Picture1.Top = 1320
- Picture1.Height = Form1.Height - 2145
- Picture1.Left = 0
- Picture1.Width = Form1.Width - 150
- VScroll1.Left = Picture1.Width - 250
- VScroll1.Height = Picture1.Height
- HScroll1.Top = Picture1.Top + Picture1.Height - 250
- HScroll1.Width = Picture1.Width - VScroll1.Width
- VScroll1.Height = Picture1.Height - HScroll1.Height
- End If
-
- End Sub
-
- Private Sub Option1_click()
-
-
- r = ImportTxtFile(App.Path & "\PLN\" & dateactu(1) & ".txt", "<%;%>", table, erri)
-
-
- List1.Clear
- 'remplir list box
- For i = LBound(table(), 1) To UBound(table(), 1)
- List1.AddItem (table(i, 1))
- Next i
- End Sub
-
-
- Private Sub Option2_click()
-
- r = ImportTxtFile(App.Path & "\PLN\" & datemoissuivant(1) & ".txt", "<%;%>", table, erri)
-
-
- List1.Clear
- 'remplir list box
- For i = LBound(table(), 1) To UBound(table(), 1)
- List1.AddItem (table(i, 1))
- Next i
- End Sub
-
- '****************les barres de défillement***************
- Private Sub VScroll1_Change()
- WebBrowser1.Top = -VScroll1.Value
-
- End Sub
-
- Private Sub HScroll1_Change()
- WebBrowser1.Left = -HScroll1.Value
-
- End Sub
-
-
- Private Sub List1_Click()
- '************************Affichage du planning sélectionné***************
-
- 'condition écartant la première valeur de la listbox (valeur nulle)
-
- If List1.ListIndex <> 0 Then
-
- 'masquer l'interface de choix du planning
- Frame1.Visible = False
-
- 'afficher les objets nécessaires à la lecture du planning
- Command1.Visible = True
- Picture1.Visible = True
- VScroll1.Visible = True
- HScroll1.Visible = True
- WebBrowser1.Visible = True
-
-
- 'charger le fichier html
- chemin = "file://" & App.Path & "\" & table(List1.ListIndex, 2)
- WebBrowser1.navigate (chemin)
-
-
- 'emplacement des objets relatif à la taille de la form
- Call Form_Resize
-
- End If
-
- End Sub
-
-
- Private Function ImportTxtFile(ByVal fileName As String, ByVal separator As String, ByRef tData() As String, ByRef errorString As String, Optional ByVal baseArray As Integer = 1) As Boolean
- Dim f As Integer
- Dim tLine() As String
- Dim tSplit() As String
- Dim buffer As String
- Dim nbItem As Long
- Dim k As Long, l As Long
-
- On Error GoTo ImportTxtFile_ERR
-
- f = FreeFile()
- Open fileName For Binary As #f
- buffer = Space$(LOF(f))
- Get #f, , buffer
- Close #f
- tSplit() = Split(buffer, vbCrLf)
- nbItem = UBound(Split(tSplit(0), separator)) + baseArray
-
- ReDim tData(UBound(tSplit()) + baseArray, nbItem)
-
- For k = LBound(tSplit()) To UBound(tSplit())
- tLine = Split(tSplit(k), separator)
- For l = LBound(tLine) To UBound(tLine)
- tData(k + baseArray, l + baseArray) = tLine(l)
- Next l
- Next k
- ImportTxtFile = True
-
- ImportTxtFile_END:
- Exit Function
-
- ImportTxtFile_ERR:
- errorString = Err.Description
- Resume ImportTxtFile_END
- End Function
-
Dim table() As String
Dim erri As String, chemin As String, r As Boolean
Dim i As Integer
Dim dateactu() As String, datemoissuivant() As String
Private Sub Command1_Click()
'*************** bouton retour*****************
'page blanche
WebBrowser1.navigate ("file://" & App.Path & "PLN\Blanc.HTM")
'Masquer l'affichage du planning
Command1.Visible = False
WebBrowser1.Visible = False
Picture1.Visible = False
VScroll1.Visible = False
HScroll1.Visible = False
'afficher la Frame de selection du planning
Frame1.Visible = True
End Sub
Private Sub Command2_Click()
'****************Bouton QUITTER******************
End
End Sub
Private Sub Form_Load()
erri = Date
'recherche du mois en cours
dateactu = Split(erri, "/")
Option1.Caption = "du mois " & dateactu(1) & "/" & dateactu(2)
'date mois suivant
erri = DateAdd("m", 1, Date)
datemoissuivant = Split(erri, "/")
Option2.Caption = "du mois " & datemoissuivant(1) & "/" & datemoissuivant(2)
'une page blanche par défaut dans le webbrowser (c'est inutile)
WebBrowser1.navigate ("file://" & App.Path & "\PLN\Blanc.HTM")
'chargement du fichier texte de données du mois en cours dans le tableau nommé table
r = ImportTxtFile(App.Path & "\PLN\" & dateactu(1) & ".txt", "<%;%>", table, erri)
List1.Clear
'remplir list box
For i = LBound(table(), 1) To UBound(table(), 1)
List1.AddItem (table(i, 1))
Next i
End Sub
Private Sub Form_Resize()
'condition pour ne pas planter en cas de réduction de l'application
If Form1.Height > 360 Then
Picture1.Top = 1320
Picture1.Height = Form1.Height - 2145
Picture1.Left = 0
Picture1.Width = Form1.Width - 150
VScroll1.Left = Picture1.Width - 250
VScroll1.Height = Picture1.Height
HScroll1.Top = Picture1.Top + Picture1.Height - 250
HScroll1.Width = Picture1.Width - VScroll1.Width
VScroll1.Height = Picture1.Height - HScroll1.Height
End If
End Sub
Private Sub Option1_click()
r = ImportTxtFile(App.Path & "\PLN\" & dateactu(1) & ".txt", "<%;%>", table, erri)
List1.Clear
'remplir list box
For i = LBound(table(), 1) To UBound(table(), 1)
List1.AddItem (table(i, 1))
Next i
End Sub
Private Sub Option2_click()
r = ImportTxtFile(App.Path & "\PLN\" & datemoissuivant(1) & ".txt", "<%;%>", table, erri)
List1.Clear
'remplir list box
For i = LBound(table(), 1) To UBound(table(), 1)
List1.AddItem (table(i, 1))
Next i
End Sub
'****************les barres de défillement***************
Private Sub VScroll1_Change()
WebBrowser1.Top = -VScroll1.Value
End Sub
Private Sub HScroll1_Change()
WebBrowser1.Left = -HScroll1.Value
End Sub
Private Sub List1_Click()
'************************Affichage du planning sélectionné***************
'condition écartant la première valeur de la listbox (valeur nulle)
If List1.ListIndex <> 0 Then
'masquer l'interface de choix du planning
Frame1.Visible = False
'afficher les objets nécessaires à la lecture du planning
Command1.Visible = True
Picture1.Visible = True
VScroll1.Visible = True
HScroll1.Visible = True
WebBrowser1.Visible = True
'charger le fichier html
chemin = "file://" & App.Path & "\" & table(List1.ListIndex, 2)
WebBrowser1.navigate (chemin)
'emplacement des objets relatif à la taille de la form
Call Form_Resize
End If
End Sub
Private Function ImportTxtFile(ByVal fileName As String, ByVal separator As String, ByRef tData() As String, ByRef errorString As String, Optional ByVal baseArray As Integer = 1) As Boolean
Dim f As Integer
Dim tLine() As String
Dim tSplit() As String
Dim buffer As String
Dim nbItem As Long
Dim k As Long, l As Long
On Error GoTo ImportTxtFile_ERR
f = FreeFile()
Open fileName For Binary As #f
buffer = Space$(LOF(f))
Get #f, , buffer
Close #f
tSplit() = Split(buffer, vbCrLf)
nbItem = UBound(Split(tSplit(0), separator)) + baseArray
ReDim tData(UBound(tSplit()) + baseArray, nbItem)
For k = LBound(tSplit()) To UBound(tSplit())
tLine = Split(tSplit(k), separator)
For l = LBound(tLine) To UBound(tLine)
tData(k + baseArray, l + baseArray) = tLine(l)
Next l
Next k
ImportTxtFile = True
ImportTxtFile_END:
Exit Function
ImportTxtFile_ERR:
errorString = Err.Description
Resume ImportTxtFile_END
End Function
Conclusion
mouhaha mon commentaire est plus long que le code.
Fichier Zip
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Conseil sur un logiciel : diffusion ou pas ? [ par allthew3 ]
Bonjour,ayant presque fini mon projet (en tout cas la version 1.0), je vous demandes conseil :- vous pensez que ça serait une bonne idée de diffuser t
Création d'un logiciel de Planning (style MS Project) [ par masterdd ]
Bonjour, J'ai développé depuis plusieurs années des outils perso en VBA sur Ms Project, qui au final décuplent considérablement les possibilités du
logiciel fiche de paies [ par tatiemog ]
bonjour,je n'arrive pas à installer ce logiciel sur mon pc du moins j'ai les fichiers mais rien ne se lance?? je vous remercie d'avance
[Question] Boutton qui lance un programme [ par Pauwlo ]
Bonjour, Voila je débute en VB, et je m'apprête à faire un logiciel qui regroupe plusieurs programmes, un peu comme un Sommaire, avec une liste de Bo
Option dans mon logiciel pour pouvoir le lancer ou non a l'ouverture de windows [ par Okpane ]
Bonjour, Je vous contacte car je suis tout nouveau sur VB, et je cherche a faire démarrer mon logiciel si l'utilisateur le souhaite (donc via un Check
Compatibilitée avec Windows 7 [ par JSilvere ]
Bonjour, J'ai créé un logiciel sous VB6 et suis bien embêté car le logiciel refuse de s’exécuter en mode non administrateur... Le logiciel ouv
planning personnel [ par caffart ]
bonjour le suis débutant voici je doit faire un projet sur planning personnel sur des postes bien précis , il y a 15 nombres ou personnes pour une dat
Proposition pour développer en open source un projet informatique / télécom assez utile et dont voici le cahier des charges [ par yellow288 ]
[color=red][size=200]Proposition pour développer en open source un projet informatique / télécom assez utile et dont voici le cahier des charges [/siz
Redémarrer une application sous certaines conditions. [ par keepcoolsupport ]
Bonjour à tous et merci d'avance pour l'aide que vous pourrez m'apporter! Je viens vers vous aujourd'hui car je rencontre une difficulté à la créatio
|
Derniers Blogs
[WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
LISTER KEYS.KEYLISTER KEYS.KEY par Onin42
Cliquez pour lire la suite par Onin42
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|