OVH Cloud OVH Cloud

Activation userform

7 réponses
Avatar
joseph 17
Bonjour à tous,

Je rame depuis un mois sur un petit problème que j'aimerais résoudre (mais
comme dirait je ne sais plus qui, si on rame c'est qu'on navigue encore),
mais je n'y parviens pas. Je n'ai pas trouvé d'équivalent à mon problème sur
le forum. Je ne doute pas que l'un d'entre vous aie la solution.
J'ai un userform1. En pressant la touche "ECHAP" (grace à un bouton masqué
avec "cancel = true), un userform2 dans lequel se trouve ma liste de clients
s'affiche. En double-cliquant sur cette liste, le nom du client cliqué va
s'inscrire dans le userform1 et met normalement le focus sur un contrôle
"quantité". Mon premier problème est que le curseur ne se met dans cette
zone qui a le focus que de manière aléatoire. En fait, l'userform1 est à
l'avant-plan mais n'est pas activé. Je dois cliquer dessus pour l'activer.
Ensuite, lorsque j'ai inscrit ma quantité, j'enfonce la touche "ENTER" pour
valider les données dans une feuille de calcul. Là encore, l'userform1 est
représenté, mais si je presse la touche "ECHAP" pour rappeler l'userform2,
çà ne marche que de manière aléatoire parce que l'userform1 n'est pas actif,
bien qu'au premier plan. Bien sûr, il me suffit de cliquer n'importe ou
l'userform1 pour l'activer. Mais je voudrais que les utilisateurs qui
souhaitent saisir rapidement les données n'aient pas à cliquer à chaque fois
sur l'userform pour l'activer. J'ai créé un "userform_activate" que
j'appelle avant l'affichage de l'userform1, mais ça ne donne rien. Ce que je
ne comprends pas, c'est que çà fonctionne parfois.
Ce problème n'est pas bloquant, mais énervant. Une bonne âme pourrait-elle
me redonner goût à la vie.
Merci par avance.
Joseph 17

7 réponses

Avatar
anonymousa
Bonjour,

un peu compliqué de juger de la validité étant donné la complexité de
l'explication.
Deux possibilités au moins pour faire avancer le "shmilblick". Soit ton
fichier n'est pas confidentiel et tu le publies sur CJOINT pour
permettre d'en voir le programme complet avec un peu d'explications plus
pédagogiques pour nous permettre de reconstituer l'erreur, soit en
première lecture sans aller plus loin, quelles sont les modalités de tes
userform?

A+


Bonjour à tous,

Je rame depuis un mois sur un petit problème que j'aimerais résoudre (mais
comme dirait je ne sais plus qui, si on rame c'est qu'on navigue encore),
mais je n'y parviens pas. Je n'ai pas trouvé d'équivalent à mon problème sur
le forum. Je ne doute pas que l'un d'entre vous aie la solution.
J'ai un userform1. En pressant la touche "ECHAP" (grace à un bouton masqué
avec "cancel = true), un userform2 dans lequel se trouve ma liste de clients
s'affiche. En double-cliquant sur cette liste, le nom du client cliqué va
s'inscrire dans le userform1 et met normalement le focus sur un contrôle
"quantité". Mon premier problème est que le curseur ne se met dans cette
zone qui a le focus que de manière aléatoire. En fait, l'userform1 est à
l'avant-plan mais n'est pas activé. Je dois cliquer dessus pour l'activer.
Ensuite, lorsque j'ai inscrit ma quantité, j'enfonce la touche "ENTER" pour
valider les données dans une feuille de calcul. Là encore, l'userform1 est
représenté, mais si je presse la touche "ECHAP" pour rappeler l'userform2,
çà ne marche que de manière aléatoire parce que l'userform1 n'est pas actif,
bien qu'au premier plan. Bien sûr, il me suffit de cliquer n'importe ou
l'userform1 pour l'activer. Mais je voudrais que les utilisateurs qui
souhaitent saisir rapidement les données n'aient pas à cliquer à chaque fois
sur l'userform pour l'activer. J'ai créé un "userform_activate" que
j'appelle avant l'affichage de l'userform1, mais ça ne donne rien. Ce que je
ne comprends pas, c'est que çà fonctionne parfois.
Ce problème n'est pas bloquant, mais énervant. Une bonne âme pourrait-elle
me redonner goût à la vie.
Merci par avance.
Joseph 17






Avatar
joseph 17
Bonjour Anonymousa et merci de ta réponse rapide.
Je suis d'accord, mes explications souffrent d'un ralentissement du cerveau
qui opère surtout le dimanche.
Mon fichier n'a rien de confidentiel, d'autant qu'il s'adresse au service
public. Toutefois, çà me parait difficile de le communiquer car il fait 7
Mo, j'ai à peu près une trentaine de userforms et quatre-vingt modules. Les
événements de l'opération que je décris se déroulent dans plusieurs modules
et sont très imbriqués. J'ai moi-même du mal à retracer une procédure, mais
çà marche bien malgré tout, à part ce petit truc.

En fait, je souhaite juste savoir si quelque chose d'essentiel ne m'échappe
pas. Je veux juste écrire une propriété de l'userform avant son affichage
qui permette de l'activer comme si je cliquais dessus. C'est l'équivalent
vba de ce fameux click que je voudrais connaître... si il existe. Excuse moi
d'être plus prolixe en bavardage qu'en vba, mais on ne se refait pas.
Merci encore,
A + peut-être


"anonymousa" a écrit dans le message de news:
45b37ecd$0$21144$
Bonjour,

un peu compliqué de juger de la validité étant donné la complexité de
l'explication.
Deux possibilités au moins pour faire avancer le "shmilblick". Soit ton
fichier n'est pas confidentiel et tu le publies sur CJOINT pour permettre
d'en voir le programme complet avec un peu d'explications plus
pédagogiques pour nous permettre de reconstituer l'erreur, soit en
première lecture sans aller plus loin, quelles sont les modalités de tes
userform?

A+


Bonjour à tous,

Je rame depuis un mois sur un petit problème que j'aimerais résoudre
(mais comme dirait je ne sais plus qui, si on rame c'est qu'on navigue
encore), mais je n'y parviens pas. Je n'ai pas trouvé d'équivalent à mon
problème sur le forum. Je ne doute pas que l'un d'entre vous aie la
solution.
J'ai un userform1. En pressant la touche "ECHAP" (grace à un bouton
masqué avec "cancel = true), un userform2 dans lequel se trouve ma liste
de clients s'affiche. En double-cliquant sur cette liste, le nom du
client cliqué va s'inscrire dans le userform1 et met normalement le focus
sur un contrôle "quantité". Mon premier problème est que le curseur ne se
met dans cette zone qui a le focus que de manière aléatoire. En fait,
l'userform1 est à l'avant-plan mais n'est pas activé. Je dois cliquer
dessus pour l'activer. Ensuite, lorsque j'ai inscrit ma quantité,
j'enfonce la touche "ENTER" pour valider les données dans une feuille de
calcul. Là encore, l'userform1 est représenté, mais si je presse la
touche "ECHAP" pour rappeler l'userform2, çà ne marche que de manière
aléatoire parce que l'userform1 n'est pas actif, bien qu'au premier plan.
Bien sûr, il me suffit de cliquer n'importe ou l'userform1 pour
l'activer. Mais je voudrais que les utilisateurs qui souhaitent saisir
rapidement les données n'aient pas à cliquer à chaque fois sur l'userform
pour l'activer. J'ai créé un "userform_activate" que j'appelle avant
l'affichage de l'userform1, mais ça ne donne rien. Ce que je ne comprends
pas, c'est que çà fonctionne parfois.
Ce problème n'est pas bloquant, mais énervant. Une bonne âme
pourrait-elle me redonner goût à la vie.
Merci par avance.
Joseph 17







Avatar
anonymousa
Bien que je ne sois pas certain de répondre exactement à la question,il
me semble que de monter en mémoire ton userform sans l'afficher suffit à
atteindre l'ensemble des éléments qui le compose et en l'occurrence de
pouvoir faire ce que tu veus avec.
Pour le monter en mémoire sans afficher, il suffit d'écrire Load
userform1 par exemple.

A+


