Je voulais savoir y a-t-il une possibilité de changer l'écran de démarrage Excel 2019 pour un fichier bien spécifique je me suis dit si DoneEx avec (Splash image) parvient à le faire il y a peut-être une possibilité de le réaliser avec nos propres moyens.
PS: Je ne veux pas utiliser un userform car celui-ci vient après le démarrage et même si je désactive l'option "Activer l'écran de démarrage au lancement" c'est un userform avec titre je l’ai fait mais pas trop beau
Bonjour
un xla dans le xlstart ????
a ben ça c'est une drôle d'idée
ne te reste plus qu'a activer ton xla dans le fichier alors
met ceci dans un module
VB:
Sub AddRefXla()
chemin_xla = environ("appdata")&"\Microsoft\Excel\XLSTART\samradapps_datepicker.xlam"
On Error Resume Next
ThisWorkbook.VBProject.References.AddFromFile (chemin_xla)
End Sub
et dans le workbook_open
VB:
AddRefXla
il faut que la référence microsoft visual basic for application extensibility 5.x soit activée
Tout à fait, ce n'est pas vraiment gênant mais si l'explorateur est plus grand que le SplashScreen,
l'intérêt de ce dernier n'existe plus si on ne peut pas le voir.
Il doit y avoir du code vbs capable de mettre en premier plan l'application,
mais si le raccourci "cmd" fait déjà le tavail ...
re
le cmd ne fait pas le travail puisque le splatch d'origine apparait quand même chez moi
comme il ne met pas l'application visible à false (c'est le code dans le classeur qui le fait) alors effectivement le getwindowlong de l'app reste on top
mais chez moi j'ai les deux splatch
re
le cmd ne fait pas le travail puisque le splatch d'origine apparait quand même chez moi
comme il ne met pas l'application visible à false (c'est le code dans le classeur qui le fait) alors effectivement le getwindowlong de l'app reste on top
mais chez moi j'ai les deux splatch
Prevents the Excel startup screen from appearing and a new blank workbook from opening.
Dans le classeur Excel pour pouvoir l'appeler via cmd ou vbs, à l'ouverture, j'y ai mis :
VB:
Private Sub Workbook_Open()
If Application.Visible Then Application.Visible = False
FrmSplash.Show
End Sub
et dans le module:
VB:
Sub Close_Splash()
Unload FrmSplash
If Not Application.Visible Then Application.Visible = True
End Sub
La solution du Vbs me plait bien car il évite de devoir ajuster le raccourci du Cmd, mais il faudrait pouvoir rendre la main à Excel sans cliquer dessus .
Chez moi tous fonctionnent parfaitement comme dans #49 (sous mes documents via le script de @patricktoulon ) mais je souhaitai
déplacer mon fichier xlsm dans un sous dossier "C:\demo\ " comme d'écrit dans #53
la fenêtre active d'Excel (car il faut chaque fois cliquer quelque part sur Excel) comme dans #54.
Déjà ça m'aidera, si vous pouvez m'écrire la syntaxe pour "C:\demo\No_Splash.xlsm" et d'activer la feuille Excel.
VB:
set w=.workbooks.open("C:\demo\No_Splash.xlsm")
'wscript.sleep 300
w.sheets(1).activate
Car celui-ci ne répond pas quand il s'agit d'un raccourci sur le desktop.
PS: Dans 'Thisworkbook' Private Sub Workbook_Open () quand on change Application.Visible =True de place par rapport au userform les fenêtres s'ouvre est Excel reste en invisible.
re
aben si tu deplace ton fichier tout le temps aussi on est pas arrivé
donc dans ton classeur avec ton splatchscreen tue va coller cela dans le module
et a chaque fois que tu va déplacer ton fichier lance cette sub
tu va avoir le tarter dans le dossier du fichier et le raccourci sur le bureau
libre a toi de changer l'icon après
VB:
Sub createLanceurAndShortcut()
Dim lanceurpath, x&, Link, WShelL
lanceurpath = ThisWorkbook.Path & "\start" & ThisWorkbook.Name & ".vbs"
code = "||With CreateObject(""excel.application"")"
code = code & "|.visible=false|Set w = .Workbooks.Open(""" & ThisWorkbook.FullName & """)|.Windows(w.Name).Activate|w.Sheets(1).Activate|End With"
x = FreeFile: Open lanceurpath For Output As x: Print #x, Replace(code, "|", vbCrLf): Close #x
Set WShelL = CreateObject("WScript.Shell")
' Le chemin du fichier raccourci
linkFile = Environ("userprofile") & "\Desktop\" & ThisWorkbook.Name & ".lnk"
'Création du raccourci
Set Link = WShelL.CreateShortcut(linkFile)
'target du raccourci
Link.TargetPath = lanceurpath
'link.IconLocation = "chemin d'un exe ou d'un icon "
Link.WorkingDirectory = ThisWorkbook.Path
''// Sauve le raccourci
Link.Save
End Sub
re
aben si tu deplace ton fichier tout le temps aussi on est pas arrivé
donc dans ton classeur avec ton splatchscreen tue va coller cela dans le module
et a chaque fois que tu va déplacer ton fichier lance cette sub
tu va avoir le tarter dans le dossier du fichier et le raccourci sur le bureau
libre a toi de changer l'icon après
VB:
Sub createLanceurAndShortcut()
Dim lanceurpath, x&, Link, WShelL
lanceurpath = ThisWorkbook.Path & "\start" & ThisWorkbook.Name & ".vbs"
code = "||With CreateObject(""excel.application"")"
code = code & "|.visible=false|Set w = .Workbooks.Open(""" & ThisWorkbook.FullName & """)|.Windows(w.Name).Activate|w.Sheets(1).Activate|End With"
x = FreeFile: Open lanceurpath For Output As x: Print #x, Replace(code, "|", vbCrLf): Close #x
Set WShelL = CreateObject("WScript.Shell")
' Le chemin du fichier raccourci
linkFile = Environ("userprofile") & "\Desktop\" & ThisWorkbook.Name & ".lnk"
'Création du raccourci
Set Link = WShelL.CreateShortcut(linkFile)
'target du raccourci
Link.TargetPath = lanceurpath
'link.IconLocation = "chemin d'un exe ou d'un icon "
Link.WorkingDirectory = ThisWorkbook.Path
''// Sauve le raccourci
Link.Save
End Sub
c=wscript.ScriptFullname
c=mid(c,1 ,instrrev(c,"\"))
with createobject("excel.application")
.visible=false
.workbooks.open(c &"monclasseur.xlsm")
'wscript.sleep 300
end with
fonctionne très bien si je garde le nom du fichier original (j'efface simplement '- raccourci') et ça fonctionne. Je vais essayer la nouvelle syntaxe car un travail extraordinaire, il fallait y penser utiliser du VBA pour mettre en route.la création. Merci Ptarick.
Mais j'ai un nouveau souci j'utilise un "Date Picker" dont le nom "samradapps_datepicker.xlam" mais il ne s'affiche plus. Par contre pour les autres classeurs pas de souci y fonctionne parfaitement uniquement quand j'ouvre mon classeur via le script sa bug.
Bonjour
un xla dans le xlstart ????
a ben ça c'est une drôle d'idée
ne te reste plus qu'a activer ton xla dans le fichier alors
met ceci dans un module
VB:
Sub AddRefXla()
chemin_xla = environ("appdata")&"\Microsoft\Excel\XLSTART\samradapps_datepicker.xlam"
On Error Resume Next
ThisWorkbook.VBProject.References.AddFromFile (chemin_xla)
End Sub
et dans le workbook_open
VB:
AddRefXla
il faut que la référence microsoft visual basic for application extensibility 5.x soit activée
Bonjour
un xla dans le xlstart ????
a ben ça c'est une drôle d'idée
ne te reste plus qu'a activer ton xla dans le fichier alors
met ceci dans un module
VB:
Sub AddRefXla()
chemin_xla = environ("appdata")&"\Microsoft\Excel\XLSTART\samradapps_datepicker.xlam"
On Error Resume Next
ThisWorkbook.VBProject.References.AddFromFile (chemin_xla)
End Sub
et dans le workbook_open
VB:
AddRefXla
il faut que la référence microsoft visual basic for application extensibility 5.x soit activée
Bonjour
un xla dans le xlstart ????
a ben ça c'est une drôle d'idée
ne te reste plus qu'a activer ton xla dans le fichier alors
met ceci dans un module
VB:
Sub AddRefXla()
chemin_xla = environ("appdata")&"\Microsoft\Excel\XLSTART\samradapps_datepicker.xlam"
On Error Resume Next
ThisWorkbook.VBProject.References.AddFromFile (chemin_xla)
End Sub
et dans le workbook_open
VB:
AddRefXla
il faut que la référence microsoft visual basic for application extensibility 5.x soit activée
microsoft visual basic for application extensibility 5.3 est bien activé.
L'ouverture du classeur via VBScript échoue, J'ai un Msg d'Excel: "Désolés, nous ne trouvons pas... "samradapps_datepicker.xlam" Peut-être l'avez-vous déplacé ou supprimer" l'emplacement du fichier qui est bien correct (revérifié). Faut-il aussi ajouter dans le vbscript?
Ouverture fonctionnelle du Date Picker même avant la création de la macro et du workbook_open.
càd quand j'ouvre mon classeur Excel sans vbs DatePicker est bien existant dans le ruban et dans VBAProject.
Pour votre information à l'heure actuelle j'utilise votre première syntaxe qui fonctionne parfaitement même avec le raccourci et l'icône souhaiter.
VB:
c=wscript.ScriptFullname
c=mid(c,1 ,instrrev(c,"\"))
with createobject("excel.application")
.visible=false
.workbooks.open(c &"monclasseur.xlsm")
'wscript.sleep 300
end with