Faire un "GoTo" en vbs

Signaler
Messages postés
16
Date d'inscription
vendredi 7 octobre 2005
Statut
Membre
Dernière intervention
15 décembre 2005
-
Messages postés
15
Date d'inscription
vendredi 27 juin 2008
Statut
Membre
Dernière intervention
18 avril 2012
-
Voila j'ai fait un script en vbs avec une msgbox et je voudrais y mettre la fonction goto, pour faire un saut à un endroit donné en fonction de la reponse (vbyes ou vbno).Mais je n 'arrive pas à trouver la syntaxe de cette fonction (pourtant j'arrive à l'utiliser en VBA...).Alors je me demandais si quelqu'un pourrait m'aider.........Merci d'avance.

20 réponses

Messages postés
294
Date d'inscription
vendredi 25 février 2005
Statut
Membre
Dernière intervention
9 mars 2006
1
tu as essayé cela:

Met sur la form un commandBoton nomé Cmd

Private Sub Cmd_Click()

réponse = Msgbox "Mon message ici", vbOKCancel

if réponse = VbOk then goto Oui

'Ici les lignes de codes que tu veux (ou rien)

Exit sub

Oui:

'Ici les ligne de code à exécuter (si réponse = VbOk)
msgbox "Tu as cliqué sur Ok"

End sub

ce n'es rien d'exeptionel. essaie, et fais signe si sa marche pas
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 179 internautes nous ont dit merci ce mois-ci

Messages postés
16
Date d'inscription
vendredi 7 octobre 2005
Statut
Membre
Dernière intervention
15 décembre 2005

Non dsl mais cette methode la ne fonctione pas en VBS.(on peut faire un UserForm en vbs ? Je croyait que c'etait seulement en Visual Basic.Enfin je suis que débutant...)enfin bref :
voici mon code (abrégé). je ne comprend pas pourquoi quand j'execute le script il me dit "instuction attendue [avec le numero de ligne du goto]" pourtant j'ai essayer de supprimmer les deux points , de les mettre avant , aprés.....mais impossible de faire en sorte que ça marche . Evidement sans le goto mon script marche parfaitement.

m=msgbox("continuer ?",vbyesno,"???")
if (m=vbno) then
Goto Line2
else
Goto Line1
end if


:Line1


'script si la reponse est vbyes

:Line2
'script si la reponse est vbno

alors si quelqun pouvait me dire la faute que j'ai dut faire quelque part......
Messages postés
248
Date d'inscription
mercredi 15 juin 2005
Statut
Membre
Dernière intervention
15 mars 2007
31
Si tu veux vraiment effectuer ce que tu as mis dans le code présenter, alors tu n'auras pas besoins d'utiliser goto...

tu as juste à mettre :

m=msgbox("continuer ?",vbyesno,"???")
if (m=vbno) then
'le script Line2
else
'le script line 1
end if

mais si tu veux t'en servir pour autre chose que ce que tu as mis dans ton code, alors tu ne peux pas car il n'existe pas de goto en vbS...
Messages postés
16
Date d'inscription
vendredi 7 octobre 2005
Statut
Membre
Dernière intervention
15 décembre 2005

Merci ,oui je sais ça aurait été + simple de faire comme tu dit mais en fait ce que j'aurais voulu c'est que si la reponse est vbno le script s'arrete.....mais je ne sais pa comment faire ....alors si tu pouvais me donner une commande permettant de le faire....Merci.

ah oui est ce que quelqun sait comment faire pour ouvrir un documment texte (dans (C:\test" par example) et y inserer quelque chose (du genre "coucou") puis sauvegarder et fermer le document .txt .
Messages postés
294
Date d'inscription
vendredi 25 février 2005
Statut
Membre
Dernière intervention
9 mars 2006
1
" Exit Sub ", ca ne marche pas en VBS?
Moi je ne suis moin que débutan en VBS, mais, en VB6 tu met Exit sub
je reprend l'exemple de D4rkM00n

m=msgbox("continuer ?",vbyesno,"???")
if (m=vbno) then
'Ici tu dit exit sub d'ou arêt de la procédure
Exit sub
else
'le script line 1
end if

'La, tout ce que tu veux

End sub
Messages postés
16
Date d'inscription
vendredi 7 octobre 2005
Statut
Membre
Dernière intervention
15 décembre 2005

c'est ce que j'essayais de faire mais pour pouvoir faire Exit Sub il faut deja avoir definit quelque part Sub nomduscript ( ) (comme en vb6, non ?)et quand je fait comme tu m'a dit :

-soit je ne met pas de sub( ) au debut et sa me sort "instruction 'exit' incorrecte"

-soit je met Sub popol ( ) au debut et End Sub à la fin (tjrs comme en vb6 non ?) et là ça ne m'éxécute pas mon script (mais il ne dit pas qu'il ya une erreur.....)

c'est ça que je ne comprend pas (parce que j'arrive à le faire en Visual Basic et en Qbasic mais là... je bloque)
Messages postés
294
Date d'inscription
vendredi 25 février 2005
Statut
Membre
Dernière intervention
9 mars 2006
1
et pour ce qui est de l'ouverture d'un fichier, sa modification, et l'enregistrement, ca ne manque pas sur ce site. cherche, et tu trouverra ton bonheur.
Messages postés
294
Date d'inscription
vendredi 25 février 2005
Statut
Membre
Dernière intervention
9 mars 2006
1
je n'avais pas rafraicit. pas lu ton post avant d'ecrir mon dernier message.

Mais, est ce que tu fait appel à popol?? il doit réagir comment? sur clique? tu l'appels en étant dans une autre procédure ou fonction?
Messages postés
16
Date d'inscription
vendredi 7 octobre 2005
Statut
Membre
Dernière intervention
15 décembre 2005

ok mais pour ce qui est du "Sub-End Sub" tu peut m'aider stp ?
Messages postés
294
Date d'inscription
vendredi 25 février 2005
Statut
Membre
Dernière intervention
9 mars 2006
1
Mais, c'es pour cela que je t'ai demandé, comment Fonctionne popol.

tu fait

Sub Popol()

end sub

Je suis daccord. mais, si ton code ne s'exécute pas, c'est que tu ne l'a pas appelé. (je penses) est ce que tu l'appel d'une autre procédure, oubien il doit réagire sur clique d'un bouton?? comment?
Messages postés
16
Date d'inscription
vendredi 7 octobre 2005
Statut
Membre
Dernière intervention
15 décembre 2005

lol javais pas rafraichit quand je t'ais demander ca dsl....
dc je ne m'y connais pas trop mais globalement
pr le script ca donne ca (pr repprendre l'exemple de tte à l'heure) :

sub popol ()
m=msgbox("continuer ?",vbyesno,"???")

if (m=vbno) then
Exit sub

else
'le script si m=vbyes
end if

End sub

je ne vois pas se qui ne va pas (mais je me suis certainement trompé quelque part....)
Messages postés
294
Date d'inscription
vendredi 25 février 2005
Statut
Membre
Dernière intervention
9 mars 2006
1
c'est que je me suis mal expliqué.
quant est ce que tu veux que popol s'exécute?
ya t'il un boutton sur le quel tu clique, et tu voudrai qu'en cliquan dessus, le code qui est dans popol s'exécute?

essai de faire cela.

met un bouton sur ta feuille.
appel le bouton popol
remplace sub popol()
par Sub Popol_Click()

et, lance ton apli, clique sur le boutton. si c'a marche, c'est que le code qui se trouve dans popol est juste, mais, c'est juste que tu as mal appelé la procédure. si en cliquant sur le boutton rien ne se passe, ou si tu a une erreur, fait signe.

et répond à la première question.
Messages postés
16
Date d'inscription
vendredi 7 octobre 2005
Statut
Membre
Dernière intervention
15 décembre 2005

en faite ce que je t'ai donné c'est le debut de mon code et je voudrait qu'il sexecute des que l'appli est lancé (il n'y a pas de bouton sur lequel je clique pour l'executer).

ps : excuse ma naïveté mais je ne sait pas mettre un commandbutton en vbs (en VBA c'est facile parceque tu choisi dans la boite à outil "CommandButton" et tu le trace avec le pointeur de la souris; alors qu'en VBS je fait tt avec le bloc note dc je ne sai pas faire de CommandButton)
Messages postés
294
Date d'inscription
vendredi 25 février 2005
Statut
Membre
Dernière intervention
9 mars 2006
1
comme je t'ai dit, moi je ne fait pas de VBS, mais, le peut que je connais:
essaie ce code. met le code dans ton appli. il crée le bouton nomé Popol

Begin VB.CommandButton Popol
Caption = "Je suis Popol"
Height = 615
Left = 2040
TabIndex = 2
Top = 3120
Width = 2055
End



Maintenant, si tu veux que ton code qui se trouve dans Popol s'exécute sur l'ouverture de ta feuille, tu remplaceras Popol_Click() par Form_Load()

Mais, essaie tout de meme avec le bouton, pour voir la réaction.
Messages postés
16
Date d'inscription
vendredi 7 octobre 2005
Statut
Membre
Dernière intervention
15 décembre 2005

ok merci c'est comme en VBA sauf que tu définit tout manuellement...
Mais j'ai quelque petit problemes :

-il le créer où le command button ? faut pas avoir deja definit une form ? (parce que dans mon prog, pr l'instant, ya pas de form c'est just des msgbox et des inputbox)

-Et quand je met le script que tu ma donné bin il me dit que entre "commandbutton" et "Popol" que : "fin dinstruction attendue"

pr que tu comprenne mieux je t'envoi une capture d'écran (ce qui est dans le notpad c'est le script qui donne l'erreur)
Messages postés
294
Date d'inscription
vendredi 25 février 2005
Statut
Membre
Dernière intervention
9 mars 2006
1
il ya des problèmes avec les images. elle n'apparèssent que chez lui qui les mets. moi je ne vois pas.
Tu sais quoi! tu es apperement au tout début de la progrmation (pas en mal). ce qui veut dire, que même si je dit des bétise, tu ne poura pas le savoir. (pour le moment, tout ce que tu demande, c'est creér un bouton, une feuille...) pas sorcier je sais, mais, je vais appeler quelqu'un sur ce site. je pense qu'il metrise le VBS mieux que moi (je ne le pense pas, j'en suis sur) à tout a l'heur.

pour le moment, essaie cela. ce code crée une feuille, et y met un botton. à l'ouverture de la feuille il ya un message qui dit Bonjours, et sur clique sur bouton, un message dit Bonsoir.
je ne l'ai pas testé, peus pas. essaie le. (et la, je vais appelé......)
appel ton fichier text "FeuilleEssaie.frm" met cela dedans

VERSION 5.00
Begin VB.Form FeuilleEssaie
BorderStyle = 1 'Fixed Single
Caption = "Feuille essaie"
ClientHeight = 4575
ClientLeft = 45
ClientTop = 330
ClientWidth = 7185
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 4575
ScaleWidth = 7185
StartUpPosition = 3 'Windows Default
Begin VB.CommandButton Popol
Caption = "Je suis Popol"
Height = 855
Left = 1560
TabIndex = 0
Top = 1560
Width = 1935
End
End
Attribute VB_Name = "FeuilleEssaie"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False


Private Sub Form_Load()
MsgBox "Bonjours"
End Sub

Private Sub Popol_Click()
MsgBox "Bonsoir"
End Sub
Messages postés
294
Date d'inscription
vendredi 25 février 2005
Statut
Membre
Dernière intervention
9 mars 2006
1
Je pensais qu'il pouvait t'aider, mais, j'ai été étoné de lire qu'il ne fait pas du VBS. malheuresement pour toi.
Dis si tu a avancé, si le problème a été résolu. si non, repose le precisement, parce que la, on est parti de GOTO, à la création de feuille et de commad.
certainemant que plus initier en VBS passera par la, et poura t'aider plus que moi. (je me demande même si en voulant t'aider, je t'ai pas mélanger. j'espère que pas.)

et, puisque tu début, pour quoi tu ne cherches pas un Livre qui te permettera
d'avoir la base.

Bonne programmation.
Messages postés
16
Date d'inscription
vendredi 7 octobre 2005
Statut
Membre
Dernière intervention
15 décembre 2005

ok merci pour ton aide mais avant de changer de rubrique j'ai une derniére question : avec quoi on ouvre les fichier .frm ???
Messages postés
294
Date d'inscription
vendredi 25 février 2005
Statut
Membre
Dernière intervention
9 mars 2006
1
Avec Visual basic 6 je travaille. le .frm c'et un reflexe que j'ai eu. c'est avec VB6 que tu l'ouvres. comme tu m'as dit que tu ecrivais dans un fichier text ton code, c'est pour ca que j'ai fai pareil. essai de l'ouvrir comme tu ouvres les autres fichiers de ton appli. ca devrait marcher. je n'ai pas essayé, mais, je trouve cela logique . si non, tu sais au moin ce qu'il ne faut pas faire. apprendre c'est etudier le bien, et comprendre le pourquoi du fau.

( j'ai esayé de voir sur le net des cours de VBS, mais pas trouvé. si j'en trouve, je te met les liens.)

A+
Messages postés
15
Date d'inscription
vendredi 27 juin 2008
Statut
Membre
Dernière intervention
18 avril 2012

pour quitter le script : WScript.Quit