OVH Cloud OVH Cloud

formulaire bloquée et vide

5 réponses
Avatar
ALF
bonjour,
j'ai construit un formulaire qui apparait à l'ouverture de la base. ce
formulaire contiend 3 boutons dont 2 executent des macros access de cette
base et 1 execute une macro excel.
tout marche bien sauf que regulierement ,si je laisse la base en attente,
pouraller voir dans d autres applications,lorque je reviens sur access, le
formulaire apparait vide et je ne peux meme pas voir les tables et les
requetes, car la base est aussi vide..Je dois fermer la base et la reouvrir
pourtout recuperer....le formulaire est en mode non independant et non
modal...
A quoi peut etre du ce phenomene??... merci de votre soutien...
--
ALF

5 réponses

Avatar
Raymond [mvp]
Bonjour.

le formulaire doit attendre quelque chose de la part d'un objet, je
pencherais pour la macro excel. quand tu quittes l'appli tu dois savoir où
est-ce que tu te trouves ?
essaie de placer un Me.Requery sur l'événement Sur activé(Form_Activate)
pour voir si ça bouge lorsque tu recliques sur ton appli.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"ALF" a écrit dans le message de news:

bonjour,
j'ai construit un formulaire qui apparait à l'ouverture de la base. ce
formulaire contiend 3 boutons dont 2 executent des macros access de cette
base et 1 execute une macro excel.
tout marche bien sauf que regulierement ,si je laisse la base en attente,
pouraller voir dans d autres applications,lorque je reviens sur access, le
formulaire apparait vide et je ne peux meme pas voir les tables et les
requetes, car la base est aussi vide..Je dois fermer la base et la
reouvrir
pourtout recuperer....le formulaire est en mode non independant et non
modal...
A quoi peut etre du ce phenomene??... merci de votre soutien...
--
ALF


Avatar
ALF
merci raymond pour ta reponse mais je ne connais pas cette fonction
me.requery..

voici l evenement en question

Private Sub MIS_EN_FORME_DblClick(Cancel As Integer)

