VBA GoTo une étiquette de ligne

L'instruction GoTo dans VBA vous permet de sauter à une ligne de code.

Créez d'abord une étiquette de ligne n'importe où dans votre code :

1 Sauter:

Ajoutez ensuite à l'instruction « GoTo » pour accéder au libellé de la ligne

1 Aller à Ignorer

Aller à Exemples

Cet exemple teste l'année. Si l'année est 2022 ou plus tard, il ira à l'étiquette de ligne de saut. Cela vous permet de sauter le code si certaines conditions sont remplies.

123456789101112 Sous GoTo_Example()Année sombre en tant qu'entierannée = 2019Si année >= 2019 Alors GoTo Ignorer'Données de processus pour les années < 2022MsgBox "L'année est antérieure à 2022"Sauter:Fin du sous-marin

Aller à plusieurs étiquettes de ligne

Vous pouvez également utiliser des instructions GoTo pour accéder aux lignes de code pertinentes. Ajustons notre exemple précédent pour accéder à différents emplacements de code en fonction de l'année :

1234567891011121314151617181920212223242526272829303132 Sous GoTo_Statement()Année sombre en tant qu'entierannée = 2019Si année = 2019 AlorsAller à l'année 2019Sinon si année = 2010 AlorsAller à l'année 2020AutreAller à l'année 2021Fin siannée 2019 :'Processus 2022MsgBox "L'année est 2022"GoTo EndProcannée 2020 :'Processus 2022MsgBox "L'année est 2022"GoTo EndProcannée 2021 :'Processus 2022+MsgBox "L'année est 2022+"FinProc :Fin du sous-marin

Notez le "GoTo EndProc" avant chaque étiquette de ligne. Nous avons ajouté cette ligne de code afin que ces sections de code soient ignorées à moins qu'elles ne soient accessibles par le « GoTo » approprié.

GoTo Error Handler Fin de procédure

Utilisons maintenant la gestion des erreurs pour aller à la fin de la procédure s'il y a une erreur.

123456789101112 Sous GoTo_OnError ()Diminuer en tant qu'entierEn cas d'erreur GoTo EndProcje = 5 / 0MsgBox jeFinProc :Fin du sous-marin

GoTo Répéter le code

Notre dernier exemple utilisera l'instruction GoTo pour répéter du code.

Ci-dessous, nous utilisons une boîte de message Oui / Non (Cliquez pour en savoir plus) pour confirmer que l'utilisateur reconnaît l'avertissement. S'ils cliquent sur « Non », la boîte de message s'affichera à nouveau jusqu'à ce qu'ils cliquent sur « Oui » (voir GIF ci-dessous).

1234567891011 Sous GoTo_YesNoMsgBox()Répéter le message :Réponse faible en tant qu'entieranswer = MsgBox("AVERTISSEMENT : ce fichier a été ouvert en tant que fichier en lecture seule, ce qui signifie que les modifications que vous apportez ne seront pas enregistrées à moins que vous n'ayez des droits d'accès en écriture. " & _Chr(13) & Chr(13) & "Sélectionnez Fichier, Enregistrer sous pour enregistrer une copie avant de travailler dans ce fichier." & vbNewLine & vbNewLine & "Comprenez-vous ?", vbExclamation + vbYesNo, "AVERTISSEMENT !")Si réponse = vbNo Then GoTo RepeatMsg 'Répétez jusqu'à ce que l'utilisateur clique sur "Oui"Fin du sous-marin

VBA GoTo une étiquette de ligne dans Access VBA

Tous les exemples ci-dessus fonctionnent exactement de la même manière dans Access VBA et dans Excel VBA.

1234567 Sous TestGoTo()Sur erreur GoTo se terminantDoCmd.OpenForm "FrmClients"Quitter le sousfin:MsgBox "Impossible d'ouvrir le formulaire"Fin du sous-marin

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave