est ce qqn auait un coup de pouce à me filer :
explications :
je souhaite faire une sorte de tempo
on ouvre une feuille excel, on travaille dessus et au bout
de 30s le fichier excel est enregistré et se ferme (si le
fichier n’est pas en lecture seule)
ça parait simple à faire mais……….
1er solution : pas top car je n'ai pas acces au touches :
gras, italique, couleurs sans la choisir
et ca ralenti vachement le systeme
Code:
'lancement à l'ouverture du fichier
Sub auto_open()
'si le fichier n'est pas en lecture seule : false
If ActiveWorkbook.ReadOnly = False Then
Dim PauseTime, Start
PauseTime = 30 ' Définit la durée de la tempo
Start = timer ' Définit l'heure de début
actuelle
'boucle
Do While timer < Start + PauseTime
DoEvents ' Donne le contrôle à d'autres
processus.
Loop
temp = MsgBox("ca marche " & tps, Style, "Vérification :")
'active le classeur : si d'autres fichiers excel ouvert
Workbooks("essai.xls").Activate
'sauvegarde automatique
ActiveWorkbook.Save
'ferme le classeur ouvert
'si qqc est rentré il demande l'enregistrement :
'vu "ActiveWorkbook.Save" enregistre automatiquement cela
entraine
'donc la fermeture excel
ActiveWorkbook.Close
'active pour selectionner la feuille qui est active
End If
End Sub
2ème solution
mais le pb : quand je sauvegarde mon fichier avant la fin
de la tempo : c'est la merde car celle ci est mémoirisé :
quand j'ouvre à nouveau mon fichier la tempo reprend à la
suite : elle ne dure donc pas 30s et se ferme plusieurs
fois sauf si je ferme véritableùment excel et non juste le
fichier
je cherche à faire un reset de la tempo lors de chaque
ouverture pour que cela dure tjs 30 s par ex
Code:
'lancement à l'ouverture du fichier
Sub auto_open()
'si le fichier n'est pas en lecture seule : false
Application.OnTime Now + TimeValue("00:00:30"), "tempo"
End Sub
Sub tempo()
temp = MsgBox("ca marche " & tps, Style, "Vérification :")
'active le classeur : si d'autres fichiers excel ouvert
Workbooks("nv essai.xls").Activate
'sauvegarde automatique
ActiveWorkbook.Save
'ferme le classeur ouvert
'si qqc est rentré il demande l'enregistrement :
'vu "ActiveWorkbook.Save" enregistre automatiquement cela
entraine
'donc la fermeture excel
ActiveWorkbook.Close
'active pour selectionner la feuille qui est active
End Sub
au lieu de faire une Sub Auto_open : j’ai mis le code dans
WorkBook_open() : idem
merci du coup de pouce
est ce qqn auait un coup de pouce à me filer :
explications :
je souhaite faire une sorte de tempo
on ouvre une feuille excel, on travaille dessus et au bout
de 30s le fichier excel est enregistré et se ferme (si le
fichier n’est pas en lecture seule)
ça parait simple à faire mais……….
1er solution : pas top car je n'ai pas acces au touches :
gras, italique, couleurs sans la choisir
et ca ralenti vachement le systeme
Code:
'lancement à l'ouverture du fichier
Sub auto_open()
'si le fichier n'est pas en lecture seule : false
If ActiveWorkbook.ReadOnly = False Then
Dim PauseTime, Start
PauseTime = 30 ' Définit la durée de la tempo
Start = timer ' Définit l'heure de début
actuelle
'boucle
Do While timer < Start + PauseTime
DoEvents ' Donne le contrôle à d'autres
processus.
Loop
temp = MsgBox("ca marche " & tps, Style, "Vérification :")
'active le classeur : si d'autres fichiers excel ouvert
Workbooks("essai.xls").Activate
'sauvegarde automatique
ActiveWorkbook.Save
'ferme le classeur ouvert
'si qqc est rentré il demande l'enregistrement :
'vu "ActiveWorkbook.Save" enregistre automatiquement cela
entraine
'donc la fermeture excel
ActiveWorkbook.Close
'active pour selectionner la feuille qui est active
End If
End Sub
2ème solution
mais le pb : quand je sauvegarde mon fichier avant la fin
de la tempo : c'est la merde car celle ci est mémoirisé :
quand j'ouvre à nouveau mon fichier la tempo reprend à la
suite : elle ne dure donc pas 30s et se ferme plusieurs
fois sauf si je ferme véritableùment excel et non juste le
fichier
je cherche à faire un reset de la tempo lors de chaque
ouverture pour que cela dure tjs 30 s par ex
Code:
'lancement à l'ouverture du fichier
Sub auto_open()
'si le fichier n'est pas en lecture seule : false
Application.OnTime Now + TimeValue("00:00:30"), "tempo"
End Sub
Sub tempo()
temp = MsgBox("ca marche " & tps, Style, "Vérification :")
'active le classeur : si d'autres fichiers excel ouvert
Workbooks("nv essai.xls").Activate
'sauvegarde automatique
ActiveWorkbook.Save
'ferme le classeur ouvert
'si qqc est rentré il demande l'enregistrement :
'vu "ActiveWorkbook.Save" enregistre automatiquement cela
entraine
'donc la fermeture excel
ActiveWorkbook.Close
'active pour selectionner la feuille qui est active
End Sub
au lieu de faire une Sub Auto_open : j’ai mis le code dans
WorkBook_open() : idem
merci du coup de pouce
est ce qqn auait un coup de pouce à me filer :
explications :
je souhaite faire une sorte de tempo
on ouvre une feuille excel, on travaille dessus et au bout
de 30s le fichier excel est enregistré et se ferme (si le
fichier n’est pas en lecture seule)
ça parait simple à faire mais……….
1er solution : pas top car je n'ai pas acces au touches :
gras, italique, couleurs sans la choisir
et ca ralenti vachement le systeme
Code:
'lancement à l'ouverture du fichier
Sub auto_open()
'si le fichier n'est pas en lecture seule : false
If ActiveWorkbook.ReadOnly = False Then
Dim PauseTime, Start
PauseTime = 30 ' Définit la durée de la tempo
Start = timer ' Définit l'heure de début
actuelle
'boucle
Do While timer < Start + PauseTime
DoEvents ' Donne le contrôle à d'autres
processus.
Loop
temp = MsgBox("ca marche " & tps, Style, "Vérification :")
'active le classeur : si d'autres fichiers excel ouvert
Workbooks("essai.xls").Activate
'sauvegarde automatique
ActiveWorkbook.Save
'ferme le classeur ouvert
'si qqc est rentré il demande l'enregistrement :
'vu "ActiveWorkbook.Save" enregistre automatiquement cela
entraine
'donc la fermeture excel
ActiveWorkbook.Close
'active pour selectionner la feuille qui est active
End If
End Sub
2ème solution
mais le pb : quand je sauvegarde mon fichier avant la fin
de la tempo : c'est la merde car celle ci est mémoirisé :
quand j'ouvre à nouveau mon fichier la tempo reprend à la
suite : elle ne dure donc pas 30s et se ferme plusieurs
fois sauf si je ferme véritableùment excel et non juste le
fichier
je cherche à faire un reset de la tempo lors de chaque
ouverture pour que cela dure tjs 30 s par ex
Code:
'lancement à l'ouverture du fichier
Sub auto_open()
'si le fichier n'est pas en lecture seule : false
Application.OnTime Now + TimeValue("00:00:30"), "tempo"
End Sub
Sub tempo()
temp = MsgBox("ca marche " & tps, Style, "Vérification :")
'active le classeur : si d'autres fichiers excel ouvert
Workbooks("nv essai.xls").Activate
'sauvegarde automatique
ActiveWorkbook.Save
'ferme le classeur ouvert
'si qqc est rentré il demande l'enregistrement :
'vu "ActiveWorkbook.Save" enregistre automatiquement cela
entraine
'donc la fermeture excel
ActiveWorkbook.Close
'active pour selectionner la feuille qui est active
End Sub
au lieu de faire une Sub Auto_open : j’ai mis le code dans
WorkBook_open() : idem
merci du coup de pouce
-----Message d'origine-----
ce que je veux faire :
je souhaite faire une sorte de tempo
on ouvre une feuille excel, on travaille dessus et au
bout
de 2mn le fichier excel est enregistré et se ferme (si le
fichier n’est pas en lecture seule)
ça parait simple à faire mais...
tout fonctionne sauf un truc
quand tu écris qqc dans une cellule mais que tu n'a pas
tapé "entrée" ou cliquer sur une autre cellule le curseur
reste à la fin du texte et la tempo est fini mais attends
que tu cliques ailleurs : le prog se ferme donc pas : il
faudrait pouvoir cliquer n'importe par le programme
dans ThisWorkbook
Code:
'déclaration de la variable
Dim Start_time As Variant
'lancement à l'ouverture du fichier
Sub Workbook_Open()
'si le fichier n'est pas en lecture seule : ReadOnly =
False
If ActiveWorkbook.ReadOnly = False Then
Start_time = Now + TimeValue("00:00:10") 'mettre les
infos dans une variable
Application.OnTime Start_time, "tempo" 'lancement de
la tempo
End If
End Sub
'si le fichier est fermé avant la fin de la tempo :
réinstialiser la variable
'Cette fonction est appellé avant la fermeture du fichier
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'si le fichier n'est pas en lecture seule : ReadOnly =
False
If ActiveWorkbook.ReadOnly = False Then
Application.OnTime EarliestTime:=Start_time, _
Procedure:="tempo",
Schedule:úlse 'supprime
la tempo(Schedule:úlse)
End If
End Sub
et dans un module
Code:
Sub tempo()
'active le classeur : si d'autres fichiers excel sont
ouvert
Workbooks("nv essai.xls").Activate
'sauvegarde automatique
ActiveWorkbook.Save
'ferme le classeur ouvert
'si qqc est rentré il demande l'enregistrement :
vu "ActiveWorkbook.Save" : enregistre automatiquement
cela entraine la fermeture du fichier sans message
ActiveWorkbook.Close
'-> active : pour selectionner la feuille qui est active
End Sub
Au secours
merci de votre aide
@+
Olivier qui n'arrete pas de chercher
.
-----Message d'origine-----
ce que je veux faire :
je souhaite faire une sorte de tempo
on ouvre une feuille excel, on travaille dessus et au
bout
de 2mn le fichier excel est enregistré et se ferme (si le
fichier n’est pas en lecture seule)
ça parait simple à faire mais...
tout fonctionne sauf un truc
quand tu écris qqc dans une cellule mais que tu n'a pas
tapé "entrée" ou cliquer sur une autre cellule le curseur
reste à la fin du texte et la tempo est fini mais attends
que tu cliques ailleurs : le prog se ferme donc pas : il
faudrait pouvoir cliquer n'importe par le programme
dans ThisWorkbook
Code:
'déclaration de la variable
Dim Start_time As Variant
'lancement à l'ouverture du fichier
Sub Workbook_Open()
'si le fichier n'est pas en lecture seule : ReadOnly =
False
If ActiveWorkbook.ReadOnly = False Then
Start_time = Now + TimeValue("00:00:10") 'mettre les
infos dans une variable
Application.OnTime Start_time, "tempo" 'lancement de
la tempo
End If
End Sub
'si le fichier est fermé avant la fin de la tempo :
réinstialiser la variable
'Cette fonction est appellé avant la fermeture du fichier
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'si le fichier n'est pas en lecture seule : ReadOnly =
False
If ActiveWorkbook.ReadOnly = False Then
Application.OnTime EarliestTime:=Start_time, _
Procedure:="tempo",
Schedule:=False 'supprime
la tempo(Schedule:=False)
End If
End Sub
et dans un module
Code:
Sub tempo()
'active le classeur : si d'autres fichiers excel sont
ouvert
Workbooks("nv essai.xls").Activate
'sauvegarde automatique
ActiveWorkbook.Save
'ferme le classeur ouvert
'si qqc est rentré il demande l'enregistrement :
vu "ActiveWorkbook.Save" : enregistre automatiquement
cela entraine la fermeture du fichier sans message
ActiveWorkbook.Close
'-> active : pour selectionner la feuille qui est active
End Sub
Au secours
merci de votre aide
@+
Olivier qui n'arrete pas de chercher
.
-----Message d'origine-----
ce que je veux faire :
je souhaite faire une sorte de tempo
on ouvre une feuille excel, on travaille dessus et au
bout
de 2mn le fichier excel est enregistré et se ferme (si le
fichier n’est pas en lecture seule)
ça parait simple à faire mais...
tout fonctionne sauf un truc
quand tu écris qqc dans une cellule mais que tu n'a pas
tapé "entrée" ou cliquer sur une autre cellule le curseur
reste à la fin du texte et la tempo est fini mais attends
que tu cliques ailleurs : le prog se ferme donc pas : il
faudrait pouvoir cliquer n'importe par le programme
dans ThisWorkbook
Code:
'déclaration de la variable
Dim Start_time As Variant
'lancement à l'ouverture du fichier
Sub Workbook_Open()
'si le fichier n'est pas en lecture seule : ReadOnly =
False
If ActiveWorkbook.ReadOnly = False Then
Start_time = Now + TimeValue("00:00:10") 'mettre les
infos dans une variable
Application.OnTime Start_time, "tempo" 'lancement de
la tempo
End If
End Sub
'si le fichier est fermé avant la fin de la tempo :
réinstialiser la variable
'Cette fonction est appellé avant la fermeture du fichier
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'si le fichier n'est pas en lecture seule : ReadOnly =
False
If ActiveWorkbook.ReadOnly = False Then
Application.OnTime EarliestTime:=Start_time, _
Procedure:="tempo",
Schedule:úlse 'supprime
la tempo(Schedule:úlse)
End If
End Sub
et dans un module
Code:
Sub tempo()
'active le classeur : si d'autres fichiers excel sont
ouvert
Workbooks("nv essai.xls").Activate
'sauvegarde automatique
ActiveWorkbook.Save
'ferme le classeur ouvert
'si qqc est rentré il demande l'enregistrement :
vu "ActiveWorkbook.Save" : enregistre automatiquement
cela entraine la fermeture du fichier sans message
ActiveWorkbook.Close
'-> active : pour selectionner la feuille qui est active
End Sub
Au secours
merci de votre aide
@+
Olivier qui n'arrete pas de chercher
.
-----Message d'origine-----
ce que je veux faire :
je souhaite faire une sorte de tempo
on ouvre une feuille excel, on travaille dessus et au
bout
de 2mn le fichier excel est enregistré et se ferme (si le
fichier n’est pas en lecture seule)
ça parait simple à faire mais...
tout fonctionne sauf un truc
quand tu écris qqc dans une cellule mais que tu n'a pas
tapé "entrée" ou cliquer sur une autre cellule le curseur
reste à la fin du texte et la tempo est fini mais attends
que tu cliques ailleurs : le prog se ferme donc pas : il
faudrait pouvoir cliquer n'importe par le programme
dans ThisWorkbook
Code:
'déclaration de la variable
Dim Start_time As Variant
'lancement à l'ouverture du fichier
Sub Workbook_Open()
'si le fichier n'est pas en lecture seule : ReadOnly >False
If ActiveWorkbook.ReadOnly = False Then
Start_time = Now + TimeValue("00:00:10") 'mettre les
infos dans une variable
Application.OnTime Start_time, "tempo" 'lancement de
la tempo
End If
End Sub
'si le fichier est fermé avant la fin de la tempo :
réinstialiser la variable
'Cette fonction est appellé avant la fermeture du fichier
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'si le fichier n'est pas en lecture seule : ReadOnly >False
If ActiveWorkbook.ReadOnly = False Then
Application.OnTime EarliestTime:=Start_time, _
Procedure:="tempo",
Schedule:úlse 'supprime
la tempo(Schedule:úlse)
End If
End Sub
et dans un module
Code:
Sub tempo()
'active le classeur : si d'autres fichiers excel sont
ouvert
Workbooks("nv essai.xls").Activate
'sauvegarde automatique
ActiveWorkbook.Save
'ferme le classeur ouvert
'si qqc est rentré il demande l'enregistrement :
vu "ActiveWorkbook.Save" : enregistre automatiquement
cela entraine la fermeture du fichier sans message
ActiveWorkbook.Close
'-> active : pour selectionner la feuille qui est active
End Sub
Au secours
merci de votre aide
@+
Olivier qui n'arrete pas de chercher
.
-----Message d'origine-----
ce que je veux faire :
je souhaite faire une sorte de tempo
on ouvre une feuille excel, on travaille dessus et au
bout
de 2mn le fichier excel est enregistré et se ferme (si le
fichier n’est pas en lecture seule)
ça parait simple à faire mais...
tout fonctionne sauf un truc
quand tu écris qqc dans une cellule mais que tu n'a pas
tapé "entrée" ou cliquer sur une autre cellule le curseur
reste à la fin du texte et la tempo est fini mais attends
que tu cliques ailleurs : le prog se ferme donc pas : il
faudrait pouvoir cliquer n'importe par le programme
dans ThisWorkbook
Code:
'déclaration de la variable
Dim Start_time As Variant
'lancement à l'ouverture du fichier
Sub Workbook_Open()
'si le fichier n'est pas en lecture seule : ReadOnly >False
If ActiveWorkbook.ReadOnly = False Then
Start_time = Now + TimeValue("00:00:10") 'mettre les
infos dans une variable
Application.OnTime Start_time, "tempo" 'lancement de
la tempo
End If
End Sub
'si le fichier est fermé avant la fin de la tempo :
réinstialiser la variable
'Cette fonction est appellé avant la fermeture du fichier
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'si le fichier n'est pas en lecture seule : ReadOnly >False
If ActiveWorkbook.ReadOnly = False Then
Application.OnTime EarliestTime:=Start_time, _
Procedure:="tempo",
Schedule:úlse 'supprime
la tempo(Schedule:úlse)
End If
End Sub
et dans un module
Code:
Sub tempo()
'active le classeur : si d'autres fichiers excel sont
ouvert
Workbooks("nv essai.xls").Activate
'sauvegarde automatique
ActiveWorkbook.Save
'ferme le classeur ouvert
'si qqc est rentré il demande l'enregistrement :
vu "ActiveWorkbook.Save" : enregistre automatiquement
cela entraine la fermeture du fichier sans message
ActiveWorkbook.Close
'-> active : pour selectionner la feuille qui est active
End Sub
Au secours
merci de votre aide
@+
Olivier qui n'arrete pas de chercher
.
-----Message d'origine-----
ce que je veux faire :
je souhaite faire une sorte de tempo
on ouvre une feuille excel, on travaille dessus et au
bout
de 2mn le fichier excel est enregistré et se ferme (si le
fichier n’est pas en lecture seule)
ça parait simple à faire mais...
tout fonctionne sauf un truc
quand tu écris qqc dans une cellule mais que tu n'a pas
tapé "entrée" ou cliquer sur une autre cellule le curseur
reste à la fin du texte et la tempo est fini mais attends
que tu cliques ailleurs : le prog se ferme donc pas : il
faudrait pouvoir cliquer n'importe par le programme
dans ThisWorkbook
Code:
'déclaration de la variable
Dim Start_time As Variant
'lancement à l'ouverture du fichier
Sub Workbook_Open()
'si le fichier n'est pas en lecture seule : ReadOnly >False
If ActiveWorkbook.ReadOnly = False Then
Start_time = Now + TimeValue("00:00:10") 'mettre les
infos dans une variable
Application.OnTime Start_time, "tempo" 'lancement de
la tempo
End If
End Sub
'si le fichier est fermé avant la fin de la tempo :
réinstialiser la variable
'Cette fonction est appellé avant la fermeture du fichier
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'si le fichier n'est pas en lecture seule : ReadOnly >False
If ActiveWorkbook.ReadOnly = False Then
Application.OnTime EarliestTime:=Start_time, _
Procedure:="tempo",
Schedule:úlse 'supprime
la tempo(Schedule:úlse)
End If
End Sub
et dans un module
Code:
Sub tempo()
'active le classeur : si d'autres fichiers excel sont
ouvert
Workbooks("nv essai.xls").Activate
'sauvegarde automatique
ActiveWorkbook.Save
'ferme le classeur ouvert
'si qqc est rentré il demande l'enregistrement :
vu "ActiveWorkbook.Save" : enregistre automatiquement
cela entraine la fermeture du fichier sans message
ActiveWorkbook.Close
'-> active : pour selectionner la feuille qui est active
End Sub
Au secours
merci de votre aide
@+
Olivier qui n'arrete pas de chercher
.
est ce qqn auait un coup de pouce à me filer :
explications :
je souhaite faire une sorte de tempo
on ouvre une feuille excel, on travaille dessus et au bout
de 30s le fichier excel est enregistré et se ferme (si le
fichier n’est pas en lecture seule)
ça parait simple à faire mais……….
1er solution : pas top car je n'ai pas acces au touches :
gras, italique, couleurs sans la choisir
et ca ralenti vachement le systeme
Code:
'lancement à l'ouverture du fichier
Sub auto_open()
'si le fichier n'est pas en lecture seule : false
If ActiveWorkbook.ReadOnly = False Then
Dim PauseTime, Start
PauseTime = 30 ' Définit la durée de la tempo
Start = timer ' Définit l'heure de début
actuelle
'boucle
Do While timer < Start + PauseTime
DoEvents ' Donne le contrôle à d'autres
processus.
Loop
temp = MsgBox("ca marche " & tps, Style, "Vérification
:")
'active le classeur : si d'autres fichiers excel ouvert
Workbooks("essai.xls").Activate
'sauvegarde automatique
ActiveWorkbook.Save
'ferme le classeur ouvert
'si qqc est rentré il demande l'enregistrement :
'vu "ActiveWorkbook.Save" enregistre automatiquement cela
entraine
'donc la fermeture excel
ActiveWorkbook.Close
'active pour selectionner la feuille qui est active
End If
End Sub
2ème solution
mais le pb : quand je sauvegarde mon fichier avant la fin
de la tempo : c'est la merde car celle ci est mémoirisé :
quand j'ouvre à nouveau mon fichier la tempo reprend à la
suite : elle ne dure donc pas 30s et se ferme plusieurs
fois sauf si je ferme véritableùment excel et non juste le
fichier
je cherche à faire un reset de la tempo lors de chaque
ouverture pour que cela dure tjs 30 s par ex
Code:
'lancement à l'ouverture du fichier
Sub auto_open()
'si le fichier n'est pas en lecture seule : false
Application.OnTime Now + TimeValue("00:00:30"), "tempo"
End Sub
Sub tempo()
temp = MsgBox("ca marche " & tps, Style, "Vérification
:")
'active le classeur : si d'autres fichiers excel ouvert
Workbooks("nv essai.xls").Activate
'sauvegarde automatique
ActiveWorkbook.Save
'ferme le classeur ouvert
'si qqc est rentré il demande l'enregistrement :
'vu "ActiveWorkbook.Save" enregistre automatiquement cela
entraine
'donc la fermeture excel
ActiveWorkbook.Close
'active pour selectionner la feuille qui est active
End Sub
au lieu de faire une Sub Auto_open : j’ai mis le code dans
WorkBook_open() : idem
merci du coup de pouce
est ce qqn auait un coup de pouce =E0 me filer :=20
explications :=20
je souhaite faire une sorte de tempo=20
on ouvre une feuille excel, on travaille dessus et au bout=20
de 30s le fichier excel est enregistr=E9 et se ferme (si le=20
fichier n’est pas en lecture seule)=20
=E7a parait simple =E0 faire mais……….=20
1er solution : pas top car je n'ai pas acces au touches :=20
gras, italique, couleurs sans la choisir=20
et ca ralenti vachement le systeme=20
Code:=20
'lancement =E0 l'ouverture du fichier=20
Sub auto_open()=20
'si le fichier n'est pas en lecture seule : false=20
If ActiveWorkbook.ReadOnly =3D False Then=20
Dim PauseTime, Start=20
PauseTime =3D 30 ' D=E9finit la dur=E9e de la tempo=20
Start =3D timer ' D=E9finit l'heure de d=E9but=20
actuelle=20
=20
'boucle=20
Do While timer < Start + PauseTime=20
DoEvents ' Donne le contr=F4le =E0 d'autres=20
processus.=20
Loop=20
=20
temp =3D MsgBox("ca marche " & tps, Style, "V=E9rification
:")=20
'active le classeur : si d'autres fichiers excel ouvert=20
Workbooks("essai.xls").Activate=20
'sauvegarde automatique=20
ActiveWorkbook.Save=20
'ferme le classeur ouvert=20
'si qqc est rentr=E9 il demande l'enregistrement :=20
'vu "ActiveWorkbook.Save" enregistre automatiquement cela=20
entraine=20
'donc la fermeture excel=20
ActiveWorkbook.Close=20
'active pour selectionner la feuille qui est active=20
End If=20
End Sub =20
2=E8me solution=20
mais le pb : quand je sauvegarde mon fichier avant la fin=20
de la tempo : c'est la merde car celle ci est m=E9moiris=E9 :=20
quand j'ouvre =E0 nouveau mon fichier la tempo reprend =E0 la=20
suite : elle ne dure donc pas 30s et se ferme plusieurs=20
fois sauf si je ferme v=E9ritable=F9ment excel et non juste le=20
fichier=20
je cherche =E0 faire un reset de la tempo lors de chaque=20
ouverture pour que cela dure tjs 30 s par ex=20
Code:=20
'lancement =E0 l'ouverture du fichier=20
Sub auto_open()=20
'si le fichier n'est pas en lecture seule : false=20
Application.OnTime Now + TimeValue("00:00:30"), "tempo"=20
End Sub=20
Sub tempo()=20
temp =3D MsgBox("ca marche " & tps, Style, "V=E9rification
:")=20
'active le classeur : si d'autres fichiers excel ouvert=20
Workbooks("nv essai.xls").Activate=20
'sauvegarde automatique=20
ActiveWorkbook.Save=20
'ferme le classeur ouvert=20
'si qqc est rentr=E9 il demande l'enregistrement :=20
'vu "ActiveWorkbook.Save" enregistre automatiquement cela=20
entraine=20
'donc la fermeture excel=20
ActiveWorkbook.Close=20
'active pour selectionner la feuille qui est active=20
End Sub =20
au lieu de faire une Sub Auto_open : j’ai mis le code dans=20
WorkBook_open() : idem=20
merci du coup de pouce
est ce qqn auait un coup de pouce à me filer :
explications :
je souhaite faire une sorte de tempo
on ouvre une feuille excel, on travaille dessus et au bout
de 30s le fichier excel est enregistré et se ferme (si le
fichier n’est pas en lecture seule)
ça parait simple à faire mais……….
1er solution : pas top car je n'ai pas acces au touches :
gras, italique, couleurs sans la choisir
et ca ralenti vachement le systeme
Code:
'lancement à l'ouverture du fichier
Sub auto_open()
'si le fichier n'est pas en lecture seule : false
If ActiveWorkbook.ReadOnly = False Then
Dim PauseTime, Start
PauseTime = 30 ' Définit la durée de la tempo
Start = timer ' Définit l'heure de début
actuelle
'boucle
Do While timer < Start + PauseTime
DoEvents ' Donne le contrôle à d'autres
processus.
Loop
temp = MsgBox("ca marche " & tps, Style, "Vérification
:")
'active le classeur : si d'autres fichiers excel ouvert
Workbooks("essai.xls").Activate
'sauvegarde automatique
ActiveWorkbook.Save
'ferme le classeur ouvert
'si qqc est rentré il demande l'enregistrement :
'vu "ActiveWorkbook.Save" enregistre automatiquement cela
entraine
'donc la fermeture excel
ActiveWorkbook.Close
'active pour selectionner la feuille qui est active
End If
End Sub
2ème solution
mais le pb : quand je sauvegarde mon fichier avant la fin
de la tempo : c'est la merde car celle ci est mémoirisé :
quand j'ouvre à nouveau mon fichier la tempo reprend à la
suite : elle ne dure donc pas 30s et se ferme plusieurs
fois sauf si je ferme véritableùment excel et non juste le
fichier
je cherche à faire un reset de la tempo lors de chaque
ouverture pour que cela dure tjs 30 s par ex
Code:
'lancement à l'ouverture du fichier
Sub auto_open()
'si le fichier n'est pas en lecture seule : false
Application.OnTime Now + TimeValue("00:00:30"), "tempo"
End Sub
Sub tempo()
temp = MsgBox("ca marche " & tps, Style, "Vérification
:")
'active le classeur : si d'autres fichiers excel ouvert
Workbooks("nv essai.xls").Activate
'sauvegarde automatique
ActiveWorkbook.Save
'ferme le classeur ouvert
'si qqc est rentré il demande l'enregistrement :
'vu "ActiveWorkbook.Save" enregistre automatiquement cela
entraine
'donc la fermeture excel
ActiveWorkbook.Close
'active pour selectionner la feuille qui est active
End Sub
au lieu de faire une Sub Auto_open : j’ai mis le code dans
WorkBook_open() : idem
merci du coup de pouce