Dim XL_APP As Object
Set XL_APP = CreateObject("Excel.Application")
XL_APP.Visible = True
XL_APP.Workbooks.Open ("S:CTX_RHONE_PROVENCE_CORSEfregate-net jourMACRO
FREGNET.xls")
XL_APP.Run ("MacroLD")

End Sub

la macro est la suivante:
Sub MacroLD()
'
' MacroLD Macro
' Macro enregistrée le 28/01/2005 par LOID6291
'
' Touche de raccourci du clavier: Ctrl+Maj+L
'
ChDir "S:CTX_RHONE_PROVENCE_CORSEfregate-net jour"
Workbooks.Open Filename:= _
"S:CTX_RHONE_PROVENCE_CORSEfregate-net jourfregj1.xls"
Columns("E:E").Select
Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
Selection.NumberFormat = "0.00"
Range("E1").Select
Selection.NumberFormat = "@"
ActiveWorkbook.Save
ActiveWorkbook.Close
ChDir "S:CTX_RHONE_PROVENCE_CORSEfregate-net jour"
Workbooks.Open Filename:= _
"S:CTX_RHONE_PROVENCE_CORSEfregate-net jourfregj4.xls"
Columns("E:E").Select
Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
Selection.NumberFormat = "0.00"
Range("E1").Select
Selection.NumberFormat = "@"
ActiveWorkbook.Save
ActiveWorkbook.Close
Workbooks.Open Filename:= _
"S:CTX_RHONE_PROVENCE_CORSEfregate-net journetj1j4.xls"
Columns("H:H").Select
Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
Selection.NumberFormat = "0.00"
Range("H1").Select
Selection.NumberFormat = "@"
Range("K2").Select
Do While ActiveCell.Offset(0, -1).Value <> ""
ActiveCell.FormulaR1C1 = "=IF(OR(RC[-1]="""",RC[-1]="" "",RC[-1]=""
""),"""",VALUE(RC[-1]))"
ActiveCell.Offset(1, 0).Select
Loop
Range("K2").Select
Do While ActiveCell.Offset(0, -1).Value <> ""
Selection.NumberFormat = "m/d/yyyy"
ActiveCell.Offset(1, 0).Select
Loop
Columns("K:K").Select
Application.CutCopyMode = False
Selection.Copy
Columns("J:J").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:úlse, Transpose:úlse
Application.CutCopyMode = False
Selection.NumberFormat = "m/d/yyyy"
Range("J1").Select
Selection.NumberFormat = "General"
ActiveCell.FormulaR1C1 = "'DATE RESILIATION"
Range("J1").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.MergeCells = False
End With
Columns("K:K").Select
Selection.Delete Shift:=xlToLeft
'Range("K1").Select
'ActiveCell.FormulaR1C1 = "'FRAICHEUR"
'With Selection
'.HorizontalAlignment = xlCenter
'.VerticalAlignment = xlBottom
'.WrapText = False
'.Orientation = 0
'.AddIndent = False
'.ShrinkToFit = False
'.MergeCells = False
ActiveWorkbook.Save
ActiveWorkbook.Close
Beep
Beep
Beep
Beep
MsgBox "TRAITEMENT TERMINE", vbInformation, "FORMATAGE FREGATE NET"

End Sub

merci encore..

Bonjour.

le formulaire doit attendre quelque chose de la part d'un objet, je
pencherais pour la macro excel. quand tu quittes l'appli tu dois savoir où
est-ce que tu te trouves ?
essaie de placer un Me.Requery sur l'événement Sur activé(Form_Activate)
pour voir si ça bouge lorsque tu recliques sur ton appli.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"ALF" a écrit dans le message de news:

bonjour,
j'ai construit un formulaire qui apparait à l'ouverture de la base. ce
formulaire contiend 3 boutons dont 2 executent des macros access de cette
base et 1 execute une macro excel.
tout marche bien sauf que regulierement ,si je laisse la base en attente,
pouraller voir dans d autres applications,lorque je reviens sur access, le
formulaire apparait vide et je ne peux meme pas voir les tables et les
requetes, car la base est aussi vide..Je dois fermer la base et la
reouvrir
pourtout recuperer....le formulaire est en mode non independant et non
modal...
A quoi peut etre du ce phenomene??... merci de votre soutien...
--
ALF







Avatar
Raymond [mvp]
il faut fermer tes objets après exécution.
faire au minimum:
XL_APP.Run ("MacroLD")
XL_APP.ActiveWorkbook.Save

XL_APP.ActiveWorkbook.Close
XL_APP.Quit
set XL_APP = Nothing

quand à l'exécution de la macro proprement dite sous excel, je ne suis pas
assez pro d'excel pour la vérifier en totalité, mais je pense que tu l'as
déjà vérifiée ?
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"ALF" a écrit dans le message de news:

merci raymond pour ta reponse mais je ne connais pas cette fonction
me.requery..

voici l evenement en question

Private Sub MIS_EN_FORME_DblClick(Cancel As Integer)

Dim XL_APP As Object
Set XL_APP = CreateObject("Excel.Application")
XL_APP.Visible = True
XL_APP.Workbooks.Open ("S:CTX_RHONE_PROVENCE_CORSEfregate-net jourMACRO
FREGNET.xls")
XL_APP.Run ("MacroLD")

End Sub



Avatar
ALF
un grand MERCI , raymond ,Problême résolu...il fallait bien fermer l'objet
excel après éxécution...
je profite de ta science pour remettre sur la sellette cette action
Me.Requery que tu me proposais de placer sur l'évènement Sur
activé(Form_Activate) afin de voir ce qui ce serait passé si j'avais recliqué
surmon appli.....peux tu m'expliquer brièvement l' interet de cette manoeuvre
et a quel endroit placer cette action sur l'évènement que j'ai joint.. pour
toute fin utile...

Encore merci pour ton soutien..


il faut fermer tes objets après exécution.
faire au minimum:
XL_APP.Run ("MacroLD")
XL_APP.ActiveWorkbook.Save

XL_APP.ActiveWorkbook.Close
XL_APP.Quit
set XL_APP = Nothing

quand à l'exécution de la macro proprement dite sous excel, je ne suis pas
assez pro d'excel pour la vérifier en totalité, mais je pense que tu l'as
déjà vérifiée ?
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"ALF" a écrit dans le message de news:

merci raymond pour ta reponse mais je ne connais pas cette fonction
me.requery..

voici l evenement en question

Private Sub MIS_EN_FORME_DblClick(Cancel As Integer)

Dim XL_APP As Object
Set XL_APP = CreateObject("Excel.Application")
XL_APP.Visible = True
XL_APP.Workbooks.Open ("S:CTX_RHONE_PROVENCE_CORSEfregate-net jourMACRO
FREGNET.xls")
XL_APP.Run ("MacroLD")

End Sub








Avatar
Raymond [mvp]
quant tu retourne sur un formulaire, l'évènement sur activé est déclanché. A
ce moment là si on fait un requery, il est possible que le formulaire
retrouve ses données.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"ALF" a écrit dans le message de news:

un grand MERCI , raymond ,Problême résolu...il fallait bien fermer l'objet
excel après éxécution...
je profite de ta science pour remettre sur la sellette cette action
Me.Requery que tu me proposais de placer sur l'évènement Sur
activé(Form_Activate) afin de voir ce qui ce serait passé si j'avais
recliqué
surmon appli.....peux tu m'expliquer brièvement l' interet de cette
manoeuvre
et a quel endroit placer cette action sur l'évènement que j'ai joint..
pour
toute fin utile...

Encore merci pour ton soutien..