Bonjour Anonymousa et merci de ta réponse rapide.
Je suis d'accord, mes explications souffrent d'un ralentissement du cerveau
qui opère surtout le dimanche.
Mon fichier n'a rien de confidentiel, d'autant qu'il s'adresse au service
public. Toutefois, çà me parait difficile de le communiquer car il fait 7
Mo, j'ai à peu près une trentaine de userforms et quatre-vingt modules. Les
événements de l'opération que je décris se déroulent dans plusieurs modules
et sont très imbriqués. J'ai moi-même du mal à retracer une procédure, mais
çà marche bien malgré tout, à part ce petit truc.

En fait, je souhaite juste savoir si quelque chose d'essentiel ne m'échappe
pas. Je veux juste écrire une propriété de l'userform avant son affichage
qui permette de l'activer comme si je cliquais dessus. C'est l'équivalent
vba de ce fameux click que je voudrais connaître... si il existe. Excuse moi
d'être plus prolixe en bavardage qu'en vba, mais on ne se refait pas.
Merci encore,
A + peut-être


"anonymousa" a écrit dans le message de news:
45b37ecd$0$21144$
Bonjour,

un peu compliqué de juger de la validité étant donné la complexité de
l'explication.
Deux possibilités au moins pour faire avancer le "shmilblick". Soit ton
fichier n'est pas confidentiel et tu le publies sur CJOINT pour permettre
d'en voir le programme complet avec un peu d'explications plus
pédagogiques pour nous permettre de reconstituer l'erreur, soit en
première lecture sans aller plus loin, quelles sont les modalités de tes
userform?

A+


Bonjour à tous,

Je rame depuis un mois sur un petit problème que j'aimerais résoudre
(mais comme dirait je ne sais plus qui, si on rame c'est qu'on navigue
encore), mais je n'y parviens pas. Je n'ai pas trouvé d'équivalent à mon
problème sur le forum. Je ne doute pas que l'un d'entre vous aie la
solution.
J'ai un userform1. En pressant la touche "ECHAP" (grace à un bouton
masqué avec "cancel = true), un userform2 dans lequel se trouve ma liste
de clients s'affiche. En double-cliquant sur cette liste, le nom du
client cliqué va s'inscrire dans le userform1 et met normalement le focus
sur un contrôle "quantité". Mon premier problème est que le curseur ne se
met dans cette zone qui a le focus que de manière aléatoire. En fait,
l'userform1 est à l'avant-plan mais n'est pas activé. Je dois cliquer
dessus pour l'activer. Ensuite, lorsque j'ai inscrit ma quantité,
j'enfonce la touche "ENTER" pour valider les données dans une feuille de
calcul. Là encore, l'userform1 est représenté, mais si je presse la
touche "ECHAP" pour rappeler l'userform2, çà ne marche que de manière
aléatoire parce que l'userform1 n'est pas actif, bien qu'au premier plan.
Bien sûr, il me suffit de cliquer n'importe ou l'userform1 pour
l'activer. Mais je voudrais que les utilisateurs qui souhaitent saisir
rapidement les données n'aient pas à cliquer à chaque fois sur l'userform
pour l'activer. J'ai créé un "userform_activate" que j'appelle avant
l'affichage de l'userform1, mais ça ne donne rien. Ce que je ne comprends
pas, c'est que çà fonctionne parfois.
Ce problème n'est pas bloquant, mais énervant. Une bonne âme
pourrait-elle me redonner goût à la vie.
Merci par avance.
Joseph 17










Avatar
joseph 17
Oui, bien sûr, mais ce serait trop facile. Je veux justement éviter de
décharger l'userform à chaque saisie, parce que j'ai une listview qui
affiche à peu près 5000 lignes en fin d'exercice, ce qui demande - comme le
fut du canon - un certain temps à afficher selon la performance du système.

joseph 17


"anonymousa" a écrit dans le message de news:
45b38b05$0$21150$
Bien que je ne sois pas certain de répondre exactement à la question,il me
semble que de monter en mémoire ton userform sans l'afficher suffit à
atteindre l'ensemble des éléments qui le compose et en l'occurrence de
pouvoir faire ce que tu veus avec.
Pour le monter en mémoire sans afficher, il suffit d'écrire Load userform1
par exemple.

A+


