Dans la colonne A, j'ai la liste de numéros de dossards
Dans la TextBox Dossard je saisis un numéro de dossard; à validation, je
voudrais récupérer dans la variable B le numéro de ligne qui correspond au
numéro de dossard saisi pour passer à une macro et l'exécuter, puis remettre
le focus sur Dossard. Voici mon code:
Private Sub Dossard_AfterUpdate()
'ceci fonctionne:
Range("A1").Value = Dossard.Value 'juste pour vérifier
'récupérer le num de ligne du dossard saisi; ceci ne fonctionne pas et
plante Excel:
B = Application.VLookup(Dossard, Feuil5.[A3:A1000], 1, False).Row
'exécuter la macro chrono, qui elle fonctionne:
chrono
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michdenis
Bonjour,
Pour obtenir ce que tu désires, tu devrais changer d'événement...
As-tu essayé ceci :
Le nom de la procédure est explicit, il s'exécute chaque fois que l'usager décide de sortir du textbox. '------------------------------------ Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) 'Appel des procédures que tu veux
'Tu peux ajouter une (des conditions) à savoir si tu veux que les lignes 'suivantes s'exécutent... 'Annule l'événement "Exit Cancel = True 'Sélectionne le textbox Me.TextBox1.SetFocus
End Sub '------------------------------------
"Tendasque" <unss34(a_enlever)@free.fr> a écrit dans le message de groupe de discussion :
Bonjour et bonne année à tous !
Dans la colonne A, j'ai la liste de numéros de dossards Dans la TextBox Dossard je saisis un numéro de dossard; à validation, je voudrais récupérer dans la variable B le numéro de ligne qui correspond au numéro de dossard saisi pour passer à une macro et l'exécuter, puis remettre le focus sur Dossard. Voici mon code:
Private Sub Dossard_AfterUpdate() 'ceci fonctionne: Range("A1").Value = Dossard.Value 'juste pour vérifier
'récupérer le num de ligne du dossard saisi; ceci ne fonctionne pas et plante Excel: B = Application.VLookup(Dossard, Feuil5.[A3:A1000], 1, False).Row
'exécuter la macro chrono, qui elle fonctionne: chrono
'remise à blanc de Dossard: Dossard.Value = ""
'remettre le focus dans Dossard: ???
End Sub
Merci de votre aide
Bonjour,
Pour obtenir ce que tu désires, tu devrais changer d'événement...
As-tu essayé ceci :
Le nom de la procédure est explicit, il s'exécute chaque fois que
l'usager décide de sortir du textbox.
'------------------------------------
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
'Appel des procédures que tu veux
'Tu peux ajouter une (des conditions) à savoir si tu veux que les lignes
'suivantes s'exécutent...
'Annule l'événement "Exit
Cancel = True
'Sélectionne le textbox
Me.TextBox1.SetFocus
End Sub
'------------------------------------
"Tendasque" <unss34(a_enlever)@free.fr> a écrit dans le message de groupe de discussion :
eyLpag2lKHA.1824@TK2MSFTNGP04.phx.gbl...
Bonjour et bonne année à tous !
Dans la colonne A, j'ai la liste de numéros de dossards
Dans la TextBox Dossard je saisis un numéro de dossard; à validation, je
voudrais récupérer dans la variable B le numéro de ligne qui correspond au
numéro de dossard saisi pour passer à une macro et l'exécuter, puis remettre
le focus sur Dossard. Voici mon code:
Private Sub Dossard_AfterUpdate()
'ceci fonctionne:
Range("A1").Value = Dossard.Value 'juste pour vérifier
'récupérer le num de ligne du dossard saisi; ceci ne fonctionne pas et
plante Excel:
B = Application.VLookup(Dossard, Feuil5.[A3:A1000], 1, False).Row
'exécuter la macro chrono, qui elle fonctionne:
chrono
Pour obtenir ce que tu désires, tu devrais changer d'événement...
As-tu essayé ceci :
Le nom de la procédure est explicit, il s'exécute chaque fois que l'usager décide de sortir du textbox. '------------------------------------ Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) 'Appel des procédures que tu veux
'Tu peux ajouter une (des conditions) à savoir si tu veux que les lignes 'suivantes s'exécutent... 'Annule l'événement "Exit Cancel = True 'Sélectionne le textbox Me.TextBox1.SetFocus
End Sub '------------------------------------
"Tendasque" <unss34(a_enlever)@free.fr> a écrit dans le message de groupe de discussion :
Bonjour et bonne année à tous !
Dans la colonne A, j'ai la liste de numéros de dossards Dans la TextBox Dossard je saisis un numéro de dossard; à validation, je voudrais récupérer dans la variable B le numéro de ligne qui correspond au numéro de dossard saisi pour passer à une macro et l'exécuter, puis remettre le focus sur Dossard. Voici mon code:
Private Sub Dossard_AfterUpdate() 'ceci fonctionne: Range("A1").Value = Dossard.Value 'juste pour vérifier
'récupérer le num de ligne du dossard saisi; ceci ne fonctionne pas et plante Excel: B = Application.VLookup(Dossard, Feuil5.[A3:A1000], 1, False).Row
'exécuter la macro chrono, qui elle fonctionne: chrono
'remise à blanc de Dossard: Dossard.Value = ""
'remettre le focus dans Dossard: ???
End Sub
Merci de votre aide
Daniel.C
Bonjour. B = Application.Match(CDbl(Dossard), [A1:A1000], 0) Cordialement. Daniel
Bonjour et bonne année à tous !
Dans la colonne A, j'ai la liste de numéros de dossards Dans la TextBox Dossard je saisis un numéro de dossard; à validation, je voudrais récupérer dans la variable B le numéro de ligne qui correspond au numéro de dossard saisi pour passer à une macro et l'exécuter, puis remettre le focus sur Dossard. Voici mon code:
Private Sub Dossard_AfterUpdate() 'ceci fonctionne: Range("A1").Value = Dossard.Value 'juste pour vérifier
'récupérer le num de ligne du dossard saisi; ceci ne fonctionne pas et plante Excel: B = Application.VLookup(Dossard, Feuil5.[A3:A1000], 1, False).Row
'exécuter la macro chrono, qui elle fonctionne: chrono
'remise à blanc de Dossard: Dossard.Value = ""
'remettre le focus dans Dossard: ???
End Sub
Merci de votre aide
Bonjour.
B = Application.Match(CDbl(Dossard), [A1:A1000], 0)
Cordialement.
Daniel
Bonjour et bonne année à tous !
Dans la colonne A, j'ai la liste de numéros de dossards
Dans la TextBox Dossard je saisis un numéro de dossard; à validation, je
voudrais récupérer dans la variable B le numéro de ligne qui correspond au
numéro de dossard saisi pour passer à une macro et l'exécuter, puis remettre
le focus sur Dossard. Voici mon code:
Private Sub Dossard_AfterUpdate()
'ceci fonctionne:
Range("A1").Value = Dossard.Value 'juste pour vérifier
'récupérer le num de ligne du dossard saisi; ceci ne fonctionne pas et plante
Excel:
B = Application.VLookup(Dossard, Feuil5.[A3:A1000], 1, False).Row
'exécuter la macro chrono, qui elle fonctionne:
chrono
Bonjour. B = Application.Match(CDbl(Dossard), [A1:A1000], 0) Cordialement. Daniel
Bonjour et bonne année à tous !
Dans la colonne A, j'ai la liste de numéros de dossards Dans la TextBox Dossard je saisis un numéro de dossard; à validation, je voudrais récupérer dans la variable B le numéro de ligne qui correspond au numéro de dossard saisi pour passer à une macro et l'exécuter, puis remettre le focus sur Dossard. Voici mon code:
Private Sub Dossard_AfterUpdate() 'ceci fonctionne: Range("A1").Value = Dossard.Value 'juste pour vérifier
'récupérer le num de ligne du dossard saisi; ceci ne fonctionne pas et plante Excel: B = Application.VLookup(Dossard, Feuil5.[A3:A1000], 1, False).Row
'exécuter la macro chrono, qui elle fonctionne: chrono
'remise à blanc de Dossard: Dossard.Value = ""
'remettre le focus dans Dossard: ???
End Sub
Merci de votre aide
Tendasque
Merci de vos réponses,
Michdenis, je ne souhaite pas sortir du TextBox, qui est affiché en permanence pour saisie des dossards; c'est pour cela que je pensais utiliser AfterUpdate qui valide la valeur du TextBox dès que j'appuie sur Entrée.
La solution de Daniel.C fonctionne:
Private Sub Dossard_AfterUpdate() B = Application.Match(CDbl(Dossard), [A1:A1000], 0)
'focus sur Dossard, ce qui permet de ressaisir un autre dossard sans cliquer: Application.SendKeys "{TAB}"
'appel de la procédure qui valide le temps de passage: Temps
End Sub
Sauf si je saisis un dossard inexistant (il faudrait ajouter un traitement d'erreur qui me remette le focus dans le textbox sans valider le temps); savez-vous comment faire ?
"michdenis" a écrit dans le message de news:
Bonjour,
Pour obtenir ce que tu désires, tu devrais changer d'événement...
As-tu essayé ceci :
Le nom de la procédure est explicit, il s'exécute chaque fois que l'usager décide de sortir du textbox. '------------------------------------ Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) 'Appel des procédures que tu veux
'Tu peux ajouter une (des conditions) à savoir si tu veux que les lignes 'suivantes s'exécutent... 'Annule l'événement "Exit Cancel = True 'Sélectionne le textbox Me.TextBox1.SetFocus
End Sub '------------------------------------
"Tendasque" <unss34(a_enlever)@free.fr> a écrit dans le message de groupe de discussion :
Bonjour et bonne année à tous !
Dans la colonne A, j'ai la liste de numéros de dossards Dans la TextBox Dossard je saisis un numéro de dossard; à validation, je voudrais récupérer dans la variable B le numéro de ligne qui correspond au numéro de dossard saisi pour passer à une macro et l'exécuter, puis remettre le focus sur Dossard. Voici mon code:
Private Sub Dossard_AfterUpdate() 'ceci fonctionne: Range("A1").Value = Dossard.Value 'juste pour vérifier
'récupérer le num de ligne du dossard saisi; ceci ne fonctionne pas et plante Excel: B = Application.VLookup(Dossard, Feuil5.[A3:A1000], 1, False).Row
'exécuter la macro chrono, qui elle fonctionne: chrono
'remise à blanc de Dossard: Dossard.Value = ""
'remettre le focus dans Dossard: ???
End Sub
Merci de votre aide
Merci de vos réponses,
Michdenis, je ne souhaite pas sortir du TextBox, qui est affiché en
permanence pour saisie des dossards; c'est pour cela que je pensais utiliser
AfterUpdate qui valide la valeur du TextBox dès que j'appuie sur Entrée.
La solution de Daniel.C fonctionne:
Private Sub Dossard_AfterUpdate()
B = Application.Match(CDbl(Dossard), [A1:A1000], 0)
'focus sur Dossard, ce qui permet de ressaisir un autre dossard sans
cliquer:
Application.SendKeys "{TAB}"
'appel de la procédure qui valide le temps de passage:
Temps
End Sub
Sauf si je saisis un dossard inexistant (il faudrait ajouter un traitement
d'erreur qui me remette le focus dans le textbox sans valider le temps);
savez-vous comment faire ?
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
837A3595-8316-4E3B-957A-F671DF5A2855@microsoft.com...
Bonjour,
Pour obtenir ce que tu désires, tu devrais changer d'événement...
As-tu essayé ceci :
Le nom de la procédure est explicit, il s'exécute chaque fois que
l'usager décide de sortir du textbox.
'------------------------------------
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
'Appel des procédures que tu veux
'Tu peux ajouter une (des conditions) à savoir si tu veux que les lignes
'suivantes s'exécutent...
'Annule l'événement "Exit
Cancel = True
'Sélectionne le textbox
Me.TextBox1.SetFocus
End Sub
'------------------------------------
"Tendasque" <unss34(a_enlever)@free.fr> a écrit dans le message de groupe
de discussion :
eyLpag2lKHA.1824@TK2MSFTNGP04.phx.gbl...
Bonjour et bonne année à tous !
Dans la colonne A, j'ai la liste de numéros de dossards
Dans la TextBox Dossard je saisis un numéro de dossard; à validation, je
voudrais récupérer dans la variable B le numéro de ligne qui correspond au
numéro de dossard saisi pour passer à une macro et l'exécuter, puis
remettre
le focus sur Dossard. Voici mon code:
Private Sub Dossard_AfterUpdate()
'ceci fonctionne:
Range("A1").Value = Dossard.Value 'juste pour vérifier
'récupérer le num de ligne du dossard saisi; ceci ne fonctionne pas et
plante Excel:
B = Application.VLookup(Dossard, Feuil5.[A3:A1000], 1, False).Row
'exécuter la macro chrono, qui elle fonctionne:
chrono
Michdenis, je ne souhaite pas sortir du TextBox, qui est affiché en permanence pour saisie des dossards; c'est pour cela que je pensais utiliser AfterUpdate qui valide la valeur du TextBox dès que j'appuie sur Entrée.
La solution de Daniel.C fonctionne:
Private Sub Dossard_AfterUpdate() B = Application.Match(CDbl(Dossard), [A1:A1000], 0)
'focus sur Dossard, ce qui permet de ressaisir un autre dossard sans cliquer: Application.SendKeys "{TAB}"
'appel de la procédure qui valide le temps de passage: Temps
End Sub
Sauf si je saisis un dossard inexistant (il faudrait ajouter un traitement d'erreur qui me remette le focus dans le textbox sans valider le temps); savez-vous comment faire ?
"michdenis" a écrit dans le message de news:
Bonjour,
Pour obtenir ce que tu désires, tu devrais changer d'événement...
As-tu essayé ceci :
Le nom de la procédure est explicit, il s'exécute chaque fois que l'usager décide de sortir du textbox. '------------------------------------ Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) 'Appel des procédures que tu veux
'Tu peux ajouter une (des conditions) à savoir si tu veux que les lignes 'suivantes s'exécutent... 'Annule l'événement "Exit Cancel = True 'Sélectionne le textbox Me.TextBox1.SetFocus
End Sub '------------------------------------
"Tendasque" <unss34(a_enlever)@free.fr> a écrit dans le message de groupe de discussion :
Bonjour et bonne année à tous !
Dans la colonne A, j'ai la liste de numéros de dossards Dans la TextBox Dossard je saisis un numéro de dossard; à validation, je voudrais récupérer dans la variable B le numéro de ligne qui correspond au numéro de dossard saisi pour passer à une macro et l'exécuter, puis remettre le focus sur Dossard. Voici mon code:
Private Sub Dossard_AfterUpdate() 'ceci fonctionne: Range("A1").Value = Dossard.Value 'juste pour vérifier
'récupérer le num de ligne du dossard saisi; ceci ne fonctionne pas et plante Excel: B = Application.VLookup(Dossard, Feuil5.[A3:A1000], 1, False).Row
'exécuter la macro chrono, qui elle fonctionne: chrono
'remise à blanc de Dossard: Dossard.Value = ""
'remettre le focus dans Dossard: ???
End Sub
Merci de votre aide
michdenis
| Sauf si je saisis un dossard inexistant (il faudrait ajouter un traitement | d'erreur qui me remette le focus dans le textbox sans valider le temps); | savez-vous comment faire ?
J'ai lu rapidement la question initiale, je n'avais pas vu qu'il y avait un problème de formule. Merci à Daniel, il s'en est chargé.
Lorsque l'évènement "AfterUpdate" est déclenché, il doit poursuivre son exécution. Contrairement à l'événement "Exit" il n'a pas un paramètre "Cancel". Et quoi tu fasses, le processus de l'événement va te sortir du Textbox vers le contrôle suivant... C'est ce pourquoi je te suggérais de changer l'événement. Peux-tu l'adapter à ton application, à toi de voir !
| Sauf si je saisis un dossard inexistant (il faudrait ajouter un traitement
| d'erreur qui me remette le focus dans le textbox sans valider le temps);
| savez-vous comment faire ?
J'ai lu rapidement la question initiale, je n'avais pas vu qu'il y avait un
problème de formule. Merci à Daniel, il s'en est chargé.
Lorsque l'évènement "AfterUpdate" est déclenché, il doit poursuivre
son exécution. Contrairement à l'événement "Exit" il n'a pas un paramètre
"Cancel". Et quoi tu fasses, le processus de l'événement va te sortir du
Textbox vers le contrôle suivant... C'est ce pourquoi je te suggérais de
changer l'événement. Peux-tu l'adapter à ton application, à toi de voir !
| Sauf si je saisis un dossard inexistant (il faudrait ajouter un traitement | d'erreur qui me remette le focus dans le textbox sans valider le temps); | savez-vous comment faire ?
J'ai lu rapidement la question initiale, je n'avais pas vu qu'il y avait un problème de formule. Merci à Daniel, il s'en est chargé.
Lorsque l'évènement "AfterUpdate" est déclenché, il doit poursuivre son exécution. Contrairement à l'événement "Exit" il n'a pas un paramètre "Cancel". Et quoi tu fasses, le processus de l'événement va te sortir du Textbox vers le contrôle suivant... C'est ce pourquoi je te suggérais de changer l'événement. Peux-tu l'adapter à ton application, à toi de voir !