Petit programme en vbs
Résolu/Fermé
ipvirgul
Messages postés
9
Date d'inscription
mardi 16 avril 2013
Statut
Membre
Dernière intervention
29 septembre 2014
-
27 avril 2013 à 09:59
ipvirgul Messages postés 9 Date d'inscription mardi 16 avril 2013 Statut Membre Dernière intervention 29 septembre 2014 - 28 avril 2013 à 18:22
ipvirgul Messages postés 9 Date d'inscription mardi 16 avril 2013 Statut Membre Dernière intervention 29 septembre 2014 - 28 avril 2013 à 18:22
A voir également:
- Petit programme en vbs
- Programme demarrage windows 10 - Guide
- Vbs windows - Accueil - Optimisation
- Petit 1 comme ² ✓ - Forum Windows
- Petit colis distribution - Forum Réseaux sociaux
2 réponses
f894009
Messages postés
17206
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 novembre 2024
1 710
27 avril 2013 à 11:01
27 avril 2013 à 11:01
Bonjour,
un exemple de code:
un exemple de code:
'On Error Resume Next '****************Déclaration des variable****************' Dim dt1, dt2, tp Dim strnom dt1 = #04-15-2013# tp = #12:15# strnom = " Dr Hussein" dt2 = DateDiff("d",dt1,Date()) if (dt2 > 0) or ( dt2< -4) Then Call suite 'WScript.quit '(ici je veux suprime) quit que je remplace par (va a la ligne 16) End If if (dt2 <> 0) then msgbox "Vous avez RDV le: " & dt1 & " à " & tp & " dans " & dt2 & "jours" & " avec le " & strnom ,vbOkOnly,"ici le tire" else msgbox "vous avez RDV aujourd'hui" & " à " & tp & " avec le " & strnom ,vbOkOnly,"ici 13le tire" end If WScript.quit '*****************Second programme************************' Sub suite 'On Error Resume Next Dim dt11, dt22, tp2 Dim strnom2 dt11 = #05-19-2013# tp2 = #12:15# strnom2 = " conseil syndical" dt22 = DateDiff("d",dt1,Date()) if (dt22 > 0) or ( dt22< -4) then Exit Sub if (dt22 <> 0) then msgbox "Vous avez RDV le: " & dt11 & " à " & tp2 & " dans " & dt22 & "jours" & " avec 26le " & strnom2 ,vbOkOnly,"ici le tire" else msgbox "vous avez RDV aujourd'hui" & " à " & tp2 & " avec le " & strnom2 ,vbOkOnly,"ici le tire" end If End Sub
f894009
Messages postés
17206
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 novembre 2024
1 710
Modifié par f894009 le 28/04/2013 à 09:30
Modifié par f894009 le 28/04/2013 à 09:30
Bonjour,
pour pallier momentanément a ce soucis, inserez wscript.quit apres call suite.
Par contre je ne vois pas comment vous trouvez un nombre negatif de jours avec votre formule sur les dates anterieures a aujourd'hui: dt2 = DateDiff("d",dt1,Date()) , la date d'aujourd'hui etant toujours superieure a hier. dt2 = DateDiff("d",Date(),dt1) serait plus appropriee et le nombre de jours pour les dates posterieures sera positif.
if (dt2 > 0) or ( dt2< -4) Then: : -13 est < a -4
if (dt2 <> 0) then: -13 et 40 sont <> de 0, c'est pour cela que vous avez la deuxieme boite a message
il faut repenser les tests sur les ecarts de dates.
questions: les dates de RDV proviennent d'ou (vous ne les entrez pas a la main en dur dans le programme!!!) , cela aiderait a vous aidez
A+
pour pallier momentanément a ce soucis, inserez wscript.quit apres call suite.
Par contre je ne vois pas comment vous trouvez un nombre negatif de jours avec votre formule sur les dates anterieures a aujourd'hui: dt2 = DateDiff("d",dt1,Date()) , la date d'aujourd'hui etant toujours superieure a hier. dt2 = DateDiff("d",Date(),dt1) serait plus appropriee et le nombre de jours pour les dates posterieures sera positif.
if (dt2 > 0) or ( dt2< -4) Then: : -13 est < a -4
if (dt2 <> 0) then: -13 et 40 sont <> de 0, c'est pour cela que vous avez la deuxieme boite a message
il faut repenser les tests sur les ecarts de dates.
questions: les dates de RDV proviennent d'ou (vous ne les entrez pas a la main en dur dans le programme!!!) , cela aiderait a vous aidez
A+
ipvirgul
Messages postés
9
Date d'inscription
mardi 16 avril 2013
Statut
Membre
Dernière intervention
29 septembre 2014
28 avril 2013 à 18:22
28 avril 2013 à 18:22
Merci de votre aide mon programme est terminé et je suis satisfait, je le joint avec quelques remarques.
1'On Error Resume Next
2'**def variable*********************premier programme*******************
3Dim dt1, dt2, tp
4Dim strnom
5dt1 = #04-30-2013#
6tp = #12:15#
7strnom = " Dr Hussein"
8'**************execution prog****************************'
9dt2 = DateDiff("d",Date(),dt1)
10 'Wscript.echo dt2 « pour verifier où j'en suis »
11if (dt2 < 0) or (dt2 > 4) then 'wscript.quit
12 Call suite
13wscript.quit
14elseif (1 = dt2 < 4) and (dt2 <> 0) then
15msgbox "Vous avez RDV le: " & dt1 & " à " & tp & " dans " & dt2 & "jours" & " avec le " & strnom ,vbOkOnly,"prog 1er"
16elseif (dt2 = 0) then
17msgbox "vous avez RDV aujourd'hui" & " à " & tp & " avec le " & strnom ,vbOkOnly,"prog 1er"
18end if
19 call suite
20'**********************second programme***************
21Sub suite
'Dim dt11, dt22, tp2
'Dim strnom2
'dt11 = #04-30-2013#
'tp2 = #12:15#
'strnom2 = " conseil syndical"
27'******************************************'
'dt22 = DateDiff("d",Date(),dt11)
29Wscript.echo dt22
'if (dt22 < 0) or (dt22 > 4) then 'wscript.quit
'end if
'if (1 = dt22 < 4) and (dt22 <> 0) then
33msgbox "Vous avez RDV le: " & dt11 & " à " & tp2 & " dans " & dt22 & "jours" & " avec le " & strnom2 ,vbOkOnly,"prog 2éme"
34elseif (dt22 = 0) then
'msgbox "vous avez RDV aujourd'hui" & " à " & tp2 & " avec le " & strnom2 ,vbOkOnly,"prog 2ème"
36end if
37End sub
38'wscript.quit
J'ai modifié les tests sur les écarts de dates en utilisant des valeurs positives.
Le premier prog seul fonctionne correctement dans toutes les situations.
Pour le second prog après plusieurs testes et observations j'ai réactivé tout le prog 2 et rajouté en ligne 19 « call suite » car la lecture s'arrêtait après la ligne 17 msgbox.
J'ai placé en ligne 10et29 Les fonctions Wscript .echo pour observer pendant mes testes l'état dt2 et dt22, peuvent en suite être supprimé ou désactivé.
Par ailleurs, en ligne 13 et 38 les commandes WScript.quit ne m'on pas parue utiles c'est pourquoi je les ai désactivées.
Je pense avoir effectué les testes les plus essentiel l'ensemble a l'air de bien fonctionné.
Pour répondre votre question si je rentre les RDV a la main la réponse est oui c'est pourquoi
def variable sont entre deux ligne ** merci encor a vous.
Pour mes début en programmation c'est chaud.
Cordialement
Jean pierre
1'On Error Resume Next
2'**def variable*********************premier programme*******************
3Dim dt1, dt2, tp
4Dim strnom
5dt1 = #04-30-2013#
6tp = #12:15#
7strnom = " Dr Hussein"
8'**************execution prog****************************'
9dt2 = DateDiff("d",Date(),dt1)
10 'Wscript.echo dt2 « pour verifier où j'en suis »
11if (dt2 < 0) or (dt2 > 4) then 'wscript.quit
12 Call suite
13wscript.quit
14elseif (1 = dt2 < 4) and (dt2 <> 0) then
15msgbox "Vous avez RDV le: " & dt1 & " à " & tp & " dans " & dt2 & "jours" & " avec le " & strnom ,vbOkOnly,"prog 1er"
16elseif (dt2 = 0) then
17msgbox "vous avez RDV aujourd'hui" & " à " & tp & " avec le " & strnom ,vbOkOnly,"prog 1er"
18end if
19 call suite
20'**********************second programme***************
21Sub suite
'Dim dt11, dt22, tp2
'Dim strnom2
'dt11 = #04-30-2013#
'tp2 = #12:15#
'strnom2 = " conseil syndical"
27'******************************************'
'dt22 = DateDiff("d",Date(),dt11)
29Wscript.echo dt22
'if (dt22 < 0) or (dt22 > 4) then 'wscript.quit
'end if
'if (1 = dt22 < 4) and (dt22 <> 0) then
33msgbox "Vous avez RDV le: " & dt11 & " à " & tp2 & " dans " & dt22 & "jours" & " avec le " & strnom2 ,vbOkOnly,"prog 2éme"
34elseif (dt22 = 0) then
'msgbox "vous avez RDV aujourd'hui" & " à " & tp2 & " avec le " & strnom2 ,vbOkOnly,"prog 2ème"
36end if
37End sub
38'wscript.quit
J'ai modifié les tests sur les écarts de dates en utilisant des valeurs positives.
Le premier prog seul fonctionne correctement dans toutes les situations.
Pour le second prog après plusieurs testes et observations j'ai réactivé tout le prog 2 et rajouté en ligne 19 « call suite » car la lecture s'arrêtait après la ligne 17 msgbox.
J'ai placé en ligne 10et29 Les fonctions Wscript .echo pour observer pendant mes testes l'état dt2 et dt22, peuvent en suite être supprimé ou désactivé.
Par ailleurs, en ligne 13 et 38 les commandes WScript.quit ne m'on pas parue utiles c'est pourquoi je les ai désactivées.
Je pense avoir effectué les testes les plus essentiel l'ensemble a l'air de bien fonctionné.
Pour répondre votre question si je rentre les RDV a la main la réponse est oui c'est pourquoi
def variable sont entre deux ligne ** merci encor a vous.
Pour mes début en programmation c'est chaud.
Cordialement
Jean pierre
27 avril 2013 à 14:39
J'ai peut être pas donné toutes les précisions un RDV passé ne doit plus s'afficher ainsi que les RDV de plus de 3-4 jour d'où la condition" if (dt2 > 0) or ( dt2< -4) Then "
la formule: "dt2 = DateDiff("d",dt1,Date()). " Si vous avez d'autre idées je suis toujours preneur mercis a vous tous je continue a chercher je ne lâche jamais un os
27 avril 2013 à 18:14
Quel est l'interet de la sub routine suite, si vos criteres de choix ne sont que des ecarts de dates?????
27 avril 2013 à 20:12
1 'On Error Resume Next
2 '***************************premier programme********
3 Dim dt1, dt2, tp
4 Dim strnom
5 dt1 = #04-20-2013#
6 tp = #12:15#
7 strnom = " Dr Hussein"
8 '******************************************'
9 dt2 = DateDiff("d",dt1,Date())
10 if (dt2 > 0) or ( dt2< -4) then
11Call suite
12 end if
13if (dt2 <> 0) then
14msgbox "Vous avez RDV le: " & dt1 & " à " & tp & " dans " & dt2 & "jours" & " avec le " & strnom ,vbOkOnly,"ici le tire"
15else
16msgbox "vous avez RDV aujourd'hui" & " à " & tp & " avec le " & strnom ,vbOkOnly,"ici le tire"
17end if
18if dt2 > 0 then
19 `*************************************
20end if
21wscript.quit
22'****************************second programme******
23Sub suite
24'On Error Resume Next
25Dim dt11, dt22, tp2
26Dim strnom2
27dt11 = #04-28-2013#
28tp2 = #12:15#
29strnom2 = " Dr casanova"
30'******************************************
31dt22 = DateDiff("d",dt11,Date())
32if (dt22 > 0) or ( dt22< -4) then wscript.quit
33if (dt22 <> 0) then
34msgbox "Vous avez RDV le: " & dt11 & " à " & tp2 & " dans " & dt22 & "jours" & " avec le " & strnom2 ,vbOkOnly,"ici le tire"
35else
36msgbox "vous avez RDV aujourd'hui" & " à " & tp2 & " avec le " & strnom2 37,vbOkOnly,"ici le tire"
38end if
39End sub
Vous m'avez déjà bien aidé avec votre « call suite et sub suite » mais il reste encore un petit problème.
Le renvoi que je cherche a réaliser c'est pour aligner plusieurs prog a la suite sur la même feuille avec des dates différentes.
La date dt1 ligne 5 est la date d'un RDV passé, premier prog. Donc pas d'ouverture de se programme.
La commande « call suite » permet dans un premier temps d'évincer ce prog, c'est pour quoi la msgbox du second prog s'ouvre et m'alerte sur le second RDV.
Sauf que, lorsque je click sur OK de cette msgbox second le message de la première s'ouvre a son tour c'est ce que je ne veux pas.
Pour le moment je n'ai pas trouvé de solution mais je chercherai.
Merci de votre aide
Cordialement
Jean Pierre