Bonjour Anonymousa et merci de ta réponse rapide.
Je suis d'accord, mes explications souffrent d'un ralentissement du
cerveau qui opère surtout le dimanche.
Mon fichier n'a rien de confidentiel, d'autant qu'il s'adresse au service
public. Toutefois, çà me parait difficile de le communiquer car il fait 7
Mo, j'ai à peu près une trentaine de userforms et quatre-vingt modules.
Les événements de l'opération que je décris se déroulent dans plusieurs
modules et sont très imbriqués. J'ai moi-même du mal à retracer une
procédure, mais çà marche bien malgré tout, à part ce petit truc.

En fait, je souhaite juste savoir si quelque chose d'essentiel ne
m'échappe pas. Je veux juste écrire une propriété de l'userform avant son
affichage qui permette de l'activer comme si je cliquais dessus. C'est
l'équivalent vba de ce fameux click que je voudrais connaître... si il
existe. Excuse moi d'être plus prolixe en bavardage qu'en vba, mais on ne
se refait pas.
Merci encore,
A + peut-être


"anonymousa" a écrit dans le message de news:
45b37ecd$0$21144$
Bonjour,

un peu compliqué de juger de la validité étant donné la complexité de
l'explication.
Deux possibilités au moins pour faire avancer le "shmilblick". Soit ton
fichier n'est pas confidentiel et tu le publies sur CJOINT pour
permettre d'en voir le programme complet avec un peu d'explications plus
pédagogiques pour nous permettre de reconstituer l'erreur, soit en
première lecture sans aller plus loin, quelles sont les modalités de tes
userform?

A+


Bonjour à tous,

Je rame depuis un mois sur un petit problème que j'aimerais résoudre
(mais comme dirait je ne sais plus qui, si on rame c'est qu'on navigue
encore), mais je n'y parviens pas. Je n'ai pas trouvé d'équivalent à
mon problème sur le forum. Je ne doute pas que l'un d'entre vous aie la
solution.
J'ai un userform1. En pressant la touche "ECHAP" (grace à un bouton
masqué avec "cancel = true), un userform2 dans lequel se trouve ma
liste de clients s'affiche. En double-cliquant sur cette liste, le nom
du client cliqué va s'inscrire dans le userform1 et met normalement le
focus sur un contrôle "quantité". Mon premier problème est que le
curseur ne se met dans cette zone qui a le focus que de manière
aléatoire. En fait, l'userform1 est à l'avant-plan mais n'est pas
activé. Je dois cliquer dessus pour l'activer. Ensuite, lorsque j'ai
inscrit ma quantité, j'enfonce la touche "ENTER" pour valider les
données dans une feuille de calcul. Là encore, l'userform1 est
représenté, mais si je presse la touche "ECHAP" pour rappeler
l'userform2, çà ne marche que de manière aléatoire parce que
l'userform1 n'est pas actif, bien qu'au premier plan. Bien sûr, il me
suffit de cliquer n'importe ou l'userform1 pour l'activer. Mais je
voudrais que les utilisateurs qui souhaitent saisir rapidement les
données n'aient pas à cliquer à chaque fois sur l'userform pour
l'activer. J'ai créé un "userform_activate" que j'appelle avant
l'affichage de l'userform1, mais ça ne donne rien. Ce que je ne
comprends pas, c'est que çà fonctionne parfois.
Ce problème n'est pas bloquant, mais énervant. Une bonne âme
pourrait-elle me redonner goût à la vie.
Merci par avance.
Joseph 17












Avatar
anonymousa
autre possibilité si tu veux lancer une procédure (p.e Activate)
contenue dans le userform1 depuis le userform2: Enlever Private devant
Private Sub Userform2_Activate. Ecrire p.e dans une procédure d'un
commandbutton de Userform2 le texte suivant

CallByName UserForm2, "UserForm_Activate", 1

Dans ce cas , il n'est pas nécéssaire de charger userform1 en mémoire.
L'appel de callbyname le fera.Callbyname n'existe que depuis Excel 2000

A+

Bien que je ne sois pas certain de répondre exactement à la question,il
me semble que de monter en mémoire ton userform sans l'afficher suffit à
atteindre l'ensemble des éléments qui le compose et en l'occurrence de
pouvoir faire ce que tu veus avec.
Pour le monter en mémoire sans afficher, il suffit d'écrire Load
userform1 par exemple.

