OVH Cloud OVH Cloud

Boite dialogue suite

5 réponses
Avatar
Alain NEWS
Bonjour,

Suite à l'aide de Clément MARCOTTE, encore merci. J'ai une
macro qui fonctionne. Mais ...

J'ai constaté que le userForm n'appartient pas au module
appelant. Donc si je fait un module contenant le sub
appelant le form et sur un contrôle "OK" du form l'appel au
sub de traitement suivant alors les 2 sub apparaissent dans
la liste des macro disponible pour l'utilisateur :-(
Si je met le sub suite en private cela plante car le form ne
le connait pas :-(

J'ai donc réalisé un module d'appel tordu qui se rappelle si
il passe pour la première fois ou pas et selon le cas
affiche le form ou envoi la suite :-)
En plus d'être pour le moins lourdingue j'ai eu l'occasion
de constater des bizarreries de excel. Le plus surprenant
étant qu'il semble impossible de faire un sub qui ne fait
rien d'autre que rendre la main. Or si le sub appelle le
traitement suite alors au retour de ce traitement il revient
bien dans la suite du module appelant.

Appelant <=====> form ----> controle OK (vide) ----> sort
<==> controle OK (trait.)<==> trait

avec --> aller simple et <==> Aller et retour. Pourquoi
selon ce que fait le controle "OK" VBA ne réagit pas de la
même façon ?

Existe-t'il un non opération type "continue" qui elle est
rejetée ?

Merci d'être arrivé jusque là ;-))
Cordialement
--
Otez la cle pour me répondre.

5 réponses

Avatar
Denis Michon
Bonjour Alain,


Voici une façon de déclarer une procédure qui ne sera pas visible dans la fenêtre des Macros .

Il s'agit de déclarer une variable comme paramètre avec le mot "optional" qui signifie qu'elle n'est pas nécessairement
définie au moment d'appeler la procédure.

'------------------
Sub OuvrirFormulaire(Optional Cacher_moi As Boolean)

UserForm1.Show

End Sub
'------------------

Pour le reste, je n'ai rien compris de la problématique !


Salutations!




"Alain NEWS" a écrit dans le message de news:3f9baf90$0$10420$
Bonjour,

Suite à l'aide de Clément MARCOTTE, encore merci. J'ai une
macro qui fonctionne. Mais ...

J'ai constaté que le userForm n'appartient pas au module
appelant. Donc si je fait un module contenant le sub
appelant le form et sur un contrôle "OK" du form l'appel au
sub de traitement suivant alors les 2 sub apparaissent dans
la liste des macro disponible pour l'utilisateur :-(
Si je met le sub suite en private cela plante car le form ne
le connait pas :-(

J'ai donc réalisé un module d'appel tordu qui se rappelle si
il passe pour la première fois ou pas et selon le cas
affiche le form ou envoi la suite :-)
En plus d'être pour le moins lourdingue j'ai eu l'occasion
de constater des bizarreries de excel. Le plus surprenant
étant qu'il semble impossible de faire un sub qui ne fait
rien d'autre que rendre la main. Or si le sub appelle le
traitement suite alors au retour de ce traitement il revient
bien dans la suite du module appelant.

Appelant <=====> form ----> controle OK (vide) ----> sort
<==> controle OK (trait.)<==> trait

avec --> aller simple et <==> Aller et retour. Pourquoi
selon ce que fait le controle "OK" VBA ne réagit pas de la
même façon ?

Existe-t'il un non opération type "continue" qui elle est
rejetée ?

Merci d'être arrivé jusque là ;-))
Cordialement
--
Otez la cle pour me répondre.
Avatar
Alain NEWS
Denis Michon wrote:

Bonjour Alain,


Voici une façon de déclarer une procédure qui ne sera pas visible dans la fenêtre des Macros .

Il s'agit de déclarer une variable comme paramètre avec le mot "optional" qui signifie qu'elle n'est pas nécessairement
définie au moment d'appeler la procédure.

'------------------
Sub OuvrirFormulaire(Optional Cacher_moi As Boolean)

UserForm1.Show

End Sub
'------------------

Je vais essayer.


Pour le reste, je n'ai rien compris de la problématique !


Je me doutais que j'étais pas clair ;-(

Pour faire simple comment afficher un userForm dans lequel
par un clic sur un contrôle je continue en séquence dans le
module d'appel ?

Merci.


Salutations!




"Alain NEWS" a écrit dans le message de news:3f9baf90$0$10420$
Bonjour,

Suite à l'aide de Clément MARCOTTE, encore merci. J'ai une
macro qui fonctionne. Mais ...

J'ai constaté que le userForm n'appartient pas au module
appelant. Donc si je fait un module contenant le sub
appelant le form et sur un contrôle "OK" du form l'appel au
sub de traitement suivant alors les 2 sub apparaissent dans
la liste des macro disponible pour l'utilisateur :-(
Si je met le sub suite en private cela plante car le form ne
le connait pas :-(

J'ai donc réalisé un module d'appel tordu qui se rappelle si
il passe pour la première fois ou pas et selon le cas
affiche le form ou envoi la suite :-)
En plus d'être pour le moins lourdingue j'ai eu l'occasion
de constater des bizarreries de excel. Le plus surprenant
étant qu'il semble impossible de faire un sub qui ne fait
rien d'autre que rendre la main. Or si le sub appelle le
traitement suite alors au retour de ce traitement il revient
bien dans la suite du module appelant.

Appelant <=====> form ----> controle OK (vide) ----> sort
<==> controle OK (trait.)<==> trait

avec --> aller simple et <==> Aller et retour. Pourquoi
selon ce que fait le controle "OK" VBA ne réagit pas de la
même façon ?

Existe-t'il un non opération type "continue" qui elle est
rejetée ?

Merci d'être arrivé jusque là ;-))
Cordialement



--
Otez la cle pour me répondre.

Avatar
Denis Michon
Bonjour Alain,


"je continue en séquence dans le module d'appel ?"

Qu'est-ce que tu veux continuer ? Une procédure ? Explique ce qui doit se passer lorsque tu ouvres un formulaire depuis
un bouton de contrôle d'un autre formulaire. Je ne te suis pas.


Salutations!




"Alain NEWS" a écrit dans le message de news:3f9bf975$0$10435$
Denis Michon wrote:

Bonjour Alain,


Voici une façon de déclarer une procédure qui ne sera pas visible dans la fenêtre des Macros .

Il s'agit de déclarer une variable comme paramètre avec le mot "optional" qui signifie qu'elle n'est pas
nécessairement

définie au moment d'appeler la procédure.

'------------------
Sub OuvrirFormulaire(Optional Cacher_moi As Boolean)

UserForm1.Show

End Sub
'------------------

Je vais essayer.


Pour le reste, je n'ai rien compris de la problématique !


Je me doutais que j'étais pas clair ;-(

Pour faire simple comment afficher un userForm dans lequel
par un clic sur un contrôle je continue en séquence dans le
module d'appel ?

Merci.


Salutations!




"Alain NEWS" a écrit dans le message de news:3f9baf90$0$10420$
Bonjour,

Suite à l'aide de Clément MARCOTTE, encore merci. J'ai une
macro qui fonctionne. Mais ...

J'ai constaté que le userForm n'appartient pas au module
appelant. Donc si je fait un module contenant le sub
appelant le form et sur un contrôle "OK" du form l'appel au
sub de traitement suivant alors les 2 sub apparaissent dans
la liste des macro disponible pour l'utilisateur :-(
Si je met le sub suite en private cela plante car le form ne
le connait pas :-(

J'ai donc réalisé un module d'appel tordu qui se rappelle si
il passe pour la première fois ou pas et selon le cas
affiche le form ou envoi la suite :-)
En plus d'être pour le moins lourdingue j'ai eu l'occasion
de constater des bizarreries de excel. Le plus surprenant
étant qu'il semble impossible de faire un sub qui ne fait
rien d'autre que rendre la main. Or si le sub appelle le
traitement suite alors au retour de ce traitement il revient
bien dans la suite du module appelant.

Appelant <=====> form ----> controle OK (vide) ----> sort
<==> controle OK (trait.)<==> trait

avec --> aller simple et <==> Aller et retour. Pourquoi
selon ce que fait le controle "OK" VBA ne réagit pas de la
même façon ?

Existe-t'il un non opération type "continue" qui elle est
rejetée ?

Merci d'être arrivé jusque là ;-))
Cordialement



--
Otez la cle pour me répondre.

Avatar
Alain NEWS
Denis Michon wrote:
Bonjour Alain,


"je continue en séquence dans le module d'appel ?"

Qu'est-ce que tu veux continuer ? Une procédure ? Explique ce qui doit se passer lorsque tu ouvres un formulaire depuis
un bouton de contrôle d'un autre formulaire. Je ne te suis pas.



Schématiquement
sub traitement ()
j'affiche userForm Saisie
je récupére les info saisies
Je fais mes traitement
sub fin

Avec mon userForm Saisie constituer de controles divers dont
1 bouton commande "OK" qui est activé lorsque
l'utilisateur a fini sa saisie et veux que le traitement
continue.

Associé à "OK" j'ai
Private Sub clic_OK_Click()
??
End Sub

Je voudrais savoir quoi mettre en ?? pour que mon sub
traitement continue en séquence. Nota si je rappelle
traitement explicitement je repars au début (c'est ce que je
fais actuellement)

Merci DENIS.

--
Otez la cle pour me répondre.

Avatar
Denis Michon
Bonjour Alain,

Désolé, mais je ne comprends pas ! Tu veux que le traitement continu .... De quel traitement que tu parles, qu'est-ce
qui fait ou est supposé le faire le bouton Ok ?

N'oublie pas , toi tu as ton application sous les yeux...les répondeurs n'ont que tes commentaires ! Il faut être très
explicite ... il y a peut être d'autres répondeurs qui ont saisi tes propos et ils interviendront peut être .

Bon courage,

Salutations!



"Alain NEWS" a écrit dans le message de news:3f9c06d5$0$27576$
Denis Michon wrote:
Bonjour Alain,


"je continue en séquence dans le module d'appel ?"

Qu'est-ce que tu veux continuer ? Une procédure ? Explique ce qui doit se passer lorsque tu ouvres un formulaire
depuis

un bouton de contrôle d'un autre formulaire. Je ne te suis pas.



Schématiquement
sub traitement ()
j'affiche userForm Saisie
je récupére les info saisies
Je fais mes traitement
sub fin

Avec mon userForm Saisie constituer de controles divers dont
1 bouton commande "OK" qui est activé lorsque
l'utilisateur a fini sa saisie et veux que le traitement
continue.

Associé à "OK" j'ai
Private Sub clic_OK_Click()
??
End Sub

Je voudrais savoir quoi mettre en ?? pour que mon sub
traitement continue en séquence. Nota si je rappelle
traitement explicitement je repars au début (c'est ce que je
fais actuellement)

Merci DENIS.

--
Otez la cle pour me répondre.