Bon allez, dernier indice, regarde le type de variable !
Avec Set OFeuil = XL.Cells ' => XL doit être un objet application, aprés
' ceci je ne vois pas ce que je peux faire de plus et j'ai testé le code
' il n'y a pas de problème.
PS:Au cas ou pour connaître le type de variable :
msgbox typename(XL)
Michel a écrit :avant de repondre ca, on test !!!!
Mais bon.... De tout de facon ca fait plus d'une semaine que je suis sur
un fil et il n'y a pas de reelle reponse, donc laisse tomber....
Merci quand meme, mais il ne faut pas... Non je ne dirais rien ca n'en
vaut pas le coup.....
@+
Michel.
"Michel__D" a écrit dans le message
de news:On peut pas dire que tu teste/cherche beaucoup pour quelqu'un qui
maîtrise
sous Excel, je crains pour la suite ...
Set oFeuil = XL.Cells
oFeuil.Select
Michel a écrit :Heu....
Viens d'essayer et ca ne marche pas o:(
Je voudrais utiliser : cells.select
Selon toi :
Set oRange = XL.Range(XL.Rows(y1),XL.Rows(y2))
oRange.Select
y1 et y2, rassure moi : je peux mettre A1 et IV65536 ?
ou non ?
Si oui, ca ne marche pas, sinon pourrais tu m'aider a remplir les ???
D'avance merci.
"Michel__D" a écrit dans le
message de news:Re,
Bon ok, il y a quelques subtilités :
Pour une cellule :
Set oCell = XL.Cells(x,y)
oCell.Select
ou pour une plage par exemple :
Set oRange = XL.Range(XL.Rows(y1),XL.Rows(y2))
oRange.Select
Michel a écrit :Bonjour,
oui je sais mais je maitrise sous excel, je n'ai pas besoin de passer
par un enregistreur... :o)
Et quand bien meme ca ne marche pas.
Voir le fil sous excel.
Je pense que la fonction : Cells.Select
n'est pas trop complique.
meme XL.Cells.Select ne marche pas
ou application devant, bref je ne sais pas quoi faire.
c'est plutot pourquoi ca ca marche :
XL.Sheets.Add
XL.ActiveSheet.Name = "Liste_Finale"
mais pas la selection, je ne trouve pas ca logique.
Merci quand meme,
@+
Michel.
"Michel__D" a écrit dans le
message de news:Bonjour,
Michel a écrit :Bonjour,
ca marche, mais....
Je peux creer une feuille et la renommer et selectionner une autre
feuille, par contre je n'arrive pas a selectionner des cellules
faire une copie et un coller dans la nouvelle feuille :o(
Une idee ?
merci d'avance
Michel.
Quand on a du mal à trouver, on peut sous Excel enregistrer le
déroulement
dans une macro, cela donne quelques bases pour avancer, sachant que
sous
Access il faudra explicitement se servir de l'objet Excel créé.
Bon allez, dernier indice, regarde le type de variable !
Avec Set OFeuil = XL.Cells ' => XL doit être un objet application, aprés
' ceci je ne vois pas ce que je peux faire de plus et j'ai testé le code
' il n'y a pas de problème.
PS:Au cas ou pour connaître le type de variable :
msgbox typename(XL)
Michel a écrit :
avant de repondre ca, on test !!!!
Mais bon.... De tout de facon ca fait plus d'une semaine que je suis sur
un fil et il n'y a pas de reelle reponse, donc laisse tomber....
Merci quand meme, mais il ne faut pas... Non je ne dirais rien ca n'en
vaut pas le coup.....
@+
Michel.
"Michel__D" <Michel.NOSPAM@orange-ft.com.invalid> a écrit dans le message
de news: ui4GWZRxJHA.1236@TK2MSFTNGP02.phx.gbl...
On peut pas dire que tu teste/cherche beaucoup pour quelqu'un qui
maîtrise
sous Excel, je crains pour la suite ...
Set oFeuil = XL.Cells
oFeuil.Select
Michel a écrit :
Heu....
Viens d'essayer et ca ne marche pas o:(
Je voudrais utiliser : cells.select
Selon toi :
Set oRange = XL.Range(XL.Rows(y1),XL.Rows(y2))
oRange.Select
y1 et y2, rassure moi : je peux mettre A1 et IV65536 ?
ou non ?
Si oui, ca ne marche pas, sinon pourrais tu m'aider a remplir les ???
D'avance merci.
"Michel__D" <Michel.NOSPAM@orange-ft.com.invalid> a écrit dans le
message de news: ejhiXbQxJHA.1212@TK2MSFTNGP04.phx.gbl...
Re,
Bon ok, il y a quelques subtilités :
Pour une cellule :
Set oCell = XL.Cells(x,y)
oCell.Select
ou pour une plage par exemple :
Set oRange = XL.Range(XL.Rows(y1),XL.Rows(y2))
oRange.Select
Michel a écrit :
Bonjour,
oui je sais mais je maitrise sous excel, je n'ai pas besoin de passer
par un enregistreur... :o)
Et quand bien meme ca ne marche pas.
Voir le fil sous excel.
Je pense que la fonction : Cells.Select
n'est pas trop complique.
meme XL.Cells.Select ne marche pas
ou application devant, bref je ne sais pas quoi faire.
c'est plutot pourquoi ca ca marche :
XL.Sheets.Add
XL.ActiveSheet.Name = "Liste_Finale"
mais pas la selection, je ne trouve pas ca logique.
Merci quand meme,
@+
Michel.
"Michel__D" <Michel.NOSPAM@orange-ft.com.invalid> a écrit dans le
message de news: O3DuNEQxJHA.1504@TK2MSFTNGP03.phx.gbl...
Bonjour,
Michel a écrit :
Bonjour,
ca marche, mais....
Je peux creer une feuille et la renommer et selectionner une autre
feuille, par contre je n'arrive pas a selectionner des cellules
faire une copie et un coller dans la nouvelle feuille :o(
Une idee ?
merci d'avance
Michel.
Quand on a du mal à trouver, on peut sous Excel enregistrer le
déroulement
dans une macro, cela donne quelques bases pour avancer, sachant que
sous
Access il faudra explicitement se servir de l'objet Excel créé.
Bon allez, dernier indice, regarde le type de variable !
Avec Set OFeuil = XL.Cells ' => XL doit être un objet application, aprés
' ceci je ne vois pas ce que je peux faire de plus et j'ai testé le code
' il n'y a pas de problème.
PS:Au cas ou pour connaître le type de variable :
msgbox typename(XL)
Michel a écrit :avant de repondre ca, on test !!!!
Mais bon.... De tout de facon ca fait plus d'une semaine que je suis sur
un fil et il n'y a pas de reelle reponse, donc laisse tomber....
Merci quand meme, mais il ne faut pas... Non je ne dirais rien ca n'en
vaut pas le coup.....
@+
Michel.
"Michel__D" a écrit dans le message
de news:On peut pas dire que tu teste/cherche beaucoup pour quelqu'un qui
maîtrise
sous Excel, je crains pour la suite ...
Set oFeuil = XL.Cells
oFeuil.Select
Michel a écrit :Heu....
Viens d'essayer et ca ne marche pas o:(
Je voudrais utiliser : cells.select
Selon toi :
Set oRange = XL.Range(XL.Rows(y1),XL.Rows(y2))
oRange.Select
y1 et y2, rassure moi : je peux mettre A1 et IV65536 ?
ou non ?
Si oui, ca ne marche pas, sinon pourrais tu m'aider a remplir les ???
D'avance merci.
"Michel__D" a écrit dans le
message de news:Re,
Bon ok, il y a quelques subtilités :
Pour une cellule :
Set oCell = XL.Cells(x,y)
oCell.Select
ou pour une plage par exemple :
Set oRange = XL.Range(XL.Rows(y1),XL.Rows(y2))
oRange.Select
Michel a écrit :Bonjour,
oui je sais mais je maitrise sous excel, je n'ai pas besoin de passer
par un enregistreur... :o)
Et quand bien meme ca ne marche pas.
Voir le fil sous excel.
Je pense que la fonction : Cells.Select
n'est pas trop complique.
meme XL.Cells.Select ne marche pas
ou application devant, bref je ne sais pas quoi faire.
c'est plutot pourquoi ca ca marche :
XL.Sheets.Add
XL.ActiveSheet.Name = "Liste_Finale"
mais pas la selection, je ne trouve pas ca logique.
Merci quand meme,
@+
Michel.
"Michel__D" a écrit dans le
message de news:Bonjour,
Michel a écrit :Bonjour,
ca marche, mais....
Je peux creer une feuille et la renommer et selectionner une autre
feuille, par contre je n'arrive pas a selectionner des cellules
faire une copie et un coller dans la nouvelle feuille :o(
Une idee ?
merci d'avance
Michel.
Quand on a du mal à trouver, on peut sous Excel enregistrer le
déroulement
dans une macro, cela donne quelques bases pour avancer, sachant que
sous
Access il faudra explicitement se servir de l'objet Excel créé.
ben le msgbox est : Workbook
et voila mon code en entier :
mais ca ne marche pas plus et je ne comprend plus rien donc voila un projet
qui est mort, car j'en ai marre de lire entre les lignes, ce n'ai pas pour
toi mais c'est un tout, ca fait plus d'une semaine que je cherche pour une
pauvre selection cells.select et un copy paste special.value.... Je n'arrive
pas a comprendre pourquoi tout le reste du code marche mais pas ca....
et voila :
Public Sub OpenExcel()
Dim fichier As String
Dim XX As String
XX = "Z:BOULOTExtract_Prix_D-2_MF.xls"
fichier = Split(XX, "")(UBound(Split(XX, "")))
On Error Resume Next
'Si ouvert
Set wk = XL.Workbooks(fichier)
If Err <> 0 Then
Err.Clear
'si pas ouvert
Set wk = XL.Workbooks(XX)
End If
'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")
MsgBox TypeName(XL)
XL.Application.Visible = True
XL.Parent.Windows(1).Visible = True
XL.Range("a1").Select
Set oRange = XL.Range(XL.Rows("A1"), XL.Rows("VI65000"))
oRange.Select
XL.Cells.Select
XL.Cells.EntireColumn.AutoFit
XL.Range("A1").Select
XL.Sheets.Add
XL.ActiveSheet.Name = "Liste_Finale"
XL.Sheets("Query_Px_Avant_Veille_1").Select
'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
"Michel__D" a écrit dans le message de
news:Bon allez, dernier indice, regarde le type de variable !
Avec Set OFeuil = XL.Cells ' => XL doit être un objet application, aprés
' ceci je ne vois pas ce que je peux faire de plus et j'ai testé le code
' il n'y a pas de problème.
PS:Au cas ou pour connaître le type de variable :
msgbox typename(XL)
Michel a écrit :avant de repondre ca, on test !!!!
Mais bon.... De tout de facon ca fait plus d'une semaine que je suis sur
un fil et il n'y a pas de reelle reponse, donc laisse tomber....
Merci quand meme, mais il ne faut pas... Non je ne dirais rien ca n'en
vaut pas le coup.....
@+
Michel.
"Michel__D" a écrit dans le message
de news:On peut pas dire que tu teste/cherche beaucoup pour quelqu'un qui
maîtrise
sous Excel, je crains pour la suite ...
Set oFeuil = XL.Cells
oFeuil.Select
Michel a écrit :Heu....
Viens d'essayer et ca ne marche pas o:(
Je voudrais utiliser : cells.select
Selon toi :
Set oRange = XL.Range(XL.Rows(y1),XL.Rows(y2))
oRange.Select
y1 et y2, rassure moi : je peux mettre A1 et IV65536 ?
ou non ?
Si oui, ca ne marche pas, sinon pourrais tu m'aider a remplir les ???
D'avance merci.
"Michel__D" a écrit dans le
message de news:Re,
Bon ok, il y a quelques subtilités :
Pour une cellule :
Set oCell = XL.Cells(x,y)
oCell.Select
ou pour une plage par exemple :
Set oRange = XL.Range(XL.Rows(y1),XL.Rows(y2))
oRange.Select
Michel a écrit :Bonjour,
oui je sais mais je maitrise sous excel, je n'ai pas besoin de passer
par un enregistreur... :o)
Et quand bien meme ca ne marche pas.
Voir le fil sous excel.
Je pense que la fonction : Cells.Select
n'est pas trop complique.
meme XL.Cells.Select ne marche pas
ou application devant, bref je ne sais pas quoi faire.
c'est plutot pourquoi ca ca marche :
XL.Sheets.Add
XL.ActiveSheet.Name = "Liste_Finale"
mais pas la selection, je ne trouve pas ca logique.
Merci quand meme,
@+
Michel.
"Michel__D" a écrit dans le
message de news:Bonjour,
Michel a écrit :Bonjour,
ca marche, mais....
Je peux creer une feuille et la renommer et selectionner une autre
feuille, par contre je n'arrive pas a selectionner des cellules
faire une copie et un coller dans la nouvelle feuille :o(
Une idee ?
merci d'avance
Michel.
Quand on a du mal à trouver, on peut sous Excel enregistrer le
déroulement
dans une macro, cela donne quelques bases pour avancer, sachant que
sous
Access il faudra explicitement se servir de l'objet Excel créé.
ben le msgbox est : Workbook
et voila mon code en entier :
mais ca ne marche pas plus et je ne comprend plus rien donc voila un projet
qui est mort, car j'en ai marre de lire entre les lignes, ce n'ai pas pour
toi mais c'est un tout, ca fait plus d'une semaine que je cherche pour une
pauvre selection cells.select et un copy paste special.value.... Je n'arrive
pas a comprendre pourquoi tout le reste du code marche mais pas ca....
et voila :
Public Sub OpenExcel()
Dim fichier As String
Dim XX As String
XX = "Z:BOULOTExtract_Prix_D-2_MF.xls"
fichier = Split(XX, "")(UBound(Split(XX, "")))
On Error Resume Next
'Si ouvert
Set wk = XL.Workbooks(fichier)
If Err <> 0 Then
Err.Clear
'si pas ouvert
Set wk = XL.Workbooks(XX)
End If
'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")
MsgBox TypeName(XL)
XL.Application.Visible = True
XL.Parent.Windows(1).Visible = True
XL.Range("a1").Select
Set oRange = XL.Range(XL.Rows("A1"), XL.Rows("VI65000"))
oRange.Select
XL.Cells.Select
XL.Cells.EntireColumn.AutoFit
XL.Range("A1").Select
XL.Sheets.Add
XL.ActiveSheet.Name = "Liste_Finale"
XL.Sheets("Query_Px_Avant_Veille_1").Select
'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
"Michel__D" <Michel.NOSPAM@orange-ft.com.invalid> a écrit dans le message de
news: uAyPFvRxJHA.3504@TK2MSFTNGP03.phx.gbl...
Bon allez, dernier indice, regarde le type de variable !
Avec Set OFeuil = XL.Cells ' => XL doit être un objet application, aprés
' ceci je ne vois pas ce que je peux faire de plus et j'ai testé le code
' il n'y a pas de problème.
PS:Au cas ou pour connaître le type de variable :
msgbox typename(XL)
Michel a écrit :
avant de repondre ca, on test !!!!
Mais bon.... De tout de facon ca fait plus d'une semaine que je suis sur
un fil et il n'y a pas de reelle reponse, donc laisse tomber....
Merci quand meme, mais il ne faut pas... Non je ne dirais rien ca n'en
vaut pas le coup.....
@+
Michel.
"Michel__D" <Michel.NOSPAM@orange-ft.com.invalid> a écrit dans le message
de news: ui4GWZRxJHA.1236@TK2MSFTNGP02.phx.gbl...
On peut pas dire que tu teste/cherche beaucoup pour quelqu'un qui
maîtrise
sous Excel, je crains pour la suite ...
Set oFeuil = XL.Cells
oFeuil.Select
Michel a écrit :
Heu....
Viens d'essayer et ca ne marche pas o:(
Je voudrais utiliser : cells.select
Selon toi :
Set oRange = XL.Range(XL.Rows(y1),XL.Rows(y2))
oRange.Select
y1 et y2, rassure moi : je peux mettre A1 et IV65536 ?
ou non ?
Si oui, ca ne marche pas, sinon pourrais tu m'aider a remplir les ???
D'avance merci.
"Michel__D" <Michel.NOSPAM@orange-ft.com.invalid> a écrit dans le
message de news: ejhiXbQxJHA.1212@TK2MSFTNGP04.phx.gbl...
Re,
Bon ok, il y a quelques subtilités :
Pour une cellule :
Set oCell = XL.Cells(x,y)
oCell.Select
ou pour une plage par exemple :
Set oRange = XL.Range(XL.Rows(y1),XL.Rows(y2))
oRange.Select
Michel a écrit :
Bonjour,
oui je sais mais je maitrise sous excel, je n'ai pas besoin de passer
par un enregistreur... :o)
Et quand bien meme ca ne marche pas.
Voir le fil sous excel.
Je pense que la fonction : Cells.Select
n'est pas trop complique.
meme XL.Cells.Select ne marche pas
ou application devant, bref je ne sais pas quoi faire.
c'est plutot pourquoi ca ca marche :
XL.Sheets.Add
XL.ActiveSheet.Name = "Liste_Finale"
mais pas la selection, je ne trouve pas ca logique.
Merci quand meme,
@+
Michel.
"Michel__D" <Michel.NOSPAM@orange-ft.com.invalid> a écrit dans le
message de news: O3DuNEQxJHA.1504@TK2MSFTNGP03.phx.gbl...
Bonjour,
Michel a écrit :
Bonjour,
ca marche, mais....
Je peux creer une feuille et la renommer et selectionner une autre
feuille, par contre je n'arrive pas a selectionner des cellules
faire une copie et un coller dans la nouvelle feuille :o(
Une idee ?
merci d'avance
Michel.
Quand on a du mal à trouver, on peut sous Excel enregistrer le
déroulement
dans une macro, cela donne quelques bases pour avancer, sachant que
sous
Access il faudra explicitement se servir de l'objet Excel créé.
ben le msgbox est : Workbook
et voila mon code en entier :
mais ca ne marche pas plus et je ne comprend plus rien donc voila un projet
qui est mort, car j'en ai marre de lire entre les lignes, ce n'ai pas pour
toi mais c'est un tout, ca fait plus d'une semaine que je cherche pour une
pauvre selection cells.select et un copy paste special.value.... Je n'arrive
pas a comprendre pourquoi tout le reste du code marche mais pas ca....
et voila :
Public Sub OpenExcel()
Dim fichier As String
Dim XX As String
XX = "Z:BOULOTExtract_Prix_D-2_MF.xls"
fichier = Split(XX, "")(UBound(Split(XX, "")))
On Error Resume Next
'Si ouvert
Set wk = XL.Workbooks(fichier)
If Err <> 0 Then
Err.Clear
'si pas ouvert
Set wk = XL.Workbooks(XX)
End If
'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")
MsgBox TypeName(XL)
XL.Application.Visible = True
XL.Parent.Windows(1).Visible = True
XL.Range("a1").Select
Set oRange = XL.Range(XL.Rows("A1"), XL.Rows("VI65000"))
oRange.Select
XL.Cells.Select
XL.Cells.EntireColumn.AutoFit
XL.Range("A1").Select
XL.Sheets.Add
XL.ActiveSheet.Name = "Liste_Finale"
XL.Sheets("Query_Px_Avant_Veille_1").Select
'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
"Michel__D" a écrit dans le message de
news:Bon allez, dernier indice, regarde le type de variable !
Avec Set OFeuil = XL.Cells ' => XL doit être un objet application, aprés
' ceci je ne vois pas ce que je peux faire de plus et j'ai testé le code
' il n'y a pas de problème.
PS:Au cas ou pour connaître le type de variable :
msgbox typename(XL)
Michel a écrit :avant de repondre ca, on test !!!!
Mais bon.... De tout de facon ca fait plus d'une semaine que je suis sur
un fil et il n'y a pas de reelle reponse, donc laisse tomber....
Merci quand meme, mais il ne faut pas... Non je ne dirais rien ca n'en
vaut pas le coup.....
@+
Michel.
"Michel__D" a écrit dans le message
de news:On peut pas dire que tu teste/cherche beaucoup pour quelqu'un qui
maîtrise
sous Excel, je crains pour la suite ...
Set oFeuil = XL.Cells
oFeuil.Select
Michel a écrit :Heu....
Viens d'essayer et ca ne marche pas o:(
Je voudrais utiliser : cells.select
Selon toi :
Set oRange = XL.Range(XL.Rows(y1),XL.Rows(y2))
oRange.Select
y1 et y2, rassure moi : je peux mettre A1 et IV65536 ?
ou non ?
Si oui, ca ne marche pas, sinon pourrais tu m'aider a remplir les ???
D'avance merci.
"Michel__D" a écrit dans le
message de news:Re,
Bon ok, il y a quelques subtilités :
Pour une cellule :
Set oCell = XL.Cells(x,y)
oCell.Select
ou pour une plage par exemple :
Set oRange = XL.Range(XL.Rows(y1),XL.Rows(y2))
oRange.Select
Michel a écrit :Bonjour,
oui je sais mais je maitrise sous excel, je n'ai pas besoin de passer
par un enregistreur... :o)
Et quand bien meme ca ne marche pas.
Voir le fil sous excel.
Je pense que la fonction : Cells.Select
n'est pas trop complique.
meme XL.Cells.Select ne marche pas
ou application devant, bref je ne sais pas quoi faire.
c'est plutot pourquoi ca ca marche :
XL.Sheets.Add
XL.ActiveSheet.Name = "Liste_Finale"
mais pas la selection, je ne trouve pas ca logique.
Merci quand meme,
@+
Michel.
"Michel__D" a écrit dans le
message de news:Bonjour,
Michel a écrit :Bonjour,
ca marche, mais....
Je peux creer une feuille et la renommer et selectionner une autre
feuille, par contre je n'arrive pas a selectionner des cellules
faire une copie et un coller dans la nouvelle feuille :o(
Une idee ?
merci d'avance
Michel.
Quand on a du mal à trouver, on peut sous Excel enregistrer le
déroulement
dans une macro, cela donne quelques bases pour avancer, sachant que
sous
Access il faudra explicitement se servir de l'objet Excel créé.
Quand je disais que je craignais pour la suite, voici mes remarques :
1) L'aide doit être consultée quand on a un problème; vu qu'ici c'est un
problème avec le VBA Excel, il faut consulter l'aide correspondante et
moi
je lis que la propriété Cells s'applique aux objets :
Application, Range, WorkSheet
2) Tu as vu ou tu positionné le msgbox typename(XL), juste avant la ligne
XL.Application.Visible = True
Je pensais que cela ferais tilt, mais bon; donc tu as plusieurs
possibilités
Soit utiliser l'objet Application :
Set oXL = XL.Application
Set oFeuil = oXL.Cells
oFeuil.Select
Ou soit utiliser l'objet Worksheet :
Set oXL = XL.ActiveSheet
Set oFeuil = oXL.Cells
oFeuil.Select
Michel a écrit :ben le msgbox est : Workbook
et voila mon code en entier :
mais ca ne marche pas plus et je ne comprend plus rien donc voila un
projet qui est mort, car j'en ai marre de lire entre les lignes, ce n'ai
pas pour toi mais c'est un tout, ca fait plus d'une semaine que je
cherche pour une pauvre selection cells.select et un copy paste
special.value.... Je n'arrive pas a comprendre pourquoi tout le reste du
code marche mais pas ca....
et voila :
Public Sub OpenExcel()
Dim fichier As String
Dim XX As String
XX = "Z:BOULOTExtract_Prix_D-2_MF.xls"
fichier = Split(XX, "")(UBound(Split(XX, "")))
On Error Resume Next
'Si ouvert
Set wk = XL.Workbooks(fichier)
If Err <> 0 Then
Err.Clear
'si pas ouvert
Set wk = XL.Workbooks(XX)
End If
'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")
MsgBox TypeName(XL)
XL.Application.Visible = True
XL.Parent.Windows(1).Visible = True
XL.Range("a1").Select
Set oRange = XL.Range(XL.Rows("A1"), XL.Rows("VI65000"))
oRange.Select
XL.Cells.Select
XL.Cells.EntireColumn.AutoFit
XL.Range("A1").Select
XL.Sheets.Add
XL.ActiveSheet.Name = "Liste_Finale"
XL.Sheets("Query_Px_Avant_Veille_1").Select
'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
"Michel__D" a écrit dans le message
de news:Bon allez, dernier indice, regarde le type de variable !
Avec Set OFeuil = XL.Cells ' => XL doit être un objet application, aprés
' ceci je ne vois pas ce que je peux faire de plus et j'ai testé le code
' il n'y a pas de problème.
PS:Au cas ou pour connaître le type de variable :
msgbox typename(XL)
Michel a écrit :avant de repondre ca, on test !!!!
Mais bon.... De tout de facon ca fait plus d'une semaine que je suis
sur un fil et il n'y a pas de reelle reponse, donc laisse tomber....
Merci quand meme, mais il ne faut pas... Non je ne dirais rien ca n'en
vaut pas le coup.....
@+
Michel.
"Michel__D" a écrit dans le
message de news:On peut pas dire que tu teste/cherche beaucoup pour quelqu'un qui
maîtrise
sous Excel, je crains pour la suite ...
Set oFeuil = XL.Cells
oFeuil.Select
Michel a écrit :Heu....
Viens d'essayer et ca ne marche pas o:(
Je voudrais utiliser : cells.select
Selon toi :
Set oRange = XL.Range(XL.Rows(y1),XL.Rows(y2))
oRange.Select
y1 et y2, rassure moi : je peux mettre A1 et IV65536 ?
ou non ?
Si oui, ca ne marche pas, sinon pourrais tu m'aider a remplir les ???
D'avance merci.
"Michel__D" a écrit dans le
message de news:Re,
Bon ok, il y a quelques subtilités :
Pour une cellule :
Set oCell = XL.Cells(x,y)
oCell.Select
ou pour une plage par exemple :
Set oRange = XL.Range(XL.Rows(y1),XL.Rows(y2))
oRange.Select
Michel a écrit :Bonjour,
oui je sais mais je maitrise sous excel, je n'ai pas besoin de
passer par un enregistreur... :o)
Et quand bien meme ca ne marche pas.
Voir le fil sous excel.
Je pense que la fonction : Cells.Select
n'est pas trop complique.
meme XL.Cells.Select ne marche pas
ou application devant, bref je ne sais pas quoi faire.
c'est plutot pourquoi ca ca marche :
XL.Sheets.Add
XL.ActiveSheet.Name = "Liste_Finale"
mais pas la selection, je ne trouve pas ca logique.
Merci quand meme,
@+
Michel.
"Michel__D" a écrit dans le
message de news:Bonjour,
Michel a écrit :Bonjour,
ca marche, mais....
Je peux creer une feuille et la renommer et selectionner une
autre feuille, par contre je n'arrive pas a selectionner des
cellules faire une copie et un coller dans la nouvelle feuille
:o(
Une idee ?
merci d'avance
Michel.
Quand on a du mal à trouver, on peut sous Excel enregistrer le
déroulement
dans une macro, cela donne quelques bases pour avancer, sachant
que sous
Access il faudra explicitement se servir de l'objet Excel créé.
Quand je disais que je craignais pour la suite, voici mes remarques :
1) L'aide doit être consultée quand on a un problème; vu qu'ici c'est un
problème avec le VBA Excel, il faut consulter l'aide correspondante et
moi
je lis que la propriété Cells s'applique aux objets :
Application, Range, WorkSheet
2) Tu as vu ou tu positionné le msgbox typename(XL), juste avant la ligne
XL.Application.Visible = True
Je pensais que cela ferais tilt, mais bon; donc tu as plusieurs
possibilités
Soit utiliser l'objet Application :
Set oXL = XL.Application
Set oFeuil = oXL.Cells
oFeuil.Select
Ou soit utiliser l'objet Worksheet :
Set oXL = XL.ActiveSheet
Set oFeuil = oXL.Cells
oFeuil.Select
Michel a écrit :
ben le msgbox est : Workbook
et voila mon code en entier :
mais ca ne marche pas plus et je ne comprend plus rien donc voila un
projet qui est mort, car j'en ai marre de lire entre les lignes, ce n'ai
pas pour toi mais c'est un tout, ca fait plus d'une semaine que je
cherche pour une pauvre selection cells.select et un copy paste
special.value.... Je n'arrive pas a comprendre pourquoi tout le reste du
code marche mais pas ca....
et voila :
Public Sub OpenExcel()
Dim fichier As String
Dim XX As String
XX = "Z:BOULOTExtract_Prix_D-2_MF.xls"
fichier = Split(XX, "")(UBound(Split(XX, "")))
On Error Resume Next
'Si ouvert
Set wk = XL.Workbooks(fichier)
If Err <> 0 Then
Err.Clear
'si pas ouvert
Set wk = XL.Workbooks(XX)
End If
'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")
MsgBox TypeName(XL)
XL.Application.Visible = True
XL.Parent.Windows(1).Visible = True
XL.Range("a1").Select
Set oRange = XL.Range(XL.Rows("A1"), XL.Rows("VI65000"))
oRange.Select
XL.Cells.Select
XL.Cells.EntireColumn.AutoFit
XL.Range("A1").Select
XL.Sheets.Add
XL.ActiveSheet.Name = "Liste_Finale"
XL.Sheets("Query_Px_Avant_Veille_1").Select
'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
"Michel__D" <Michel.NOSPAM@orange-ft.com.invalid> a écrit dans le message
de news: uAyPFvRxJHA.3504@TK2MSFTNGP03.phx.gbl...
Bon allez, dernier indice, regarde le type de variable !
Avec Set OFeuil = XL.Cells ' => XL doit être un objet application, aprés
' ceci je ne vois pas ce que je peux faire de plus et j'ai testé le code
' il n'y a pas de problème.
PS:Au cas ou pour connaître le type de variable :
msgbox typename(XL)
Michel a écrit :
avant de repondre ca, on test !!!!
Mais bon.... De tout de facon ca fait plus d'une semaine que je suis
sur un fil et il n'y a pas de reelle reponse, donc laisse tomber....
Merci quand meme, mais il ne faut pas... Non je ne dirais rien ca n'en
vaut pas le coup.....
@+
Michel.
"Michel__D" <Michel.NOSPAM@orange-ft.com.invalid> a écrit dans le
message de news: ui4GWZRxJHA.1236@TK2MSFTNGP02.phx.gbl...
On peut pas dire que tu teste/cherche beaucoup pour quelqu'un qui
maîtrise
sous Excel, je crains pour la suite ...
Set oFeuil = XL.Cells
oFeuil.Select
Michel a écrit :
Heu....
Viens d'essayer et ca ne marche pas o:(
Je voudrais utiliser : cells.select
Selon toi :
Set oRange = XL.Range(XL.Rows(y1),XL.Rows(y2))
oRange.Select
y1 et y2, rassure moi : je peux mettre A1 et IV65536 ?
ou non ?
Si oui, ca ne marche pas, sinon pourrais tu m'aider a remplir les ???
D'avance merci.
"Michel__D" <Michel.NOSPAM@orange-ft.com.invalid> a écrit dans le
message de news: ejhiXbQxJHA.1212@TK2MSFTNGP04.phx.gbl...
Re,
Bon ok, il y a quelques subtilités :
Pour une cellule :
Set oCell = XL.Cells(x,y)
oCell.Select
ou pour une plage par exemple :
Set oRange = XL.Range(XL.Rows(y1),XL.Rows(y2))
oRange.Select
Michel a écrit :
Bonjour,
oui je sais mais je maitrise sous excel, je n'ai pas besoin de
passer par un enregistreur... :o)
Et quand bien meme ca ne marche pas.
Voir le fil sous excel.
Je pense que la fonction : Cells.Select
n'est pas trop complique.
meme XL.Cells.Select ne marche pas
ou application devant, bref je ne sais pas quoi faire.
c'est plutot pourquoi ca ca marche :
XL.Sheets.Add
XL.ActiveSheet.Name = "Liste_Finale"
mais pas la selection, je ne trouve pas ca logique.
Merci quand meme,
@+
Michel.
"Michel__D" <Michel.NOSPAM@orange-ft.com.invalid> a écrit dans le
message de news: O3DuNEQxJHA.1504@TK2MSFTNGP03.phx.gbl...
Bonjour,
Michel a écrit :
Bonjour,
ca marche, mais....
Je peux creer une feuille et la renommer et selectionner une
autre feuille, par contre je n'arrive pas a selectionner des
cellules faire une copie et un coller dans la nouvelle feuille
:o(
Une idee ?
merci d'avance
Michel.
Quand on a du mal à trouver, on peut sous Excel enregistrer le
déroulement
dans une macro, cela donne quelques bases pour avancer, sachant
que sous
Access il faudra explicitement se servir de l'objet Excel créé.
Quand je disais que je craignais pour la suite, voici mes remarques :
1) L'aide doit être consultée quand on a un problème; vu qu'ici c'est un
problème avec le VBA Excel, il faut consulter l'aide correspondante et
moi
je lis que la propriété Cells s'applique aux objets :
Application, Range, WorkSheet
2) Tu as vu ou tu positionné le msgbox typename(XL), juste avant la ligne
XL.Application.Visible = True
Je pensais que cela ferais tilt, mais bon; donc tu as plusieurs
possibilités
Soit utiliser l'objet Application :
Set oXL = XL.Application
Set oFeuil = oXL.Cells
oFeuil.Select
Ou soit utiliser l'objet Worksheet :
Set oXL = XL.ActiveSheet
Set oFeuil = oXL.Cells
oFeuil.Select
Michel a écrit :ben le msgbox est : Workbook
et voila mon code en entier :
mais ca ne marche pas plus et je ne comprend plus rien donc voila un
projet qui est mort, car j'en ai marre de lire entre les lignes, ce n'ai
pas pour toi mais c'est un tout, ca fait plus d'une semaine que je
cherche pour une pauvre selection cells.select et un copy paste
special.value.... Je n'arrive pas a comprendre pourquoi tout le reste du
code marche mais pas ca....
et voila :
Public Sub OpenExcel()
Dim fichier As String
Dim XX As String
XX = "Z:BOULOTExtract_Prix_D-2_MF.xls"
fichier = Split(XX, "")(UBound(Split(XX, "")))
On Error Resume Next
'Si ouvert
Set wk = XL.Workbooks(fichier)
If Err <> 0 Then
Err.Clear
'si pas ouvert
Set wk = XL.Workbooks(XX)
End If
'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")
MsgBox TypeName(XL)
XL.Application.Visible = True
XL.Parent.Windows(1).Visible = True
XL.Range("a1").Select
Set oRange = XL.Range(XL.Rows("A1"), XL.Rows("VI65000"))
oRange.Select
XL.Cells.Select
XL.Cells.EntireColumn.AutoFit
XL.Range("A1").Select
XL.Sheets.Add
XL.ActiveSheet.Name = "Liste_Finale"
XL.Sheets("Query_Px_Avant_Veille_1").Select
'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
"Michel__D" a écrit dans le message
de news:Bon allez, dernier indice, regarde le type de variable !
Avec Set OFeuil = XL.Cells ' => XL doit être un objet application, aprés
' ceci je ne vois pas ce que je peux faire de plus et j'ai testé le code
' il n'y a pas de problème.
PS:Au cas ou pour connaître le type de variable :
msgbox typename(XL)
Michel a écrit :avant de repondre ca, on test !!!!
Mais bon.... De tout de facon ca fait plus d'une semaine que je suis
sur un fil et il n'y a pas de reelle reponse, donc laisse tomber....
Merci quand meme, mais il ne faut pas... Non je ne dirais rien ca n'en
vaut pas le coup.....
@+
Michel.
"Michel__D" a écrit dans le
message de news:On peut pas dire que tu teste/cherche beaucoup pour quelqu'un qui
maîtrise
sous Excel, je crains pour la suite ...
Set oFeuil = XL.Cells
oFeuil.Select
Michel a écrit :Heu....
Viens d'essayer et ca ne marche pas o:(
Je voudrais utiliser : cells.select
Selon toi :
Set oRange = XL.Range(XL.Rows(y1),XL.Rows(y2))
oRange.Select
y1 et y2, rassure moi : je peux mettre A1 et IV65536 ?
ou non ?
Si oui, ca ne marche pas, sinon pourrais tu m'aider a remplir les ???
D'avance merci.
"Michel__D" a écrit dans le
message de news:Re,
Bon ok, il y a quelques subtilités :
Pour une cellule :
Set oCell = XL.Cells(x,y)
oCell.Select
ou pour une plage par exemple :
Set oRange = XL.Range(XL.Rows(y1),XL.Rows(y2))
oRange.Select
Michel a écrit :Bonjour,
oui je sais mais je maitrise sous excel, je n'ai pas besoin de
passer par un enregistreur... :o)
Et quand bien meme ca ne marche pas.
Voir le fil sous excel.
Je pense que la fonction : Cells.Select
n'est pas trop complique.
meme XL.Cells.Select ne marche pas
ou application devant, bref je ne sais pas quoi faire.
c'est plutot pourquoi ca ca marche :
XL.Sheets.Add
XL.ActiveSheet.Name = "Liste_Finale"
mais pas la selection, je ne trouve pas ca logique.
Merci quand meme,
@+
Michel.
"Michel__D" a écrit dans le
message de news:Bonjour,
Michel a écrit :Bonjour,
ca marche, mais....
Je peux creer une feuille et la renommer et selectionner une
autre feuille, par contre je n'arrive pas a selectionner des
cellules faire une copie et un coller dans la nouvelle feuille
:o(
Une idee ?
merci d'avance
Michel.
Quand on a du mal à trouver, on peut sous Excel enregistrer le
déroulement
dans une macro, cela donne quelques bases pour avancer, sachant
que sous
Access il faudra explicitement se servir de l'objet Excel créé.
Salut,
Merci de la reponse mais je viens de trouver pourquoi ca ne marchait pas,
rien a voir avec ce que tu dis, mais qui est vraiment tres bete...
Il y a 2 fois Set XL... 1ere fois application excel (qui est bon) et le
deuxieme le nom du fichier (pas bon) donc XL perd la reference de l'appli
excel...
donc tous les XL.blabla ne pointe pas vers excel....
Et voila....
Merci quand meme de ton aide meme si tu me prend pour ce que je ne suis pas
:o)
@+
Michel.
"Michel__D" a écrit dans le message de
news:Quand je disais que je craignais pour la suite, voici mes remarques :
1) L'aide doit être consultée quand on a un problème; vu qu'ici c'est un
problème avec le VBA Excel, il faut consulter l'aide correspondante et
moi
je lis que la propriété Cells s'applique aux objets :
Application, Range, WorkSheet
2) Tu as vu ou tu positionné le msgbox typename(XL), juste avant la ligne
XL.Application.Visible = True
Je pensais que cela ferais tilt, mais bon; donc tu as plusieurs
possibilités
Soit utiliser l'objet Application :
Set oXL = XL.Application
Set oFeuil = oXL.Cells
oFeuil.Select
Ou soit utiliser l'objet Worksheet :
Set oXL = XL.ActiveSheet
Set oFeuil = oXL.Cells
oFeuil.Select
Michel a écrit :ben le msgbox est : Workbook
et voila mon code en entier :
mais ca ne marche pas plus et je ne comprend plus rien donc voila un
projet qui est mort, car j'en ai marre de lire entre les lignes, ce n'ai
pas pour toi mais c'est un tout, ca fait plus d'une semaine que je
cherche pour une pauvre selection cells.select et un copy paste
special.value.... Je n'arrive pas a comprendre pourquoi tout le reste du
code marche mais pas ca....
et voila :
Public Sub OpenExcel()
Dim fichier As String
Dim XX As String
XX = "Z:BOULOTExtract_Prix_D-2_MF.xls"
fichier = Split(XX, "")(UBound(Split(XX, "")))
On Error Resume Next
'Si ouvert
Set wk = XL.Workbooks(fichier)
If Err <> 0 Then
Err.Clear
'si pas ouvert
Set wk = XL.Workbooks(XX)
End If
'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")
MsgBox TypeName(XL)
XL.Application.Visible = True
XL.Parent.Windows(1).Visible = True
XL.Range("a1").Select
Set oRange = XL.Range(XL.Rows("A1"), XL.Rows("VI65000"))
oRange.Select
XL.Cells.Select
XL.Cells.EntireColumn.AutoFit
XL.Range("A1").Select
XL.Sheets.Add
XL.ActiveSheet.Name = "Liste_Finale"
XL.Sheets("Query_Px_Avant_Veille_1").Select
'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
"Michel__D" a écrit dans le message
de news:Bon allez, dernier indice, regarde le type de variable !
Avec Set OFeuil = XL.Cells ' => XL doit être un objet application, aprés
' ceci je ne vois pas ce que je peux faire de plus et j'ai testé le code
' il n'y a pas de problème.
PS:Au cas ou pour connaître le type de variable :
msgbox typename(XL)
Michel a écrit :avant de repondre ca, on test !!!!
Mais bon.... De tout de facon ca fait plus d'une semaine que je suis
sur un fil et il n'y a pas de reelle reponse, donc laisse tomber....
Merci quand meme, mais il ne faut pas... Non je ne dirais rien ca n'en
vaut pas le coup.....
@+
Michel.
"Michel__D" a écrit dans le
message de news:On peut pas dire que tu teste/cherche beaucoup pour quelqu'un qui
maîtrise
sous Excel, je crains pour la suite ...
Set oFeuil = XL.Cells
oFeuil.Select
Michel a écrit :Heu....
Viens d'essayer et ca ne marche pas o:(
Je voudrais utiliser : cells.select
Selon toi :
Set oRange = XL.Range(XL.Rows(y1),XL.Rows(y2))
oRange.Select
y1 et y2, rassure moi : je peux mettre A1 et IV65536 ?
ou non ?
Si oui, ca ne marche pas, sinon pourrais tu m'aider a remplir les ???
D'avance merci.
"Michel__D" a écrit dans le
message de news:Re,
Bon ok, il y a quelques subtilités :
Pour une cellule :
Set oCell = XL.Cells(x,y)
oCell.Select
ou pour une plage par exemple :
Set oRange = XL.Range(XL.Rows(y1),XL.Rows(y2))
oRange.Select
Michel a écrit :Bonjour,
oui je sais mais je maitrise sous excel, je n'ai pas besoin de
passer par un enregistreur... :o)
Et quand bien meme ca ne marche pas.
Voir le fil sous excel.
Je pense que la fonction : Cells.Select
n'est pas trop complique.
meme XL.Cells.Select ne marche pas
ou application devant, bref je ne sais pas quoi faire.
c'est plutot pourquoi ca ca marche :
XL.Sheets.Add
XL.ActiveSheet.Name = "Liste_Finale"
mais pas la selection, je ne trouve pas ca logique.
Merci quand meme,
@+
Michel.
"Michel__D" a écrit dans le
message de news:Bonjour,
Michel a écrit :Bonjour,
ca marche, mais....
Je peux creer une feuille et la renommer et selectionner une
autre feuille, par contre je n'arrive pas a selectionner des
cellules faire une copie et un coller dans la nouvelle feuille
:o(
Une idee ?
merci d'avance
Michel.
Quand on a du mal à trouver, on peut sous Excel enregistrer le
déroulement
dans une macro, cela donne quelques bases pour avancer, sachant
que sous
Access il faudra explicitement se servir de l'objet Excel créé.
Salut,
Merci de la reponse mais je viens de trouver pourquoi ca ne marchait pas,
rien a voir avec ce que tu dis, mais qui est vraiment tres bete...
Il y a 2 fois Set XL... 1ere fois application excel (qui est bon) et le
deuxieme le nom du fichier (pas bon) donc XL perd la reference de l'appli
excel...
donc tous les XL.blabla ne pointe pas vers excel....
Et voila....
Merci quand meme de ton aide meme si tu me prend pour ce que je ne suis pas
:o)
@+
Michel.
"Michel__D" <Michel.NOSPAM@orange-ft.com.invalid> a écrit dans le message de
news: eoNFfBSxJHA.1236@TK2MSFTNGP02.phx.gbl...
Quand je disais que je craignais pour la suite, voici mes remarques :
1) L'aide doit être consultée quand on a un problème; vu qu'ici c'est un
problème avec le VBA Excel, il faut consulter l'aide correspondante et
moi
je lis que la propriété Cells s'applique aux objets :
Application, Range, WorkSheet
2) Tu as vu ou tu positionné le msgbox typename(XL), juste avant la ligne
XL.Application.Visible = True
Je pensais que cela ferais tilt, mais bon; donc tu as plusieurs
possibilités
Soit utiliser l'objet Application :
Set oXL = XL.Application
Set oFeuil = oXL.Cells
oFeuil.Select
Ou soit utiliser l'objet Worksheet :
Set oXL = XL.ActiveSheet
Set oFeuil = oXL.Cells
oFeuil.Select
Michel a écrit :
ben le msgbox est : Workbook
et voila mon code en entier :
mais ca ne marche pas plus et je ne comprend plus rien donc voila un
projet qui est mort, car j'en ai marre de lire entre les lignes, ce n'ai
pas pour toi mais c'est un tout, ca fait plus d'une semaine que je
cherche pour une pauvre selection cells.select et un copy paste
special.value.... Je n'arrive pas a comprendre pourquoi tout le reste du
code marche mais pas ca....
et voila :
Public Sub OpenExcel()
Dim fichier As String
Dim XX As String
XX = "Z:BOULOTExtract_Prix_D-2_MF.xls"
fichier = Split(XX, "")(UBound(Split(XX, "")))
On Error Resume Next
'Si ouvert
Set wk = XL.Workbooks(fichier)
If Err <> 0 Then
Err.Clear
'si pas ouvert
Set wk = XL.Workbooks(XX)
End If
'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")
MsgBox TypeName(XL)
XL.Application.Visible = True
XL.Parent.Windows(1).Visible = True
XL.Range("a1").Select
Set oRange = XL.Range(XL.Rows("A1"), XL.Rows("VI65000"))
oRange.Select
XL.Cells.Select
XL.Cells.EntireColumn.AutoFit
XL.Range("A1").Select
XL.Sheets.Add
XL.ActiveSheet.Name = "Liste_Finale"
XL.Sheets("Query_Px_Avant_Veille_1").Select
'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
"Michel__D" <Michel.NOSPAM@orange-ft.com.invalid> a écrit dans le message
de news: uAyPFvRxJHA.3504@TK2MSFTNGP03.phx.gbl...
Bon allez, dernier indice, regarde le type de variable !
Avec Set OFeuil = XL.Cells ' => XL doit être un objet application, aprés
' ceci je ne vois pas ce que je peux faire de plus et j'ai testé le code
' il n'y a pas de problème.
PS:Au cas ou pour connaître le type de variable :
msgbox typename(XL)
Michel a écrit :
avant de repondre ca, on test !!!!
Mais bon.... De tout de facon ca fait plus d'une semaine que je suis
sur un fil et il n'y a pas de reelle reponse, donc laisse tomber....
Merci quand meme, mais il ne faut pas... Non je ne dirais rien ca n'en
vaut pas le coup.....
@+
Michel.
"Michel__D" <Michel.NOSPAM@orange-ft.com.invalid> a écrit dans le
message de news: ui4GWZRxJHA.1236@TK2MSFTNGP02.phx.gbl...
On peut pas dire que tu teste/cherche beaucoup pour quelqu'un qui
maîtrise
sous Excel, je crains pour la suite ...
Set oFeuil = XL.Cells
oFeuil.Select
Michel a écrit :
Heu....
Viens d'essayer et ca ne marche pas o:(
Je voudrais utiliser : cells.select
Selon toi :
Set oRange = XL.Range(XL.Rows(y1),XL.Rows(y2))
oRange.Select
y1 et y2, rassure moi : je peux mettre A1 et IV65536 ?
ou non ?
Si oui, ca ne marche pas, sinon pourrais tu m'aider a remplir les ???
D'avance merci.
"Michel__D" <Michel.NOSPAM@orange-ft.com.invalid> a écrit dans le
message de news: ejhiXbQxJHA.1212@TK2MSFTNGP04.phx.gbl...
Re,
Bon ok, il y a quelques subtilités :
Pour une cellule :
Set oCell = XL.Cells(x,y)
oCell.Select
ou pour une plage par exemple :
Set oRange = XL.Range(XL.Rows(y1),XL.Rows(y2))
oRange.Select
Michel a écrit :
Bonjour,
oui je sais mais je maitrise sous excel, je n'ai pas besoin de
passer par un enregistreur... :o)
Et quand bien meme ca ne marche pas.
Voir le fil sous excel.
Je pense que la fonction : Cells.Select
n'est pas trop complique.
meme XL.Cells.Select ne marche pas
ou application devant, bref je ne sais pas quoi faire.
c'est plutot pourquoi ca ca marche :
XL.Sheets.Add
XL.ActiveSheet.Name = "Liste_Finale"
mais pas la selection, je ne trouve pas ca logique.
Merci quand meme,
@+
Michel.
"Michel__D" <Michel.NOSPAM@orange-ft.com.invalid> a écrit dans le
message de news: O3DuNEQxJHA.1504@TK2MSFTNGP03.phx.gbl...
Bonjour,
Michel a écrit :
Bonjour,
ca marche, mais....
Je peux creer une feuille et la renommer et selectionner une
autre feuille, par contre je n'arrive pas a selectionner des
cellules faire une copie et un coller dans la nouvelle feuille
:o(
Une idee ?
merci d'avance
Michel.
Quand on a du mal à trouver, on peut sous Excel enregistrer le
déroulement
dans une macro, cela donne quelques bases pour avancer, sachant
que sous
Access il faudra explicitement se servir de l'objet Excel créé.
Salut,
Merci de la reponse mais je viens de trouver pourquoi ca ne marchait pas,
rien a voir avec ce que tu dis, mais qui est vraiment tres bete...
Il y a 2 fois Set XL... 1ere fois application excel (qui est bon) et le
deuxieme le nom du fichier (pas bon) donc XL perd la reference de l'appli
excel...
donc tous les XL.blabla ne pointe pas vers excel....
Et voila....
Merci quand meme de ton aide meme si tu me prend pour ce que je ne suis pas
:o)
@+
Michel.
"Michel__D" a écrit dans le message de
news:Quand je disais que je craignais pour la suite, voici mes remarques :
1) L'aide doit être consultée quand on a un problème; vu qu'ici c'est un
problème avec le VBA Excel, il faut consulter l'aide correspondante et
moi
je lis que la propriété Cells s'applique aux objets :
Application, Range, WorkSheet
2) Tu as vu ou tu positionné le msgbox typename(XL), juste avant la ligne
XL.Application.Visible = True
Je pensais que cela ferais tilt, mais bon; donc tu as plusieurs
possibilités
Soit utiliser l'objet Application :
Set oXL = XL.Application
Set oFeuil = oXL.Cells
oFeuil.Select
Ou soit utiliser l'objet Worksheet :
Set oXL = XL.ActiveSheet
Set oFeuil = oXL.Cells
oFeuil.Select
Michel a écrit :ben le msgbox est : Workbook
et voila mon code en entier :
mais ca ne marche pas plus et je ne comprend plus rien donc voila un
projet qui est mort, car j'en ai marre de lire entre les lignes, ce n'ai
pas pour toi mais c'est un tout, ca fait plus d'une semaine que je
cherche pour une pauvre selection cells.select et un copy paste
special.value.... Je n'arrive pas a comprendre pourquoi tout le reste du
code marche mais pas ca....
et voila :
Public Sub OpenExcel()
Dim fichier As String
Dim XX As String
XX = "Z:BOULOTExtract_Prix_D-2_MF.xls"
fichier = Split(XX, "")(UBound(Split(XX, "")))
On Error Resume Next
'Si ouvert
Set wk = XL.Workbooks(fichier)
If Err <> 0 Then
Err.Clear
'si pas ouvert
Set wk = XL.Workbooks(XX)
End If
'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")
MsgBox TypeName(XL)
XL.Application.Visible = True
XL.Parent.Windows(1).Visible = True
XL.Range("a1").Select
Set oRange = XL.Range(XL.Rows("A1"), XL.Rows("VI65000"))
oRange.Select
XL.Cells.Select
XL.Cells.EntireColumn.AutoFit
XL.Range("A1").Select
XL.Sheets.Add
XL.ActiveSheet.Name = "Liste_Finale"
XL.Sheets("Query_Px_Avant_Veille_1").Select
'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
"Michel__D" a écrit dans le message
de news:Bon allez, dernier indice, regarde le type de variable !
Avec Set OFeuil = XL.Cells ' => XL doit être un objet application, aprés
' ceci je ne vois pas ce que je peux faire de plus et j'ai testé le code
' il n'y a pas de problème.
PS:Au cas ou pour connaître le type de variable :
msgbox typename(XL)
Michel a écrit :avant de repondre ca, on test !!!!
Mais bon.... De tout de facon ca fait plus d'une semaine que je suis
sur un fil et il n'y a pas de reelle reponse, donc laisse tomber....
Merci quand meme, mais il ne faut pas... Non je ne dirais rien ca n'en
vaut pas le coup.....
@+
Michel.
"Michel__D" a écrit dans le
message de news:On peut pas dire que tu teste/cherche beaucoup pour quelqu'un qui
maîtrise
sous Excel, je crains pour la suite ...
Set oFeuil = XL.Cells
oFeuil.Select
Michel a écrit :Heu....
Viens d'essayer et ca ne marche pas o:(
Je voudrais utiliser : cells.select
Selon toi :
Set oRange = XL.Range(XL.Rows(y1),XL.Rows(y2))
oRange.Select
y1 et y2, rassure moi : je peux mettre A1 et IV65536 ?
ou non ?
Si oui, ca ne marche pas, sinon pourrais tu m'aider a remplir les ???
D'avance merci.
"Michel__D" a écrit dans le
message de news:Re,
Bon ok, il y a quelques subtilités :
Pour une cellule :
Set oCell = XL.Cells(x,y)
oCell.Select
ou pour une plage par exemple :
Set oRange = XL.Range(XL.Rows(y1),XL.Rows(y2))
oRange.Select
Michel a écrit :Bonjour,
oui je sais mais je maitrise sous excel, je n'ai pas besoin de
passer par un enregistreur... :o)
Et quand bien meme ca ne marche pas.
Voir le fil sous excel.
Je pense que la fonction : Cells.Select
n'est pas trop complique.
meme XL.Cells.Select ne marche pas
ou application devant, bref je ne sais pas quoi faire.
c'est plutot pourquoi ca ca marche :
XL.Sheets.Add
XL.ActiveSheet.Name = "Liste_Finale"
mais pas la selection, je ne trouve pas ca logique.
Merci quand meme,
@+
Michel.
"Michel__D" a écrit dans le
message de news:Bonjour,
Michel a écrit :Bonjour,
ca marche, mais....
Je peux creer une feuille et la renommer et selectionner une
autre feuille, par contre je n'arrive pas a selectionner des
cellules faire une copie et un coller dans la nouvelle feuille
:o(
Une idee ?
merci d'avance
Michel.
Quand on a du mal à trouver, on peut sous Excel enregistrer le
déroulement
dans une macro, cela donne quelques bases pour avancer, sachant
que sous
Access il faudra explicitement se servir de l'objet Excel créé.
Bonjour,
Sincérement je suis content que tu es réussi, bien que tu me raconte dez
mensonges par rapport à ton code pour le cas ou Excel n'est pas ouvert !
Cordialement.
Michel a écrit :Salut,
Merci de la reponse mais je viens de trouver pourquoi ca ne marchait pas,
rien a voir avec ce que tu dis, mais qui est vraiment tres bete...
Il y a 2 fois Set XL... 1ere fois application excel (qui est bon) et le
deuxieme le nom du fichier (pas bon) donc XL perd la reference de l'appli
excel...
donc tous les XL.blabla ne pointe pas vers excel....
Et voila....
Merci quand meme de ton aide meme si tu me prend pour ce que je ne suis
pas :o)
@+
Michel.
"Michel__D" a écrit dans le message
de news:Quand je disais que je craignais pour la suite, voici mes remarques :
1) L'aide doit être consultée quand on a un problème; vu qu'ici c'est un
problème avec le VBA Excel, il faut consulter l'aide correspondante et
moi
je lis que la propriété Cells s'applique aux objets :
Application, Range, WorkSheet
2) Tu as vu ou tu positionné le msgbox typename(XL), juste avant la
ligne
XL.Application.Visible = True
Je pensais que cela ferais tilt, mais bon; donc tu as plusieurs
possibilités
Soit utiliser l'objet Application :
Set oXL = XL.Application
Set oFeuil = oXL.Cells
oFeuil.Select
Ou soit utiliser l'objet Worksheet :
Set oXL = XL.ActiveSheet
Set oFeuil = oXL.Cells
oFeuil.Select
Michel a écrit :ben le msgbox est : Workbook
et voila mon code en entier :
mais ca ne marche pas plus et je ne comprend plus rien donc voila un
projet qui est mort, car j'en ai marre de lire entre les lignes, ce
n'ai pas pour toi mais c'est un tout, ca fait plus d'une semaine que je
cherche pour une pauvre selection cells.select et un copy paste
special.value.... Je n'arrive pas a comprendre pourquoi tout le reste
du code marche mais pas ca....
et voila :
Public Sub OpenExcel()
Dim fichier As String
Dim XX As String
XX = "Z:BOULOTExtract_Prix_D-2_MF.xls"
fichier = Split(XX, "")(UBound(Split(XX, "")))
On Error Resume Next
'Si ouvert
Set wk = XL.Workbooks(fichier)
If Err <> 0 Then
Err.Clear
'si pas ouvert
Set wk = XL.Workbooks(XX)
End If
'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")
MsgBox TypeName(XL)
XL.Application.Visible = True
XL.Parent.Windows(1).Visible = True
XL.Range("a1").Select
Set oRange = XL.Range(XL.Rows("A1"), XL.Rows("VI65000"))
oRange.Select
XL.Cells.Select
XL.Cells.EntireColumn.AutoFit
XL.Range("A1").Select
XL.Sheets.Add
XL.ActiveSheet.Name = "Liste_Finale"
XL.Sheets("Query_Px_Avant_Veille_1").Select
'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
"Michel__D" a écrit dans le
message de news:Bon allez, dernier indice, regarde le type de variable !
Avec Set OFeuil = XL.Cells ' => XL doit être un objet application,
aprés
' ceci je ne vois pas ce que je peux faire de plus et j'ai testé le
code
' il n'y a pas de problème.
PS:Au cas ou pour connaître le type de variable :
msgbox typename(XL)
Michel a écrit :avant de repondre ca, on test !!!!
Mais bon.... De tout de facon ca fait plus d'une semaine que je suis
sur un fil et il n'y a pas de reelle reponse, donc laisse tomber....
Merci quand meme, mais il ne faut pas... Non je ne dirais rien ca
n'en vaut pas le coup.....
@+
Michel.
"Michel__D" a écrit dans le
message de news:On peut pas dire que tu teste/cherche beaucoup pour quelqu'un qui
maîtrise
sous Excel, je crains pour la suite ...
Set oFeuil = XL.Cells
oFeuil.Select
Michel a écrit :Heu....
Viens d'essayer et ca ne marche pas o:(
Je voudrais utiliser : cells.select
Selon toi :
Set oRange = XL.Range(XL.Rows(y1),XL.Rows(y2))
oRange.Select
y1 et y2, rassure moi : je peux mettre A1 et IV65536 ?
ou non ?
Si oui, ca ne marche pas, sinon pourrais tu m'aider a remplir les
???
D'avance merci.
"Michel__D" a écrit dans le
message de news:Re,
Bon ok, il y a quelques subtilités :
Pour une cellule :
Set oCell = XL.Cells(x,y)
oCell.Select
ou pour une plage par exemple :
Set oRange = XL.Range(XL.Rows(y1),XL.Rows(y2))
oRange.Select
Michel a écrit :Bonjour,
oui je sais mais je maitrise sous excel, je n'ai pas besoin de
passer par un enregistreur... :o)
Et quand bien meme ca ne marche pas.
Voir le fil sous excel.
Je pense que la fonction : Cells.Select
n'est pas trop complique.
meme XL.Cells.Select ne marche pas
ou application devant, bref je ne sais pas quoi faire.
c'est plutot pourquoi ca ca marche :
XL.Sheets.Add
XL.ActiveSheet.Name = "Liste_Finale"
mais pas la selection, je ne trouve pas ca logique.
Merci quand meme,
@+
Michel.
"Michel__D" a écrit dans le
message de news:Bonjour,
Michel a écrit :Bonjour,
ca marche, mais....
Je peux creer une feuille et la renommer et selectionner une
autre feuille, par contre je n'arrive pas a selectionner des
cellules faire une copie et un coller dans la nouvelle feuille
:o(
Une idee ?
merci d'avance
Michel.
Quand on a du mal à trouver, on peut sous Excel enregistrer le
déroulement
dans une macro, cela donne quelques bases pour avancer, sachant
que sous
Access il faudra explicitement se servir de l'objet Excel créé.
Bonjour,
Sincérement je suis content que tu es réussi, bien que tu me raconte dez
mensonges par rapport à ton code pour le cas ou Excel n'est pas ouvert !
Cordialement.
Michel a écrit :
Salut,
Merci de la reponse mais je viens de trouver pourquoi ca ne marchait pas,
rien a voir avec ce que tu dis, mais qui est vraiment tres bete...
Il y a 2 fois Set XL... 1ere fois application excel (qui est bon) et le
deuxieme le nom du fichier (pas bon) donc XL perd la reference de l'appli
excel...
donc tous les XL.blabla ne pointe pas vers excel....
Et voila....
Merci quand meme de ton aide meme si tu me prend pour ce que je ne suis
pas :o)
@+
Michel.
"Michel__D" <Michel.NOSPAM@orange-ft.com.invalid> a écrit dans le message
de news: eoNFfBSxJHA.1236@TK2MSFTNGP02.phx.gbl...
Quand je disais que je craignais pour la suite, voici mes remarques :
1) L'aide doit être consultée quand on a un problème; vu qu'ici c'est un
problème avec le VBA Excel, il faut consulter l'aide correspondante et
moi
je lis que la propriété Cells s'applique aux objets :
Application, Range, WorkSheet
2) Tu as vu ou tu positionné le msgbox typename(XL), juste avant la
ligne
XL.Application.Visible = True
Je pensais que cela ferais tilt, mais bon; donc tu as plusieurs
possibilités
Soit utiliser l'objet Application :
Set oXL = XL.Application
Set oFeuil = oXL.Cells
oFeuil.Select
Ou soit utiliser l'objet Worksheet :
Set oXL = XL.ActiveSheet
Set oFeuil = oXL.Cells
oFeuil.Select
Michel a écrit :
ben le msgbox est : Workbook
et voila mon code en entier :
mais ca ne marche pas plus et je ne comprend plus rien donc voila un
projet qui est mort, car j'en ai marre de lire entre les lignes, ce
n'ai pas pour toi mais c'est un tout, ca fait plus d'une semaine que je
cherche pour une pauvre selection cells.select et un copy paste
special.value.... Je n'arrive pas a comprendre pourquoi tout le reste
du code marche mais pas ca....
et voila :
Public Sub OpenExcel()
Dim fichier As String
Dim XX As String
XX = "Z:BOULOTExtract_Prix_D-2_MF.xls"
fichier = Split(XX, "")(UBound(Split(XX, "")))
On Error Resume Next
'Si ouvert
Set wk = XL.Workbooks(fichier)
If Err <> 0 Then
Err.Clear
'si pas ouvert
Set wk = XL.Workbooks(XX)
End If
'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")
MsgBox TypeName(XL)
XL.Application.Visible = True
XL.Parent.Windows(1).Visible = True
XL.Range("a1").Select
Set oRange = XL.Range(XL.Rows("A1"), XL.Rows("VI65000"))
oRange.Select
XL.Cells.Select
XL.Cells.EntireColumn.AutoFit
XL.Range("A1").Select
XL.Sheets.Add
XL.ActiveSheet.Name = "Liste_Finale"
XL.Sheets("Query_Px_Avant_Veille_1").Select
'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
"Michel__D" <Michel.NOSPAM@orange-ft.com.invalid> a écrit dans le
message de news: uAyPFvRxJHA.3504@TK2MSFTNGP03.phx.gbl...
Bon allez, dernier indice, regarde le type de variable !
Avec Set OFeuil = XL.Cells ' => XL doit être un objet application,
aprés
' ceci je ne vois pas ce que je peux faire de plus et j'ai testé le
code
' il n'y a pas de problème.
PS:Au cas ou pour connaître le type de variable :
msgbox typename(XL)
Michel a écrit :
avant de repondre ca, on test !!!!
Mais bon.... De tout de facon ca fait plus d'une semaine que je suis
sur un fil et il n'y a pas de reelle reponse, donc laisse tomber....
Merci quand meme, mais il ne faut pas... Non je ne dirais rien ca
n'en vaut pas le coup.....
@+
Michel.
"Michel__D" <Michel.NOSPAM@orange-ft.com.invalid> a écrit dans le
message de news: ui4GWZRxJHA.1236@TK2MSFTNGP02.phx.gbl...
On peut pas dire que tu teste/cherche beaucoup pour quelqu'un qui
maîtrise
sous Excel, je crains pour la suite ...
Set oFeuil = XL.Cells
oFeuil.Select
Michel a écrit :
Heu....
Viens d'essayer et ca ne marche pas o:(
Je voudrais utiliser : cells.select
Selon toi :
Set oRange = XL.Range(XL.Rows(y1),XL.Rows(y2))
oRange.Select
y1 et y2, rassure moi : je peux mettre A1 et IV65536 ?
ou non ?
Si oui, ca ne marche pas, sinon pourrais tu m'aider a remplir les
???
D'avance merci.
"Michel__D" <Michel.NOSPAM@orange-ft.com.invalid> a écrit dans le
message de news: ejhiXbQxJHA.1212@TK2MSFTNGP04.phx.gbl...
Re,
Bon ok, il y a quelques subtilités :
Pour une cellule :
Set oCell = XL.Cells(x,y)
oCell.Select
ou pour une plage par exemple :
Set oRange = XL.Range(XL.Rows(y1),XL.Rows(y2))
oRange.Select
Michel a écrit :
Bonjour,
oui je sais mais je maitrise sous excel, je n'ai pas besoin de
passer par un enregistreur... :o)
Et quand bien meme ca ne marche pas.
Voir le fil sous excel.
Je pense que la fonction : Cells.Select
n'est pas trop complique.
meme XL.Cells.Select ne marche pas
ou application devant, bref je ne sais pas quoi faire.
c'est plutot pourquoi ca ca marche :
XL.Sheets.Add
XL.ActiveSheet.Name = "Liste_Finale"
mais pas la selection, je ne trouve pas ca logique.
Merci quand meme,
@+
Michel.
"Michel__D" <Michel.NOSPAM@orange-ft.com.invalid> a écrit dans le
message de news: O3DuNEQxJHA.1504@TK2MSFTNGP03.phx.gbl...
Bonjour,
Michel a écrit :
Bonjour,
ca marche, mais....
Je peux creer une feuille et la renommer et selectionner une
autre feuille, par contre je n'arrive pas a selectionner des
cellules faire une copie et un coller dans la nouvelle feuille
:o(
Une idee ?
merci d'avance
Michel.
Quand on a du mal à trouver, on peut sous Excel enregistrer le
déroulement
dans une macro, cela donne quelques bases pour avancer, sachant
que sous
Access il faudra explicitement se servir de l'objet Excel créé.
Bonjour,
Sincérement je suis content que tu es réussi, bien que tu me raconte dez
mensonges par rapport à ton code pour le cas ou Excel n'est pas ouvert !
Cordialement.
Michel a écrit :Salut,
Merci de la reponse mais je viens de trouver pourquoi ca ne marchait pas,
rien a voir avec ce que tu dis, mais qui est vraiment tres bete...
Il y a 2 fois Set XL... 1ere fois application excel (qui est bon) et le
deuxieme le nom du fichier (pas bon) donc XL perd la reference de l'appli
excel...
donc tous les XL.blabla ne pointe pas vers excel....
Et voila....
Merci quand meme de ton aide meme si tu me prend pour ce que je ne suis
pas :o)
@+
Michel.
"Michel__D" a écrit dans le message
de news:Quand je disais que je craignais pour la suite, voici mes remarques :
1) L'aide doit être consultée quand on a un problème; vu qu'ici c'est un
problème avec le VBA Excel, il faut consulter l'aide correspondante et
moi
je lis que la propriété Cells s'applique aux objets :
Application, Range, WorkSheet
2) Tu as vu ou tu positionné le msgbox typename(XL), juste avant la
ligne
XL.Application.Visible = True
Je pensais que cela ferais tilt, mais bon; donc tu as plusieurs
possibilités
Soit utiliser l'objet Application :
Set oXL = XL.Application
Set oFeuil = oXL.Cells
oFeuil.Select
Ou soit utiliser l'objet Worksheet :
Set oXL = XL.ActiveSheet
Set oFeuil = oXL.Cells
oFeuil.Select
Michel a écrit :ben le msgbox est : Workbook
et voila mon code en entier :
mais ca ne marche pas plus et je ne comprend plus rien donc voila un
projet qui est mort, car j'en ai marre de lire entre les lignes, ce
n'ai pas pour toi mais c'est un tout, ca fait plus d'une semaine que je
cherche pour une pauvre selection cells.select et un copy paste
special.value.... Je n'arrive pas a comprendre pourquoi tout le reste
du code marche mais pas ca....
et voila :
Public Sub OpenExcel()
Dim fichier As String
Dim XX As String
XX = "Z:BOULOTExtract_Prix_D-2_MF.xls"
fichier = Split(XX, "")(UBound(Split(XX, "")))
On Error Resume Next
'Si ouvert
Set wk = XL.Workbooks(fichier)
If Err <> 0 Then
Err.Clear
'si pas ouvert
Set wk = XL.Workbooks(XX)
End If
'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")
MsgBox TypeName(XL)
XL.Application.Visible = True
XL.Parent.Windows(1).Visible = True
XL.Range("a1").Select
Set oRange = XL.Range(XL.Rows("A1"), XL.Rows("VI65000"))
oRange.Select
XL.Cells.Select
XL.Cells.EntireColumn.AutoFit
XL.Range("A1").Select
XL.Sheets.Add
XL.ActiveSheet.Name = "Liste_Finale"
XL.Sheets("Query_Px_Avant_Veille_1").Select
'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
"Michel__D" a écrit dans le
message de news:Bon allez, dernier indice, regarde le type de variable !
Avec Set OFeuil = XL.Cells ' => XL doit être un objet application,
aprés
' ceci je ne vois pas ce que je peux faire de plus et j'ai testé le
code
' il n'y a pas de problème.
PS:Au cas ou pour connaître le type de variable :
msgbox typename(XL)
Michel a écrit :avant de repondre ca, on test !!!!
Mais bon.... De tout de facon ca fait plus d'une semaine que je suis
sur un fil et il n'y a pas de reelle reponse, donc laisse tomber....
Merci quand meme, mais il ne faut pas... Non je ne dirais rien ca
n'en vaut pas le coup.....
@+
Michel.
"Michel__D" a écrit dans le
message de news:On peut pas dire que tu teste/cherche beaucoup pour quelqu'un qui
maîtrise
sous Excel, je crains pour la suite ...
Set oFeuil = XL.Cells
oFeuil.Select
Michel a écrit :Heu....
Viens d'essayer et ca ne marche pas o:(
Je voudrais utiliser : cells.select
Selon toi :
Set oRange = XL.Range(XL.Rows(y1),XL.Rows(y2))
oRange.Select
y1 et y2, rassure moi : je peux mettre A1 et IV65536 ?
ou non ?
Si oui, ca ne marche pas, sinon pourrais tu m'aider a remplir les
???
D'avance merci.
"Michel__D" a écrit dans le
message de news:Re,
Bon ok, il y a quelques subtilités :
Pour une cellule :
Set oCell = XL.Cells(x,y)
oCell.Select
ou pour une plage par exemple :
Set oRange = XL.Range(XL.Rows(y1),XL.Rows(y2))
oRange.Select
Michel a écrit :Bonjour,
oui je sais mais je maitrise sous excel, je n'ai pas besoin de
passer par un enregistreur... :o)
Et quand bien meme ca ne marche pas.
Voir le fil sous excel.
Je pense que la fonction : Cells.Select
n'est pas trop complique.
meme XL.Cells.Select ne marche pas
ou application devant, bref je ne sais pas quoi faire.
c'est plutot pourquoi ca ca marche :
XL.Sheets.Add
XL.ActiveSheet.Name = "Liste_Finale"
mais pas la selection, je ne trouve pas ca logique.
Merci quand meme,
@+
Michel.
"Michel__D" a écrit dans le
message de news:Bonjour,
Michel a écrit :Bonjour,
ca marche, mais....
Je peux creer une feuille et la renommer et selectionner une
autre feuille, par contre je n'arrive pas a selectionner des
cellules faire une copie et un coller dans la nouvelle feuille
:o(
Une idee ?
merci d'avance
Michel.
Quand on a du mal à trouver, on peut sous Excel enregistrer le
déroulement
dans une macro, cela donne quelques bases pour avancer, sachant
que sous
Access il faudra explicitement se servir de l'objet Excel créé.
Si c'est pour me traiter de menteur, tu pourras a l'avenir te passer de
m'aider ou alors de tes commentaires assez desobligants !!!!!
Si c'est pour me traiter de menteur, tu pourras a l'avenir te passer de
m'aider ou alors de tes commentaires assez desobligants !!!!!
Si c'est pour me traiter de menteur, tu pourras a l'avenir te passer de
m'aider ou alors de tes commentaires assez desobligants !!!!!