A+


Bonjour Anonymousa et merci de ta réponse rapide.
Je suis d'accord, mes explications souffrent d'un ralentissement du
cerveau qui opère surtout le dimanche.
Mon fichier n'a rien de confidentiel, d'autant qu'il s'adresse au
service public. Toutefois, çà me parait difficile de le communiquer
car il fait 7 Mo, j'ai à peu près une trentaine de userforms et
quatre-vingt modules. Les événements de l'opération que je décris se
déroulent dans plusieurs modules et sont très imbriqués. J'ai moi-même
du mal à retracer une procédure, mais çà marche bien malgré tout, à
part ce petit truc.

En fait, je souhaite juste savoir si quelque chose d'essentiel ne
m'échappe pas. Je veux juste écrire une propriété de l'userform avant
son affichage qui permette de l'activer comme si je cliquais dessus.
C'est l'équivalent vba de ce fameux click que je voudrais connaître...
si il existe. Excuse moi d'être plus prolixe en bavardage qu'en vba,
mais on ne se refait pas.
Merci encore,
A + peut-être


"anonymousa" a écrit dans le message de news:
45b37ecd$0$21144$
Bonjour,

un peu compliqué de juger de la validité étant donné la complexité de
l'explication.
Deux possibilités au moins pour faire avancer le "shmilblick". Soit
ton fichier n'est pas confidentiel et tu le publies sur CJOINT pour
permettre d'en voir le programme complet avec un peu d'explications
plus pédagogiques pour nous permettre de reconstituer l'erreur, soit
en première lecture sans aller plus loin, quelles sont les modalités
de tes userform?

A+


Bonjour à tous,

Je rame depuis un mois sur un petit problème que j'aimerais résoudre
(mais comme dirait je ne sais plus qui, si on rame c'est qu'on
navigue encore), mais je n'y parviens pas. Je n'ai pas trouvé
d'équivalent à mon problème sur le forum. Je ne doute pas que l'un
d'entre vous aie la solution.
J'ai un userform1. En pressant la touche "ECHAP" (grace à un bouton
masqué avec "cancel = true), un userform2 dans lequel se trouve ma
liste de clients s'affiche. En double-cliquant sur cette liste, le
nom du client cliqué va s'inscrire dans le userform1 et met
normalement le focus sur un contrôle "quantité". Mon premier
problème est que le curseur ne se met dans cette zone qui a le focus
que de manière aléatoire. En fait, l'userform1 est à l'avant-plan
mais n'est pas activé. Je dois cliquer dessus pour l'activer.
Ensuite, lorsque j'ai inscrit ma quantité, j'enfonce la touche
"ENTER" pour valider les données dans une feuille de calcul. Là
encore, l'userform1 est représenté, mais si je presse la touche
"ECHAP" pour rappeler l'userform2, çà ne marche que de manière
aléatoire parce que l'userform1 n'est pas actif, bien qu'au premier
plan. Bien sûr, il me suffit de cliquer n'importe ou l'userform1
pour l'activer. Mais je voudrais que les utilisateurs qui souhaitent
saisir rapidement les données n'aient pas à cliquer à chaque fois
sur l'userform pour l'activer. J'ai créé un "userform_activate" que
j'appelle avant l'affichage de l'userform1, mais ça ne donne rien.
Ce que je ne comprends pas, c'est que çà fonctionne parfois.
Ce problème n'est pas bloquant, mais énervant. Une bonne âme
pourrait-elle me redonner goût à la vie.
Merci par avance.
Joseph 17












Avatar
anonymousa
Erreur d'écriture.

CallByName UserForm1, "UserForm_Activate", 1

A+

autre possibilité si tu veux lancer une procédure (p.e Activate)
contenue dans le userform1 depuis le userform2: Enlever Private devant
Private Sub Userform2_Activate. Ecrire p.e dans une procédure d'un
commandbutton de Userform2 le texte suivant

CallByName UserForm2, "UserForm_Activate", 1

Dans ce cas , il n'est pas nécéssaire de charger userform1 en mémoire.
L'appel de callbyname le fera.Callbyname n'existe que depuis Excel 2000

