Bonjour,
Pour des raisons diverses, j'ouvre un fichier Excel depuis un exécutable
avec en gros le code qui suit.
Dim ExcelApp As New Excel.Application
ExcelApp.Visible = True
ExcelApp.DisplayAlerts = False
ExcelApp.Workbooks.Open "c:excelSuivi.xls"
ExcelApp.DisplayAlerts = True
ExcelApp.Quit
Cela fonctionne parfaitement sauf que ...
Dans une colonne j'ai la fonction NO.SEMAINE et quand j'ouvre le fichier XL
après traitement, dans cette colonne j'ai #NOM? bien que la formule
=NO.SEMAINE(G2;2) soit présente. Il suffit que je fasse F2 et Entrée pour
chacune des cellules de cette colonne et j'ai le numéro de semaine qui
s'affiche.
Si je lance le programme Excel "Suivi.xls" directement, les formules cette
fois sont calculées.
Alors trouver l'erreur ?
Bonjour,
Pour des raisons diverses, j'ouvre un fichier Excel depuis un exécutable
avec en gros le code qui suit.
Dim ExcelApp As New Excel.Application
ExcelApp.Visible = True
ExcelApp.DisplayAlerts = False
ExcelApp.Workbooks.Open "c:excelSuivi.xls"
ExcelApp.DisplayAlerts = True
ExcelApp.Quit
Cela fonctionne parfaitement sauf que ...
Dans une colonne j'ai la fonction NO.SEMAINE et quand j'ouvre le fichier XL
après traitement, dans cette colonne j'ai #NOM? bien que la formule
=NO.SEMAINE(G2;2) soit présente. Il suffit que je fasse F2 et Entrée pour
chacune des cellules de cette colonne et j'ai le numéro de semaine qui
s'affiche.
Si je lance le programme Excel "Suivi.xls" directement, les formules cette
fois sont calculées.
Alors trouver l'erreur ?
Bonjour,
Pour des raisons diverses, j'ouvre un fichier Excel depuis un exécutable
avec en gros le code qui suit.
Dim ExcelApp As New Excel.Application
ExcelApp.Visible = True
ExcelApp.DisplayAlerts = False
ExcelApp.Workbooks.Open "c:excelSuivi.xls"
ExcelApp.DisplayAlerts = True
ExcelApp.Quit
Cela fonctionne parfaitement sauf que ...
Dans une colonne j'ai la fonction NO.SEMAINE et quand j'ouvre le fichier XL
après traitement, dans cette colonne j'ai #NOM? bien que la formule
=NO.SEMAINE(G2;2) soit présente. Il suffit que je fasse F2 et Entrée pour
chacune des cellules de cette colonne et j'ai le numéro de semaine qui
s'affiche.
Si je lance le programme Excel "Suivi.xls" directement, les formules cette
fois sont calculées.
Alors trouver l'erreur ?
Bonjour,
Pour des raisons diverses, j'ouvre un fichier Excel depuis un exécutable
avec en gros le code qui suit.
Dim ExcelApp As New Excel.Application
ExcelApp.Visible = True
ExcelApp.DisplayAlerts = False
ExcelApp.Workbooks.Open "c:excelSuivi.xls"
ExcelApp.DisplayAlerts = True
ExcelApp.Quit
Cela fonctionne parfaitement sauf que ...
Dans une colonne j'ai la fonction NO.SEMAINE et quand j'ouvre le fichier XL
après traitement, dans cette colonne j'ai #NOM? bien que la formule
=NO.SEMAINE(G2;2) soit présente. Il suffit que je fasse F2 et Entrée pour
chacune des cellules de cette colonne et j'ai le numéro de semaine qui
s'affiche.
Si je lance le programme Excel "Suivi.xls" directement, les formules cette
fois sont calculées.
Alors trouver l'erreur ?
Bonjour,
Pour des raisons diverses, j'ouvre un fichier Excel depuis un exécutable
avec en gros le code qui suit.
Dim ExcelApp As New Excel.Application
ExcelApp.Visible = True
ExcelApp.DisplayAlerts = False
ExcelApp.Workbooks.Open "c:excelSuivi.xls"
ExcelApp.DisplayAlerts = True
ExcelApp.Quit
Cela fonctionne parfaitement sauf que ...
Dans une colonne j'ai la fonction NO.SEMAINE et quand j'ouvre le fichier XL
après traitement, dans cette colonne j'ai #NOM? bien que la formule
=NO.SEMAINE(G2;2) soit présente. Il suffit que je fasse F2 et Entrée pour
chacune des cellules de cette colonne et j'ai le numéro de semaine qui
s'affiche.
Si je lance le programme Excel "Suivi.xls" directement, les formules cette
fois sont calculées.
Alors trouver l'erreur ?
Bonjour,
Pour des raisons diverses, j'ouvre un fichier Excel depuis un exécutable
avec en gros le code qui suit.
Dim ExcelApp As New Excel.Application
ExcelApp.Visible = True
ExcelApp.DisplayAlerts = False
ExcelApp.Workbooks.Open "c:excelSuivi.xls"
ExcelApp.DisplayAlerts = True
ExcelApp.Quit
Cela fonctionne parfaitement sauf que ...
Dans une colonne j'ai la fonction NO.SEMAINE et quand j'ouvre le fichier XL
après traitement, dans cette colonne j'ai #NOM? bien que la formule
=NO.SEMAINE(G2;2) soit présente. Il suffit que je fasse F2 et Entrée pour
chacune des cellules de cette colonne et j'ai le numéro de semaine qui
s'affiche.
Si je lance le programme Excel "Suivi.xls" directement, les formules cette
fois sont calculées.
Alors trouver l'erreur ?
Bonsoir Frédéric,
Merci d'avoir poussé un peu plus loin l'analyse ....mais j'avoue avoir des difficultés à saisir pourquoi dans la seconde
instance créée, les macro d'analyses bien que cochées sont absentes de la fenêtre "les fonctions" de la feuille et qu'il
faille "décharger" ces macros complémentaires d'apparence déjà présentes pour les reconduire immédiatement .
Salutations!
"Frédéric Sigonneau" a écrit dans le message de news:
Bonsoir,
Lorsqu'on ouvre une instance d'Excel en utilisant l'automation, cette instance
présente quelques particularités qui peuvent poser problème :
- elle est vide (pas de classeur vierge ouvert par défaut)
- elle est invisible
- elle ne lance aucune macro complémentaire
- non plus que le perso.xls
Exécute ce bout de code dans un module standard :
Sub test()
Dim xlapp
Set xlapp = CreateObject("Excel.Application")
xlapp.Workbooks.Add
xlapp.Visible = True
End Sub
puis, dans cette nouvelle instance (le classeur s'appelle sans doute classeur2),
va dans l'éditeur VBE : à part le projet du classeur2, la fenêtre des propriétés
est totalement vide...
Conclusion : il faut tout faire à la main -> ajouter un classeur, rendre (ou
non) Excel visible, installer les macros complémentaires dont tu as besoin. Par
exemple, pour utiliser l'utilitaire d'analyse :
Sub test2()
Dim xlapp
Set xlapp = CreateObject("Excel.Application")
xlapp.Workbooks.Add
xlapp.Visible = True
'installe l'utilitaire d'analyse
'(il faut absolument s'assurer avant qu'il n'est pas déjà installé
'*et* le désinstaller s'il l'est)
On Error Resume Next
xlapp.AddIns("Utilitaire d'analyse").Installed = False
xlapp.AddIns("Utilitaire d'analyse - VBA").Installed = False
On Error GoTo 0
xlapp.AddIns("Utilitaire d'analyse").Installed = True
xlapp.AddIns("Utilitaire d'analyse - VBA").Installed = True
'l'utilise dans une cellule
xlapp.ActiveWorkbook.ActiveSheet.Range("A1").FormulaLocal = _
"=no.semaine(aujourdhui();2)"
End Sub 'fs
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
Pour des raisons diverses, j'ouvre un fichier Excel depuis un exécutable
avec en gros le code qui suit.
Dim ExcelApp As New Excel.Application
ExcelApp.Visible = True
ExcelApp.DisplayAlerts = False
ExcelApp.Workbooks.Open "c:excelSuivi.xls"
ExcelApp.DisplayAlerts = True
ExcelApp.Quit
Cela fonctionne parfaitement sauf que ...
Dans une colonne j'ai la fonction NO.SEMAINE et quand j'ouvre le fichier XL
après traitement, dans cette colonne j'ai #NOM? bien que la formule
=NO.SEMAINE(G2;2) soit présente. Il suffit que je fasse F2 et Entrée pour
chacune des cellules de cette colonne et j'ai le numéro de semaine qui
s'affiche.
Si je lance le programme Excel "Suivi.xls" directement, les formules cette
fois sont calculées.
Alors trouver l'erreur ?
Bonsoir Frédéric,
Merci d'avoir poussé un peu plus loin l'analyse ....mais j'avoue avoir des difficultés à saisir pourquoi dans la seconde
instance créée, les macro d'analyses bien que cochées sont absentes de la fenêtre "les fonctions" de la feuille et qu'il
faille "décharger" ces macros complémentaires d'apparence déjà présentes pour les reconduire immédiatement .
Salutations!
"Frédéric Sigonneau" <frederic.sigonneau@wanadoo.fr> a écrit dans le message de news:3F679B07.693B42B6@wanadoo.fr...
Bonsoir,
Lorsqu'on ouvre une instance d'Excel en utilisant l'automation, cette instance
présente quelques particularités qui peuvent poser problème :
- elle est vide (pas de classeur vierge ouvert par défaut)
- elle est invisible
- elle ne lance aucune macro complémentaire
- non plus que le perso.xls
Exécute ce bout de code dans un module standard :
Sub test()
Dim xlapp
Set xlapp = CreateObject("Excel.Application")
xlapp.Workbooks.Add
xlapp.Visible = True
End Sub
puis, dans cette nouvelle instance (le classeur s'appelle sans doute classeur2),
va dans l'éditeur VBE : à part le projet du classeur2, la fenêtre des propriétés
est totalement vide...
Conclusion : il faut tout faire à la main -> ajouter un classeur, rendre (ou
non) Excel visible, installer les macros complémentaires dont tu as besoin. Par
exemple, pour utiliser l'utilitaire d'analyse :
Sub test2()
Dim xlapp
Set xlapp = CreateObject("Excel.Application")
xlapp.Workbooks.Add
xlapp.Visible = True
'installe l'utilitaire d'analyse
'(il faut absolument s'assurer avant qu'il n'est pas déjà installé
'*et* le désinstaller s'il l'est)
On Error Resume Next
xlapp.AddIns("Utilitaire d'analyse").Installed = False
xlapp.AddIns("Utilitaire d'analyse - VBA").Installed = False
On Error GoTo 0
xlapp.AddIns("Utilitaire d'analyse").Installed = True
xlapp.AddIns("Utilitaire d'analyse - VBA").Installed = True
'l'utilise dans une cellule
xlapp.ActiveWorkbook.ActiveSheet.Range("A1").FormulaLocal = _
"=no.semaine(aujourdhui();2)"
End Sub 'fs
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
Pour des raisons diverses, j'ouvre un fichier Excel depuis un exécutable
avec en gros le code qui suit.
Dim ExcelApp As New Excel.Application
ExcelApp.Visible = True
ExcelApp.DisplayAlerts = False
ExcelApp.Workbooks.Open "c:excelSuivi.xls"
ExcelApp.DisplayAlerts = True
ExcelApp.Quit
Cela fonctionne parfaitement sauf que ...
Dans une colonne j'ai la fonction NO.SEMAINE et quand j'ouvre le fichier XL
après traitement, dans cette colonne j'ai #NOM? bien que la formule
=NO.SEMAINE(G2;2) soit présente. Il suffit que je fasse F2 et Entrée pour
chacune des cellules de cette colonne et j'ai le numéro de semaine qui
s'affiche.
Si je lance le programme Excel "Suivi.xls" directement, les formules cette
fois sont calculées.
Alors trouver l'erreur ?
Bonsoir Frédéric,
Merci d'avoir poussé un peu plus loin l'analyse ....mais j'avoue avoir des difficultés à saisir pourquoi dans la seconde
instance créée, les macro d'analyses bien que cochées sont absentes de la fenêtre "les fonctions" de la feuille et qu'il
faille "décharger" ces macros complémentaires d'apparence déjà présentes pour les reconduire immédiatement .
Salutations!
"Frédéric Sigonneau" a écrit dans le message de news:
Bonsoir,
Lorsqu'on ouvre une instance d'Excel en utilisant l'automation, cette instance
présente quelques particularités qui peuvent poser problème :
- elle est vide (pas de classeur vierge ouvert par défaut)
- elle est invisible
- elle ne lance aucune macro complémentaire
- non plus que le perso.xls
Exécute ce bout de code dans un module standard :
Sub test()
Dim xlapp
Set xlapp = CreateObject("Excel.Application")
xlapp.Workbooks.Add
xlapp.Visible = True
End Sub
puis, dans cette nouvelle instance (le classeur s'appelle sans doute classeur2),
va dans l'éditeur VBE : à part le projet du classeur2, la fenêtre des propriétés
est totalement vide...
Conclusion : il faut tout faire à la main -> ajouter un classeur, rendre (ou
non) Excel visible, installer les macros complémentaires dont tu as besoin. Par
exemple, pour utiliser l'utilitaire d'analyse :
Sub test2()
Dim xlapp
Set xlapp = CreateObject("Excel.Application")
xlapp.Workbooks.Add
xlapp.Visible = True
'installe l'utilitaire d'analyse
'(il faut absolument s'assurer avant qu'il n'est pas déjà installé
'*et* le désinstaller s'il l'est)
On Error Resume Next
xlapp.AddIns("Utilitaire d'analyse").Installed = False
xlapp.AddIns("Utilitaire d'analyse - VBA").Installed = False
On Error GoTo 0
xlapp.AddIns("Utilitaire d'analyse").Installed = True
xlapp.AddIns("Utilitaire d'analyse - VBA").Installed = True
'l'utilise dans une cellule
xlapp.ActiveWorkbook.ActiveSheet.Range("A1").FormulaLocal = _
"=no.semaine(aujourdhui();2)"
End Sub 'fs
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
Pour des raisons diverses, j'ouvre un fichier Excel depuis un exécutable
avec en gros le code qui suit.
Dim ExcelApp As New Excel.Application
ExcelApp.Visible = True
ExcelApp.DisplayAlerts = False
ExcelApp.Workbooks.Open "c:excelSuivi.xls"
ExcelApp.DisplayAlerts = True
ExcelApp.Quit
Cela fonctionne parfaitement sauf que ...
Dans une colonne j'ai la fonction NO.SEMAINE et quand j'ouvre le fichier XL
après traitement, dans cette colonne j'ai #NOM? bien que la formule
=NO.SEMAINE(G2;2) soit présente. Il suffit que je fasse F2 et Entrée pour
chacune des cellules de cette colonne et j'ai le numéro de semaine qui
s'affiche.
Si je lance le programme Excel "Suivi.xls" directement, les formules cette
fois sont calculées.
Alors trouver l'erreur ?