Je ne sais pas si c'est HS ou pas...
depuis access j'essais d'ouvrir un fichier excel via le code :
Dim objSheet As Object
Dim strBook As String
Dim strPath As String
'init à modifier
strPath = "W:\REPORTING\Pricing"
strBook = "Extract_Prix_D-2_MF.xls"
strSheet = "Query_Px_Avant_Veille_1"
Set objApp = CreateObject("excel.application")
Set objBook = objApp.Workbooks.Open(strPath & "\" & strBook)
Set objSheet = objBook.Worksheets(strSheet)
objApp.Visible = True 'si on veut visualiser
With objSheet
.Range("A1").Value = "Valoren Number"
End With
en passant par cette methode, la session excel ne load pas toutes les memes
fonctionnalites ou barre outils qu'un simple :
ChDir "J:\"
Workbooks.Open FileName:="C:.....xls"
Sauriez vous me dire pourquoi ?
Merci d'avance...
Un pauvre utilisateur perdu dans les Add-ins.....
@+
Michel.
Sur ce sujet, Frédéric Sigonneau a publié ce qui suit :
***************************************************************************
le comportement que tu décris semble faire partie des "charmes"
cachés de l'utilisation d'Excel avec Automation.
Il semble en effet que les macros complémentaires qui utilisent/créent un bouton
de barre d'outils pour leur fonctionnement ne soient pas lancées lorsqu'Excel
est créé par Automation. Alors que celles qui utilisent des entrées de menu le
sont...
Pour résoudre ce problème, ce genre de code fonctionne pour moi (Excel 2002) :
Sub TestAddinExcel()
Dim xl As Object
Set xl = CreateObject("Excel.Application")
xl.Workbooks.Add
xl.AddIns("Titre de la macro").Installed = False
xl.AddIns("Titre de la macro").Installed = True
xl.Visible = True
End Sub
"Titre de la macro" est le nom de la macro complémentaire tel qu'il apparaît
dans la liste ouverte par Outils\Macros complémentaires.
***************************************************************************
"Michel" <mholderi...@hotmailantispam.com> a écrit dans le message de groupe de
discussion : O5YqP4dt...@TK2MSFTNGP05.phx.gbl...
Je test demain et te dirais si ca a marche...
Bonne fin de we.
@+
Michel.
"MichDenis" <mich...@hotmail.com> a écrit dans le message de news:
8F3E0D62-9F8A-4A6C...@microsoft.com...
dim Xl as object
dim Wk As object
Set xl = CreateObject("Excel.Application")
Set Wk = Xl.Workbooks(Chemin & Fichier.xls) 'à ouvrir
Maintenant
Wk.Worksheets("NomDelaFeuille").Range("A1:A25").Copy
Wk.Worksheets("AutreFeuille").range(le reste de la commande...pour coller)
Ferme le classeur en sauvegardant
Wk.Close true
Ferme l'instance d'excel
xl.quit
"Michel" <mholderi...@hotmailantispam.com> a écrit dans le message de groupe de
discussion : e26Cggtt...@TK2MSFTNGP04.phx.gbl...
Bonjour,
super ca marche !!!!
Petite question j'essaie de faire un copier special valeur, mais ca ne
marche pas.
Aurais tu peut etre une idee ?
ObjApp.Selection.PasteSpecial Paste:=ObjApp.xlPasteValues,
Operation:=ObjApp.xlNone, SkipBlanks _
:=False, Transpose:=False
ou
Selection.PasteSpecial Paste:=ObjApp.xlPasteValues,
Operation:=ObjApp.xlNone, SkipBlanks _
'''' :=False, Transpose:=False
ne marche pas :o(
Merci encore,
@+
Michel.
"MichDenis" <mich...@hotmail.com> a écrit dans le message de news:
8F3E0D62-9F8A-4A6C...@microsoft.com...
@+
Micel.
"MichDenis" <mich...@hotmail.com> a écrit dans le message de news:
Ob%23bCqtt...@TK2MSFTNGP03.phx.gbl...
super ca marche !!!!
Petite question j'essaie de faire un copier special valeur, mais ca ne
marche pas.
Aurais tu peut etre une idee ?
ObjApp.Selection.PasteSpecial Paste:=ObjApp.xlPasteValues,
Operation:=ObjApp.xlNone, SkipBlanks _
:=False, Transpose:=False
ou
Selection.PasteSpecial Paste:=ObjApp.xlPasteValues,
Operation:=ObjApp.xlNone, SkipBlanks _
'''' :=False, Transpose:=False
ne marche pas :o(
Merci encore,
@+
Michel.
"MichDenis" <mich...@hotmail.com> a écrit dans le message de news:
8F3E0D62-9F8A-4A6C...@microsoft.com...
j'ai essaye mais ca ne marche pas le copier coller :o(
selectionner une feuille et la renommer ca c'est ok.
Aurais tu une idee pourquoi ?
Merci d'avance.
Michel.
"MichDenis" <mich...@hotmail.com> a écrit dans le message de news:
Ob%23bCqtt...@TK2MSFTNGP03.phx.gbl...
A y est je t'ai enerve.... Sorry....
Publié le 06/04/2009 a 19:11 (je n'ai pas les secondes, sorry...)
copié coller de ce message du meme fil :
> Petite question j'essaie de faire un copier special valeur, mais ca ne
> marche pas.
> Aurais tu peut etre une idee ?
> ObjApp.Selection.PasteSpecial Paste:=ObjApp.xlPasteValues,
> Operation:=ObjApp.xlNone, SkipBlanks _
> :=False, Transpose:=False
>
> ou
>
> Selection.PasteSpecial Paste:=ObjApp.xlPasteValues,
> Operation:=ObjApp.xlNone, SkipBlanks _
> '''' :=False, Transpose:=False
>
> ne marche pas :o(
"MichDenis" <mich...@hotmail.com> a écrit dans le message de news:
ut8GudEx...@TK2MSFTNGP05.phx.gbl...
ce qui change beaucoup de chose, mais comme tu le penses je suis super nul a
ce sujet, et je n'ai pas trouve grand chose pour m'aider....
voila le code :
Public Sub OpenExcel()
Dim XL As Object
' Test Excel ouvert
On Error Resume Next '
Set XL = GetObject(, "Excel.Application")
If Err.Number <> 0 Then
ExcelWasNotRunning = True
Set XL = CreateObject("Excel.Application")
End If
Err.Clear
'DetectExcel
Set XL = GetObject("C:\excel\nomfichier.xls")
XL.Application.Visible = True
XL.Parent.Windows(1).Visible = True
XL.Range("a1").Select
End Sub
"MichDenis" <mich...@hotmail.com> a écrit dans le message de news:
ut8GudEx...@TK2MSFTNGP05.phx.gbl...
Mon probleme est lorsque ce fichier excel est deja ouvert. Fonction
<<GetObject(, "Excel.Application")>>
Voila le code que j'utilise :
Public Sub OpenExcel()
Dim XL As Object
' Test Excel ouvert
On Error Resume Next '
Set XL = GetObject(, "Excel.Application")
If Err.Number <> 0 Then
ExcelWasNotRunning = True
Set XL = CreateObject("Excel.Application")
End If
Err.Clear
'DetectExcel
Set XL = GetObject("Z:\BOULOT\Extract_Prix_D-2_MF.xls")
XL.Application.Visible = True
XL.Parent.Windows(1).Visible = True
XL.Sheets.Add
XL.ActiveSheet.Name = "Liste_Finale"
'sa ne marche pas
XL.Range("a1").Select
XL.Cells.Select
XL.Cells.EntireColumn.AutoFit
XL.Range("A1").Select
'ca marche
XL.Sheets("Query_Px_Avant_Veille_1").Select
' les deux solutions ne marchent pas
Wk.Worksheets("Query_Px_Avant_Veille_1").Cells.Select
XL.Cells.Select
XL.Selection.Copy
XL.Range("A1").Select
XL.Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
XL.Range("A1").Select
End Sub
Aurais-tu une idee ?
Merci d'avance, de ton temps, qui je le sais est precieux.
Apres cela je pourrais cloturer mon projet :o)
@+
Michel.
"MichDenis" <mich...@hotmail.com> a écrit dans le message de news:
%23Mx9zmF...@TK2MSFTNGP04.phx.gbl...
"MichDenis" <mich...@hotmail.com> a écrit dans le message de news:
O1bfuJRx...@TK2MSFTNGP06.phx.gbl...