A+

Bien que je ne sois pas certain de répondre exactement à la
question,il me semble que de monter en mémoire ton userform sans
l'afficher suffit à atteindre l'ensemble des éléments qui le compose
et en l'occurrence de pouvoir faire ce que tu veus avec.
Pour le monter en mémoire sans afficher, il suffit d'écrire Load
userform1 par exemple.

A+


Bonjour Anonymousa et merci de ta réponse rapide.
Je suis d'accord, mes explications souffrent d'un ralentissement du
cerveau qui opère surtout le dimanche.
Mon fichier n'a rien de confidentiel, d'autant qu'il s'adresse au
service public. Toutefois, çà me parait difficile de le communiquer
car il fait 7 Mo, j'ai à peu près une trentaine de userforms et
quatre-vingt modules. Les événements de l'opération que je décris se
déroulent dans plusieurs modules et sont très imbriqués. J'ai
moi-même du mal à retracer une procédure, mais çà marche bien malgré
tout, à part ce petit truc.

En fait, je souhaite juste savoir si quelque chose d'essentiel ne
m'échappe pas. Je veux juste écrire une propriété de l'userform avant
son affichage qui permette de l'activer comme si je cliquais dessus.
C'est l'équivalent vba de ce fameux click que je voudrais
connaître... si il existe. Excuse moi d'être plus prolixe en
bavardage qu'en vba, mais on ne se refait pas.
Merci encore,
A + peut-être


"anonymousa" a écrit dans le message de news:
45b37ecd$0$21144$
Bonjour,

un peu compliqué de juger de la validité étant donné la complexité
de l'explication.
Deux possibilités au moins pour faire avancer le "shmilblick". Soit
ton fichier n'est pas confidentiel et tu le publies sur CJOINT pour
permettre d'en voir le programme complet avec un peu d'explications
plus pédagogiques pour nous permettre de reconstituer l'erreur, soit
en première lecture sans aller plus loin, quelles sont les modalités
de tes userform?

A+


Bonjour à tous,

Je rame depuis un mois sur un petit problème que j'aimerais
résoudre (mais comme dirait je ne sais plus qui, si on rame c'est
qu'on navigue encore), mais je n'y parviens pas. Je n'ai pas trouvé
d'équivalent à mon problème sur le forum. Je ne doute pas que l'un
d'entre vous aie la solution.
J'ai un userform1. En pressant la touche "ECHAP" (grace à un bouton
masqué avec "cancel = true), un userform2 dans lequel se trouve ma
liste de clients s'affiche. En double-cliquant sur cette liste, le
nom du client cliqué va s'inscrire dans le userform1 et met
normalement le focus sur un contrôle "quantité". Mon premier
problème est que le curseur ne se met dans cette zone qui a le
focus que de manière aléatoire. En fait, l'userform1 est à
l'avant-plan mais n'est pas activé. Je dois cliquer dessus pour
l'activer. Ensuite, lorsque j'ai inscrit ma quantité, j'enfonce la
touche "ENTER" pour valider les données dans une feuille de calcul.
Là encore, l'userform1 est représenté, mais si je presse la touche
"ECHAP" pour rappeler l'userform2, çà ne marche que de manière
aléatoire parce que l'userform1 n'est pas actif, bien qu'au premier
plan. Bien sûr, il me suffit de cliquer n'importe ou l'userform1
pour l'activer. Mais je voudrais que les utilisateurs qui
souhaitent saisir rapidement les données n'aient pas à cliquer à
chaque fois sur l'userform pour l'activer. J'ai créé un
"userform_activate" que j'appelle avant l'affichage de l'userform1,
mais ça ne donne rien. Ce que je ne comprends pas, c'est que çà
fonctionne parfois.
Ce problème n'est pas bloquant, mais énervant. Une bonne âme
pourrait-elle me redonner goût à la vie.
Merci par avance.
Joseph 17














Avatar
JLuc
*Bonjour joseph 17*,
J'ai lu un un peu la conversation. Et si tu force le focus sur le
textbox pour la quantité ?

Dans le userform2 : (à l'endroit de ta convenance)

Userform1.TextBox1.Setfocus
Me.Hide

Oui, bien sûr, mais ce serait trop facile. Je veux justement éviter de
décharger l'userform à chaque saisie, parce que j'ai une listview qui affiche
à peu près 5000 lignes en fin d'exercice, ce qui demande - comme le fut du
canon - un certain temps à afficher selon la performance du système.

joseph 17


"anonymousa" a écrit dans le message de news:
45b38b05$0$21150$
Bien que je ne sois pas certain de répondre exactement à la question,il me
semble que de monter en mémoire ton userform sans l'afficher suffit à
atteindre l'ensemble des éléments qui le compose et en l'occurrence de
pouvoir faire ce que tu veus avec.
Pour le monter en mémoire sans afficher, il suffit d'écrire Load userform1
par exemple.

A+


Bonjour Anonymousa et merci de ta réponse rapide.
Je suis d'accord, mes explications souffrent d'un ralentissement du
cerveau qui opère surtout le dimanche.
Mon fichier n'a rien de confidentiel, d'autant qu'il s'adresse au service
public. Toutefois, çà me parait difficile de le communiquer car il fait 7
Mo, j'ai à peu près une trentaine de userforms et quatre-vingt modules.
Les événements de l'opération que je décris se déroulent dans plusieurs
modules et sont très imbriqués. J'ai moi-même du mal à retracer une
procédure, mais çà marche bien malgré tout, à part ce petit truc.

En fait, je souhaite juste savoir si quelque chose d'essentiel ne
m'échappe pas. Je veux juste écrire une propriété de l'userform avant son
affichage qui permette de l'activer comme si je cliquais dessus. C'est
l'équivalent vba de ce fameux click que je voudrais connaître... si il
existe. Excuse moi d'être plus prolixe en bavardage qu'en vba, mais on ne
se refait pas.
Merci encore,
A + peut-être


"anonymousa" a écrit dans le message de news:
45b37ecd$0$21144$
Bonjour,

un peu compliqué de juger de la validité étant donné la complexité de
l'explication.
Deux possibilités au moins pour faire avancer le "shmilblick". Soit ton
fichier n'est pas confidentiel et tu le publies sur CJOINT pour permettre
d'en voir le programme complet avec un peu d'explications plus
pédagogiques pour nous permettre de reconstituer l'erreur, soit en
première lecture sans aller plus loin, quelles sont les modalités de tes
userform?

A+


Bonjour à tous,

Je rame depuis un mois sur un petit problème que j'aimerais résoudre
(mais comme dirait je ne sais plus qui, si on rame c'est qu'on navigue
encore), mais je n'y parviens pas. Je n'ai pas trouvé d'équivalent à mon
problème sur le forum. Je ne doute pas que l'un d'entre vous aie la
solution.
J'ai un userform1. En pressant la touche "ECHAP" (grace à un bouton
masqué avec "cancel = true), un userform2 dans lequel se trouve ma liste
de clients s'affiche. En double-cliquant sur cette liste, le nom du
client cliqué va s'inscrire dans le userform1 et met normalement le
focus sur un contrôle "quantité". Mon premier problème est que le
curseur ne se met dans cette zone qui a le focus que de manière
aléatoire. En fait, l'userform1 est à l'avant-plan mais n'est pas
activé. Je dois cliquer dessus pour l'activer. Ensuite, lorsque j'ai
inscrit ma quantité, j'enfonce la touche "ENTER" pour valider les
données dans une feuille de calcul. Là encore, l'userform1 est
représenté, mais si je presse la touche "ECHAP" pour rappeler
l'userform2, çà ne marche que de manière aléatoire parce que l'userform1
n'est pas actif, bien qu'au premier plan. Bien sûr, il me suffit de
cliquer n'importe ou l'userform1 pour l'activer. Mais je voudrais que
les utilisateurs qui souhaitent saisir rapidement les données n'aient
pas à cliquer à chaque fois sur l'userform pour l'activer. J'ai créé un
"userform_activate" que j'appelle avant l'affichage de l'userform1, mais
ça ne donne rien. Ce que je ne comprends pas, c'est que çà fonctionne
parfois.
Ce problème n'est pas bloquant, mais énervant. Une bonne âme
pourrait-elle me redonner goût à la vie.
Merci par avance.
Joseph 17










--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O