remplacer exitsub pour continuer la sub

remplacer exitsub pour continuer la sub - VB/VBA/VBS - Programmation

Marsh Posté le 11-03-2006 à 17:23:34    

bonjour,
j'ai créé une petite fonction pour écrire ce qu'il y a d'écrit dans la textbox2 et la coller dans une cellule. Et cette fonction me permet aussi de faire apparaitre un msgbox quand la personne ne rentre pas un integer. voila le programme:  
 
On Error GoTo MsgErreurs
If TextBox2.Value = "" Then Sheets("Feuil1" ).Cells(7, 2 * k + 8) = "": Exit Sub
Sheets("Feuil1" ).Cells(7, 2 * k + 8) = Int(UserForm3.TextBox2)
 Exit Sub  
MsgErreurs:
    MsgBox "Vous devez entrer un nombre entier", vbExclamation, "Erreur de frappe ?"
    Resume Next
 
le problème que j'ai c'est que je voudrais réaliser d'autres opérations dans ma Sub et le exit Sub du programme me bloque. Par quoi pourrai-je le remplacer? Merci

Reply

Marsh Posté le 11-03-2006 à 17:23:34   

Reply

Marsh Posté le 11-03-2006 à 17:50:30    

Dans ta condition If, si tu ne mets pas de End If, seule la première ligne après Then sera exécutée.
 
Comme un ":" équivaut à un retour à la ligne, ton Exit Sub sort de la condition If...Then.
 
Donc quoi qu'il arrive, à l'exécution, tu sors de la Sub après If TextBox2.Value = "" Then Sheets("Feuil1" ).Cells(7, 2 * k + 8) = "".
 
edit : j'ai raconté nawak. Voir plus bas... :sweat:


Message édité par juju2k le 11-03-2006 à 23:03:38
Reply

Marsh Posté le 11-03-2006 à 18:05:17    

merci mais ça ne m'aide pas trops. Moi ce que je voudrais c'est pouvoir exécuter une autre action après le programme

Reply

Marsh Posté le 11-03-2006 à 18:36:51    

c'est bon j'ai réussi en fintant. merci

Reply

Marsh Posté le 11-03-2006 à 23:02:55    

Bon, méaculpa, j'ai dis une bêtise (j'avais pas vérifié et ça me semblait logique, mais j'ai raconté n'importe quoi) :
Lorsqu'on utilise If... Then sur une seule ligne, si des instructions appaissent après Then et après des ":", celles-ci sont comprises dans le Then.
 
Je veux dire que

If 1 = 1 Then a = 7: MsgBox "toto"


équivaut à :

If 1 = 1 Then
    a = 7
    MsgBox "toto"
End If


 
Pour continuer dans le détail,

If 2 = 1 Then a = 1
MsgBox "toto"


équivaut à :

If 2 = 1 Then
    a = 1
End If
MsgBox "toto"


 
Voilà, pour ceux que ça intéresse...  :sleep:

Reply

Marsh Posté le 12-03-2006 à 19:17:21    

Bonjour,  
 
Je me suis intéressé au sujet, et j' aimerai savoir se que tu as trouvé,  tibo.
 
Merci

Reply

Marsh Posté le 13-03-2006 à 20:11:30    

ce que j'ai fait c'est que j'ai collé mon programme dans la sub textbox2, donc le programme ce fait et test si c'est un integer, et le exit sub marche mais ça ne me pose pas de problème. Et dans mon progrmme principal, je mets Sheets("Feuil1" ).Cells(7, 2 * k + 8) = UserForm3.TextBox2 , donc sans le integer puisque le test aura déja été fait. Voila

Reply

Marsh Posté le 16-03-2006 à 20:56:24    

Salut,  
 
Et merci, tibo.
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed