Je mets à jour l'une de mes applications et je rencontre un phénomène étrange lors de la navigation entre deux formulaires. Le passage de l'un à l'autre se fait normalement :
Bouton d'accès au formulaire 2 - Ajout_Suppr_Donnees (situé sur le 1 - Accueil)
Accueil.Hide
Ajout_Suppr_Donnees.Show
Lors du retour sans rien faire d'autre du 2 au 1 tout se passe bien :
Mes deux formulaires sont en modal car sinon je rencontre des problèmes en passant de l'un à l'autre avec disparition du formulaire.
Le problème intervient lorsque je lance une procédure à partir du 2ème formulaire. Celle-ci fonctionne et effectue les modifications souhaitées. Hors lorsque j'utilise le bouton de retour, des événements graphiques incohérents se produisent : trainées laissées par les formulaires lors des déplacements, affichage de formulaires les uns sur les autres bien que les procédures les masquent...
L'utilisation d'un troisième bouton masquant mon formulaire 1 pour accéder à une feuille excel cette fois permet de résoudre ces problèmes lors du retour au formulaire 1.
Je ne peux transmettre l'application car elle contient des données confidentielles au sein même du code.
Si vous avez déjà rencontré ce type de problème, je vous remercie par avance de votre aide.
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,
Dans tes procédures, juste après les lignes de code qui masque le formulaire, ajoute la ligne de commande Doevents
comme ceci : Accueil.Hide DoEvents Ajout_Suppr_Donnees.Show
Si dans tes formulaires, tu utilises l'événement "Userform_Activate" ajoute aussi juste après la ligne de commande affichant le formulaire, Doevents.
La macro deviendrait : Accueil.Hide DoEvents Ajout_Suppr_Donnees.Show DoEvents
Cela permettra aux formulaires de s'afficher correctement.
Attention, si tu utilises la ligne de code de ton formulaire Application.ScreenUpdating = False Il ne faut pas oublier de passer cette ligne de code à True au moment opportun sinon, l'affichage devient pénible!
MichD -------------------------------------------- "simulacre25" a écrit dans le message de groupe de discussion :
Bonjour,
Je mets à jour l'une de mes applications et je rencontre un phénomène étrange lors de la navigation entre deux formulaires. Le passage de l'un à l'autre se fait normalement :
Bouton d'accès au formulaire 2 - Ajout_Suppr_Donnees (situé sur le 1 - Accueil)
Accueil.Hide Ajout_Suppr_Donnees.Show
Lors du retour sans rien faire d'autre du 2 au 1 tout se passe bien :
Mes deux formulaires sont en modal car sinon je rencontre des problèmes en passant de l'un à l'autre avec disparition du formulaire.
Le problème intervient lorsque je lance une procédure à partir du 2ème formulaire. Celle-ci fonctionne et effectue les modifications souhaitées. Hors lorsque j'utilise le bouton de retour, des événements graphiques incohérents se produisent : trainées laissées par les formulaires lors des déplacements, affichage de formulaires les uns sur les autres bien que les procédures les masquent...
L'utilisation d'un troisième bouton masquant mon formulaire 1 pour accéder à une feuille excel cette fois permet de résoudre ces problèmes lors du retour au formulaire 1.
Je ne peux transmettre l'application car elle contient des données confidentielles au sein même du code.
Si vous avez déjà rencontré ce type de problème, je vous remercie par avance de votre aide.
Cordialement.
Bonjour,
Dans tes procédures, juste après les lignes de code qui masque le formulaire,
ajoute la ligne de commande
Doevents
comme ceci :
Accueil.Hide
DoEvents
Ajout_Suppr_Donnees.Show
Si dans tes formulaires, tu utilises l'événement "Userform_Activate"
ajoute aussi juste après la ligne de commande affichant le formulaire,
Doevents.
La macro deviendrait :
Accueil.Hide
DoEvents
Ajout_Suppr_Donnees.Show
DoEvents
Cela permettra aux formulaires de s'afficher correctement.
Attention, si tu utilises la ligne de code de ton formulaire
Application.ScreenUpdating = False
Il ne faut pas oublier de passer cette ligne de code à True
au moment opportun sinon, l'affichage devient pénible!
MichD
--------------------------------------------
"simulacre25" a écrit dans le message de groupe de discussion : lsydnSzBL6_JMcbQRVn_vwA@giganews.com...
Bonjour,
Je mets à jour l'une de mes applications et je rencontre un phénomène étrange
lors de la navigation entre deux formulaires. Le passage de l'un à l'autre se
fait normalement :
Bouton d'accès au formulaire 2 - Ajout_Suppr_Donnees (situé sur le 1 -
Accueil)
Accueil.Hide
Ajout_Suppr_Donnees.Show
Lors du retour sans rien faire d'autre du 2 au 1 tout se passe bien :
Mes deux formulaires sont en modal car sinon je rencontre des problèmes en
passant de l'un à l'autre avec disparition du formulaire.
Le problème intervient lorsque je lance une procédure à partir du 2ème
formulaire. Celle-ci fonctionne et effectue les modifications souhaitées. Hors
lorsque j'utilise le bouton de retour, des événements graphiques incohérents se
produisent : trainées laissées par les formulaires lors des déplacements,
affichage de formulaires les uns sur les autres bien que les procédures les
masquent...
L'utilisation d'un troisième bouton masquant mon formulaire 1 pour accéder à
une feuille excel cette fois permet de résoudre ces problèmes lors du retour au
formulaire 1.
Je ne peux transmettre l'application car elle contient des données
confidentielles au sein même du code.
Si vous avez déjà rencontré ce type de problème, je vous remercie par avance de
votre aide.
Dans tes procédures, juste après les lignes de code qui masque le formulaire, ajoute la ligne de commande Doevents
comme ceci : Accueil.Hide DoEvents Ajout_Suppr_Donnees.Show
Si dans tes formulaires, tu utilises l'événement "Userform_Activate" ajoute aussi juste après la ligne de commande affichant le formulaire, Doevents.
La macro deviendrait : Accueil.Hide DoEvents Ajout_Suppr_Donnees.Show DoEvents
Cela permettra aux formulaires de s'afficher correctement.
Attention, si tu utilises la ligne de code de ton formulaire Application.ScreenUpdating = False Il ne faut pas oublier de passer cette ligne de code à True au moment opportun sinon, l'affichage devient pénible!
MichD -------------------------------------------- "simulacre25" a écrit dans le message de groupe de discussion :
Bonjour,
Je mets à jour l'une de mes applications et je rencontre un phénomène étrange lors de la navigation entre deux formulaires. Le passage de l'un à l'autre se fait normalement :
Bouton d'accès au formulaire 2 - Ajout_Suppr_Donnees (situé sur le 1 - Accueil)
Accueil.Hide Ajout_Suppr_Donnees.Show
Lors du retour sans rien faire d'autre du 2 au 1 tout se passe bien :
Mes deux formulaires sont en modal car sinon je rencontre des problèmes en passant de l'un à l'autre avec disparition du formulaire.
Le problème intervient lorsque je lance une procédure à partir du 2ème formulaire. Celle-ci fonctionne et effectue les modifications souhaitées. Hors lorsque j'utilise le bouton de retour, des événements graphiques incohérents se produisent : trainées laissées par les formulaires lors des déplacements, affichage de formulaires les uns sur les autres bien que les procédures les masquent...
L'utilisation d'un troisième bouton masquant mon formulaire 1 pour accéder à une feuille excel cette fois permet de résoudre ces problèmes lors du retour au formulaire 1.
Je ne peux transmettre l'application car elle contient des données confidentielles au sein même du code.
Si vous avez déjà rencontré ce type de problème, je vous remercie par avance de votre aide.
Cordialement.
simulacre25
michdenis a écrit le 16/02/2011 à 12h31 :
Bonjour,
Dans tes procédures, juste après les lignes de code qui masque le formulaire, ajoute la ligne de commande Doevents
comme ceci : Accueil.Hide DoEvents Ajout_Suppr_Donnees.Show
Si dans tes formulaires, tu utilises l'événement "Userform_Activate" ajoute aussi juste après la ligne de commande affichant le formulaire, Doevents.
La macro deviendrait : Accueil.Hide DoEvents Ajout_Suppr_Donnees.Show DoEvents
Cela permettra aux formulaires de s'afficher correctement.
Attention, si tu utilises la ligne de code de ton formulaire Application.ScreenUpdating = False Il ne faut pas oublier de passer cette ligne de code à True au moment opportun sinon, l'affichage devient pénible!
MichD -------------------------------------------- "simulacre25" a écrit dans le message de groupe de discussion :
Bonjour,
Je mets à jour l'une de mes applications et je rencontre un phénomène étrange lors de la navigation entre deux formulaires. Le passage de l'un à l'autre se fait normalement :
Bouton d'accès au formulaire 2 - Ajout_Suppr_Donnees (situé sur le 1 - Accueil)
Accueil.Hide Ajout_Suppr_Donnees.Show
Lors du retour sans rien faire d'autre du 2 au 1 tout se passe bien :
Mes deux formulaires sont en modal car sinon je rencontre des problèmes en passant de l'un à l'autre avec disparition du formulaire.
Le problème intervient lorsque je lance une procédure à partir du 2ème formulaire. Celle-ci fonctionne et effectue les modifications souhaitées. Hors lorsque j'utilise le bouton de retour, des événements graphiques incohérents se produisent : trainées laissées par les formulaires lors des déplacements, affichage de formulaires les uns sur les autres bien que les procédures les masquent...
L'utilisation d'un troisième bouton masquant mon formulaire 1 pour accéder à une feuille excel cette fois permet de résoudre ces problèmes lors du retour au formulaire 1.
Je ne peux transmettre l'application car elle contient des données confidentielles au sein même du code.
Si vous avez déjà rencontré ce type de problème, je vous remercie par avance de votre aide.
Cordialement.
Merci pour cette première réponse. Après test cela ne fonctionne pas mais j'avance.
En fait l'anomalie se produit dès lancement de ma procédure sur le formulaire 2 (ou son annulation en cours de route):
If Cells(a, 3).Value = MonAnnee Then Message = MsgBox("Des données sont déjà présentes pour l'année " & MonAnnee & ", abandon de la procédure.", vbOKOnly) If vbOK = 1 Then Sheets("Accueil").Select Range("H10").Select Ajout_Suppr_Donnees.Show DoEvents Application.ScreenUpdating = True Application.DisplayAlerts = True Exit Sub End If End If
Next a
On Error GoTo PasdeFichier Dim MonChemin As String MonChemin = ActiveWorkbook.Path MonAnnee = Workbooks("Mon appli.xls").Sheets("Param").Range("B2").Value
Dans tes procédures, juste après les lignes de code qui masque le
formulaire,
ajoute la ligne de commande
Doevents
comme ceci :
Accueil.Hide
DoEvents
Ajout_Suppr_Donnees.Show
Si dans tes formulaires, tu utilises l'événement
"Userform_Activate"
ajoute aussi juste après la ligne de commande affichant le formulaire,
Doevents.
La macro deviendrait :
Accueil.Hide
DoEvents
Ajout_Suppr_Donnees.Show
DoEvents
Cela permettra aux formulaires de s'afficher correctement.
Attention, si tu utilises la ligne de code de ton formulaire
Application.ScreenUpdating = False
Il ne faut pas oublier de passer cette ligne de code à True
au moment opportun sinon, l'affichage devient pénible!
MichD
--------------------------------------------
"simulacre25" a écrit dans le message de groupe de discussion
:
Bonjour,
Je mets à jour l'une de mes applications et je rencontre un
phénomène étrange
lors de la navigation entre deux formulaires. Le passage de l'un à
l'autre se
fait normalement :
Bouton d'accès au formulaire 2 - Ajout_Suppr_Donnees (situé sur
le 1 -
Accueil)
Accueil.Hide
Ajout_Suppr_Donnees.Show
Lors du retour sans rien faire d'autre du 2 au 1 tout se passe bien :
Mes deux formulaires sont en modal car sinon je rencontre des problèmes
en
passant de l'un à l'autre avec disparition du formulaire.
Le problème intervient lorsque je lance une procédure à
partir du 2ème
formulaire. Celle-ci fonctionne et effectue les modifications
souhaitées. Hors
lorsque j'utilise le bouton de retour, des événements graphiques
incohérents se
produisent : trainées laissées par les formulaires lors des
déplacements,
affichage de formulaires les uns sur les autres bien que les procédures
les
masquent...
L'utilisation d'un troisième bouton masquant mon formulaire 1 pour
accéder à
une feuille excel cette fois permet de résoudre ces problèmes
lors du retour au
formulaire 1.
Je ne peux transmettre l'application car elle contient des données
confidentielles au sein même du code.
Si vous avez déjà rencontré ce type de problème, je
vous remercie par avance de
votre aide.
Cordialement.
Merci pour cette première réponse. Après test cela ne fonctionne pas mais j'avance.
En fait l'anomalie se produit dès lancement de ma procédure sur le formulaire 2 (ou son annulation en cours de route):
If Cells(a, 3).Value = MonAnnee Then
Message = MsgBox("Des données sont déjà présentes pour l'année " & MonAnnee & ", abandon de la procédure.", vbOKOnly)
If vbOK = 1 Then
Sheets("Accueil").Select
Range("H10").Select
Ajout_Suppr_Donnees.Show
DoEvents
Application.ScreenUpdating = True
Application.DisplayAlerts = True
Exit Sub
End If
End If
Next a
On Error GoTo PasdeFichier
Dim MonChemin As String
MonChemin = ActiveWorkbook.Path
MonAnnee = Workbooks("Mon appli.xls").Sheets("Param").Range("B2").Value