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"
Salut, merci pour ton temps passe a m'aider mais je ne comprend plus rien je suis perdu dans tous ces codes. Ca me depasse completement. Je viens d'essayer sans resultat... :o( Laisse tomber je dois etre trop bete. Bon we a toi. @+ Michel.
"MichDenis" a écrit dans le message de news:
Bonjour Michel,
Tu fais quelque chose qui ressemble à :
Dim fichier As String Dim X As String
X = "Z:BOULOTExtract_Prix_D-2_MF.xls" fichier = Split(X, "")(UBound(Split(X, "")))
On Error Resume Next 'Si ouvert Set wk = xl.Workbooks(fichier) If Err <> 0 Then Err.Clear 'si pas ouvert Set wk = xl.Workbooks(X) End If
"Michel" a écrit dans le message de groupe de discussion : # bonjour, desole mais je me suis peut etre mal exprime sur les derniers points. Tout ce que tu m'as explique je l'ai vu sur internet et tu me l'avais confirme avant aussi. Je n'ai pas de probleme a selectionner une feuille a selectionner une cellule quand : * Je creer un nopuveau fichier excel * J'ouvre un fichier excel (qui exister avant, mais est ferme) <<Set Wk > Xl.Workbooks. Open("C:excelnomfichier.xls")
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:BOULOTExtract_Prix_D-2_MF.xls")
' 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 _ :úlse, Transpose:úlse 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" a écrit dans le message de news: %
L'utilisation de cette ligne de code s'applique lorsqu'excel est ouvert Set XL = CreateObject("Excel.Application")
Si Excel n'est pas ouvert, une erreur est générée et la procédure utilise Set XL = CreateObject("Excel.Application") Pour rendre l'application excel : Xl.Vsible = True
Maintenant, si tu veux ouvrir un fichier en utilisant la variable Xl, tu dois procéder ainsi
Set Wk = Xl.Workbooks. Open("C:excelnomfichier.xls")
La variable Xl est un substitut pour Application La variable Wk est un substitut pour un Workbook
Ton code devrait ressembler a ceci :
'------------------------------------------------------- Sub OpenExcel()
Dim XL As Object, Wk As object
' Test Excel ouvert On Error Resume Next ' Set XL = GetObject(, "Excel.Application") If Err.Number <> 0 Then Err.Clear Set XL = CreateObject("Excel.Application") ExcelWasNotRunning = False else ExcelWasNotRunning = True End If
'Ici ouverture de ton fichier Set Wk = Xl.Workbooks.Open("C:excelnomfichier.xls")
'Pour sélectionner une cellule ou plage de cellules d'une feuille with Wk.Worksheets("NomDeLaFeuille") 'Nom de la feuille a adapter .Select .Range("A5:G10").Select End With ' le reste de ton code
'Pour fermer le classeur que tu viens d'ouvrir Wk.Close True ' or false selon que tu veux sauvegarder les modifications
'pour fermer l'instance d'excel xl.quit
End Sub '-------------------------------------------------------
Salut,
merci pour ton temps passe a m'aider mais je ne comprend plus rien je suis
perdu dans tous ces codes.
Ca me depasse completement. Je viens d'essayer sans resultat... :o(
Laisse tomber je dois etre trop bete.
Bon we a toi.
@+
Michel.
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
O1bfuJRxJHA.5244@TK2MSFTNGP06.phx.gbl...
Bonjour Michel,
Tu fais quelque chose qui ressemble à :
Dim fichier As String
Dim X As String
X = "Z:BOULOTExtract_Prix_D-2_MF.xls"
fichier = Split(X, "")(UBound(Split(X, "")))
On Error Resume Next
'Si ouvert
Set wk = xl.Workbooks(fichier)
If Err <> 0 Then
Err.Clear
'si pas ouvert
Set wk = xl.Workbooks(X)
End If
"Michel" <mholderiantispam@hotmailantispam.com> a écrit dans le message de
groupe de discussion : #ho2uBQxJHA.1236@TK2MSFTNGP02.phx.gbl...
bonjour,
desole mais je me suis peut etre mal exprime sur les derniers points.
Tout ce que tu m'as explique je l'ai vu sur internet et tu me l'avais
confirme avant aussi.
Je n'ai pas de probleme a selectionner une feuille a selectionner une
cellule quand :
* Je creer un nopuveau fichier excel
* J'ouvre un fichier excel (qui exister avant, mais est ferme) <<Set Wk > Xl.Workbooks. Open("C:excelnomfichier.xls")
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:BOULOTExtract_Prix_D-2_MF.xls")
' 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 _
:úlse, Transpose:úlse
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" <michdenis@hotmail.com> a écrit dans le message de news:
%23Mx9zmFxJHA.1088@TK2MSFTNGP04.phx.gbl...
L'utilisation de cette ligne de code s'applique
lorsqu'excel est ouvert
Set XL = CreateObject("Excel.Application")
Si Excel n'est pas ouvert, une erreur est générée et
la procédure utilise
Set XL = CreateObject("Excel.Application")
Pour rendre l'application excel :
Xl.Vsible = True
Maintenant, si tu veux ouvrir un fichier en utilisant la
variable Xl, tu dois procéder ainsi
Set Wk = Xl.Workbooks. Open("C:excelnomfichier.xls")
La variable Xl est un substitut pour Application
La variable Wk est un substitut pour un Workbook
Ton code devrait ressembler a ceci :
'-------------------------------------------------------
Sub OpenExcel()
Dim XL As Object, Wk As object
' Test Excel ouvert
On Error Resume Next '
Set XL = GetObject(, "Excel.Application")
If Err.Number <> 0 Then
Err.Clear
Set XL = CreateObject("Excel.Application")
ExcelWasNotRunning = False
else
ExcelWasNotRunning = True
End If
'Ici ouverture de ton fichier
Set Wk = Xl.Workbooks.Open("C:excelnomfichier.xls")
'Pour sélectionner une cellule ou plage de cellules d'une feuille
with Wk.Worksheets("NomDeLaFeuille") 'Nom de la feuille a adapter
.Select
.Range("A5:G10").Select
End With
' le reste de ton code
'Pour fermer le classeur que tu viens d'ouvrir
Wk.Close True ' or false selon que tu veux sauvegarder les
modifications
'pour fermer l'instance d'excel
xl.quit
End Sub
'-------------------------------------------------------
Salut, merci pour ton temps passe a m'aider mais je ne comprend plus rien je suis perdu dans tous ces codes. Ca me depasse completement. Je viens d'essayer sans resultat... :o( Laisse tomber je dois etre trop bete. Bon we a toi. @+ Michel.
"MichDenis" a écrit dans le message de news:
Bonjour Michel,
Tu fais quelque chose qui ressemble à :
Dim fichier As String Dim X As String
X = "Z:BOULOTExtract_Prix_D-2_MF.xls" fichier = Split(X, "")(UBound(Split(X, "")))
On Error Resume Next 'Si ouvert Set wk = xl.Workbooks(fichier) If Err <> 0 Then Err.Clear 'si pas ouvert Set wk = xl.Workbooks(X) End If
"Michel" a écrit dans le message de groupe de discussion : # bonjour, desole mais je me suis peut etre mal exprime sur les derniers points. Tout ce que tu m'as explique je l'ai vu sur internet et tu me l'avais confirme avant aussi. Je n'ai pas de probleme a selectionner une feuille a selectionner une cellule quand : * Je creer un nopuveau fichier excel * J'ouvre un fichier excel (qui exister avant, mais est ferme) <<Set Wk > Xl.Workbooks. Open("C:excelnomfichier.xls")
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:BOULOTExtract_Prix_D-2_MF.xls")
' 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 _ :úlse, Transpose:úlse 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" a écrit dans le message de news: %
L'utilisation de cette ligne de code s'applique lorsqu'excel est ouvert Set XL = CreateObject("Excel.Application")
Si Excel n'est pas ouvert, une erreur est générée et la procédure utilise Set XL = CreateObject("Excel.Application") Pour rendre l'application excel : Xl.Vsible = True
Maintenant, si tu veux ouvrir un fichier en utilisant la variable Xl, tu dois procéder ainsi
Set Wk = Xl.Workbooks. Open("C:excelnomfichier.xls")
La variable Xl est un substitut pour Application La variable Wk est un substitut pour un Workbook
Ton code devrait ressembler a ceci :
'------------------------------------------------------- Sub OpenExcel()
Dim XL As Object, Wk As object
' Test Excel ouvert On Error Resume Next ' Set XL = GetObject(, "Excel.Application") If Err.Number <> 0 Then Err.Clear Set XL = CreateObject("Excel.Application") ExcelWasNotRunning = False else ExcelWasNotRunning = True End If
'Ici ouverture de ton fichier Set Wk = Xl.Workbooks.Open("C:excelnomfichier.xls")
'Pour sélectionner une cellule ou plage de cellules d'une feuille with Wk.Worksheets("NomDeLaFeuille") 'Nom de la feuille a adapter .Select .Range("A5:G10").Select End With ' le reste de ton code
'Pour fermer le classeur que tu viens d'ouvrir Wk.Close True ' or false selon que tu veux sauvegarder les modifications
'pour fermer l'instance d'excel xl.quit
End Sub '-------------------------------------------------------