j'ai ci-dessous un code pour aller lire un classeur fermé.
sur la ligne : Set classeur_a_lire = GetObject(chemin & "\text.xls")
il me donne une erreur "Fichier ou classe introuvable" , mon fichier existe
bin au bon endroit.
cela viendrait de la classe. que faire ?
Sub lecture()
Dim classeur_a_lire As Workbook
Dim info(1 To 4, 1 To 2), x As Byte, y As Byte, chemin As String
chemin = ThisWorkbook.Path
Set classeur_a_lire = GetObject(chemin & "\text.xls")
For x = 1 To 4
For y = 1 To 2
info(x, y) = classeur_a_lire.Sheets(1).Cells(x, y)
Next y
Next x
MsgBox "lecture terminée"
For x = 1 To 4
MsgBox info(x, 1) & " " & info(x, 2)
Next x
End Sub
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daniel
Bonjour. Ici, tes instructions s'exécutent bien. Es-tu sûr du chemin ? Ton classeur est-il enregistré ? Cordialement. Daniel "Jean" a écrit dans le message de news: 441be757$0$6686$
Bonjour,
j'ai ci-dessous un code pour aller lire un classeur fermé. sur la ligne : Set classeur_a_lire = GetObject(chemin & "text.xls") il me donne une erreur "Fichier ou classe introuvable" , mon fichier existe bin au bon endroit. cela viendrait de la classe. que faire ?
Sub lecture() Dim classeur_a_lire As Workbook Dim info(1 To 4, 1 To 2), x As Byte, y As Byte, chemin As String chemin = ThisWorkbook.Path Set classeur_a_lire = GetObject(chemin & "text.xls") For x = 1 To 4 For y = 1 To 2 info(x, y) = classeur_a_lire.Sheets(1).Cells(x, y) Next y Next x MsgBox "lecture terminée" For x = 1 To 4 MsgBox info(x, 1) & " " & info(x, 2) Next x End Sub
Merci d'avance
Jean
Bonjour.
Ici, tes instructions s'exécutent bien. Es-tu sûr du chemin ? Ton classeur
est-il enregistré ?
Cordialement.
Daniel
"Jean" <jj@free.fr> a écrit dans le message de news:
441be757$0$6686$8fcfb975@news.wanadoo.fr...
Bonjour,
j'ai ci-dessous un code pour aller lire un classeur fermé.
sur la ligne : Set classeur_a_lire = GetObject(chemin & "text.xls")
il me donne une erreur "Fichier ou classe introuvable" , mon fichier
existe bin au bon endroit.
cela viendrait de la classe. que faire ?
Sub lecture()
Dim classeur_a_lire As Workbook
Dim info(1 To 4, 1 To 2), x As Byte, y As Byte, chemin As String
chemin = ThisWorkbook.Path
Set classeur_a_lire = GetObject(chemin & "text.xls")
For x = 1 To 4
For y = 1 To 2
info(x, y) = classeur_a_lire.Sheets(1).Cells(x, y)
Next y
Next x
MsgBox "lecture terminée"
For x = 1 To 4
MsgBox info(x, 1) & " " & info(x, 2)
Next x
End Sub
Bonjour. Ici, tes instructions s'exécutent bien. Es-tu sûr du chemin ? Ton classeur est-il enregistré ? Cordialement. Daniel "Jean" a écrit dans le message de news: 441be757$0$6686$
Bonjour,
j'ai ci-dessous un code pour aller lire un classeur fermé. sur la ligne : Set classeur_a_lire = GetObject(chemin & "text.xls") il me donne une erreur "Fichier ou classe introuvable" , mon fichier existe bin au bon endroit. cela viendrait de la classe. que faire ?
Sub lecture() Dim classeur_a_lire As Workbook Dim info(1 To 4, 1 To 2), x As Byte, y As Byte, chemin As String chemin = ThisWorkbook.Path Set classeur_a_lire = GetObject(chemin & "text.xls") For x = 1 To 4 For y = 1 To 2 info(x, y) = classeur_a_lire.Sheets(1).Cells(x, y) Next y Next x MsgBox "lecture terminée" For x = 1 To 4 MsgBox info(x, 1) & " " & info(x, 2) Next x End Sub
Merci d'avance
Jean
Michel Pierron
Bonjour Jean; Est-tu sur que le classeur qui comporte cette macro a été préalablement enregistré ? Sinon, la variable chemin est vide !
MP
"Jean" a écrit dans le message de news: 441be757$0$6686$
Bonjour,
j'ai ci-dessous un code pour aller lire un classeur fermé. sur la ligne : Set classeur_a_lire = GetObject(chemin & "text.xls") il me donne une erreur "Fichier ou classe introuvable" , mon fichier existe bin au bon endroit. cela viendrait de la classe. que faire ?
Sub lecture() Dim classeur_a_lire As Workbook Dim info(1 To 4, 1 To 2), x As Byte, y As Byte, chemin As String chemin = ThisWorkbook.Path Set classeur_a_lire = GetObject(chemin & "text.xls") For x = 1 To 4 For y = 1 To 2 info(x, y) = classeur_a_lire.Sheets(1).Cells(x, y) Next y Next x MsgBox "lecture terminée" For x = 1 To 4 MsgBox info(x, 1) & " " & info(x, 2) Next x End Sub
Merci d'avance
Jean
Bonjour Jean;
Est-tu sur que le classeur qui comporte cette macro a été préalablement
enregistré ?
Sinon, la variable chemin est vide !
MP
"Jean" <jj@free.fr> a écrit dans le message de news:
441be757$0$6686$8fcfb975@news.wanadoo.fr...
Bonjour,
j'ai ci-dessous un code pour aller lire un classeur fermé.
sur la ligne : Set classeur_a_lire = GetObject(chemin & "text.xls")
il me donne une erreur "Fichier ou classe introuvable" , mon fichier
existe bin au bon endroit.
cela viendrait de la classe. que faire ?
Sub lecture()
Dim classeur_a_lire As Workbook
Dim info(1 To 4, 1 To 2), x As Byte, y As Byte, chemin As String
chemin = ThisWorkbook.Path
Set classeur_a_lire = GetObject(chemin & "text.xls")
For x = 1 To 4
For y = 1 To 2
info(x, y) = classeur_a_lire.Sheets(1).Cells(x, y)
Next y
Next x
MsgBox "lecture terminée"
For x = 1 To 4
MsgBox info(x, 1) & " " & info(x, 2)
Next x
End Sub
Bonjour Jean; Est-tu sur que le classeur qui comporte cette macro a été préalablement enregistré ? Sinon, la variable chemin est vide !
MP
"Jean" a écrit dans le message de news: 441be757$0$6686$
Bonjour,
j'ai ci-dessous un code pour aller lire un classeur fermé. sur la ligne : Set classeur_a_lire = GetObject(chemin & "text.xls") il me donne une erreur "Fichier ou classe introuvable" , mon fichier existe bin au bon endroit. cela viendrait de la classe. que faire ?
Sub lecture() Dim classeur_a_lire As Workbook Dim info(1 To 4, 1 To 2), x As Byte, y As Byte, chemin As String chemin = ThisWorkbook.Path Set classeur_a_lire = GetObject(chemin & "text.xls") For x = 1 To 4 For y = 1 To 2 info(x, y) = classeur_a_lire.Sheets(1).Cells(x, y) Next y Next x MsgBox "lecture terminée" For x = 1 To 4 MsgBox info(x, 1) & " " & info(x, 2) Next x End Sub
Merci d'avance
Jean
Michel Pierron
Oups; j'avions point vu la réponse de Daniel.
MP
"Jean" a écrit dans le message de news: 441be757$0$6686$
Bonjour,
j'ai ci-dessous un code pour aller lire un classeur fermé. sur la ligne : Set classeur_a_lire = GetObject(chemin & "text.xls") il me donne une erreur "Fichier ou classe introuvable" , mon fichier existe bin au bon endroit. cela viendrait de la classe. que faire ?
Sub lecture() Dim classeur_a_lire As Workbook Dim info(1 To 4, 1 To 2), x As Byte, y As Byte, chemin As String chemin = ThisWorkbook.Path Set classeur_a_lire = GetObject(chemin & "text.xls") For x = 1 To 4 For y = 1 To 2 info(x, y) = classeur_a_lire.Sheets(1).Cells(x, y) Next y Next x MsgBox "lecture terminée" For x = 1 To 4 MsgBox info(x, 1) & " " & info(x, 2) Next x End Sub
Merci d'avance
Jean
Oups; j'avions point vu la réponse de Daniel.
MP
"Jean" <jj@free.fr> a écrit dans le message de news:
441be757$0$6686$8fcfb975@news.wanadoo.fr...
Bonjour,
j'ai ci-dessous un code pour aller lire un classeur fermé.
sur la ligne : Set classeur_a_lire = GetObject(chemin & "text.xls")
il me donne une erreur "Fichier ou classe introuvable" , mon fichier
existe bin au bon endroit.
cela viendrait de la classe. que faire ?
Sub lecture()
Dim classeur_a_lire As Workbook
Dim info(1 To 4, 1 To 2), x As Byte, y As Byte, chemin As String
chemin = ThisWorkbook.Path
Set classeur_a_lire = GetObject(chemin & "text.xls")
For x = 1 To 4
For y = 1 To 2
info(x, y) = classeur_a_lire.Sheets(1).Cells(x, y)
Next y
Next x
MsgBox "lecture terminée"
For x = 1 To 4
MsgBox info(x, 1) & " " & info(x, 2)
Next x
End Sub
"Jean" a écrit dans le message de news: 441be757$0$6686$
Bonjour,
j'ai ci-dessous un code pour aller lire un classeur fermé. sur la ligne : Set classeur_a_lire = GetObject(chemin & "text.xls") il me donne une erreur "Fichier ou classe introuvable" , mon fichier existe bin au bon endroit. cela viendrait de la classe. que faire ?
Sub lecture() Dim classeur_a_lire As Workbook Dim info(1 To 4, 1 To 2), x As Byte, y As Byte, chemin As String chemin = ThisWorkbook.Path Set classeur_a_lire = GetObject(chemin & "text.xls") For x = 1 To 4 For y = 1 To 2 info(x, y) = classeur_a_lire.Sheets(1).Cells(x, y) Next y Next x MsgBox "lecture terminée" For x = 1 To 4 MsgBox info(x, 1) & " " & info(x, 2) Next x End Sub
Merci d'avance
Jean
JB
Il ne faut pas oublier de fermer le fichier text.xls (masqué)
Windows("text.xls").Close
JB
Il ne faut pas oublier de fermer le fichier text.xls (masqué)
Il ne faut pas oublier de fermer le fichier text.xls (masqué)
Windows("text.xls").Close
JB
michdenis
Bonjour Jean,
| j'ai ci-dessous un code pour aller lire un classeur fermé.
Je crois que cet énoncé outrepasse la réalité :
A ) Le classeur s'ouvre bien... B ) Si tu as des événements définis dans le ThisWorkbook comme par exemple ... Workbook_Open ... ils s'exécuteront C ) Cette façon de procéder est pernicieuse car l'interface "Feuille de calcul" étant masqué l'usager à l'IMPRESSION que le classeur n'est pas ouvert et pourtant si tu regardes dans la fenêtre des projets VBA, tu verras bien ce dernier ouvert ...En conséquence si après une première exécution du code tu ne fermes pas le classeur masqué.... ta procédure va ouvrir plusieurs fois le même fichier et les conséquences qui en découle. Pour fermer ce fichier, il faut utiliser la même ligne de code qu'un fichier ouvert normalementr. Workbooks("NomDuFichier.xls").close True or False selon que tu veuilles sauvegarder les modifications ou non, le cas échéant.
D ) Voici une procédure de John Walkenbach pour un classeur fermé :
'----------------------- Sub test() A = GetValue("C:", "classeur1.xls", "Feuil1", "A1") End Sub '-----------------------
Public Function GetValue(ByVal path, ByVal file, _ ByVal sheet, ByVal ref) As Variant
' Macro XL4 Merci à John Walkenbach ' ============================= ' Retrieves a value from a closed workbook
Dim Arg As String
' Make sure the file exists If Right(path, 1) <> "" Then path = path & "" If Dir(path & file) = "" Then GetValue = "File Not Found" Exit Function End If
' Execute an XLM macro GetValue = Application.ExecuteExcel4Macro(Arg) DoEvents
End Function '-----------------------
IL y a une autre façon de faire ;
'------------------------------ Sub test() GetValuesFromAClosedWorkbook "C:", "classeur1.xls", "Feuil1", "A1:H25" End Sub '------------------------------
Sub GetValuesFromAClosedWorkbook(fPath As String, _ fName As String, sName, cellRange As String) 'Ron De Bruin, mpep
With ActiveSheet.Range(cellRange) .Formula = "='" & fPath & "[" & fName & "]" _ & sName & "'!" & cellRange .Value = .Value End With End Sub '----------------------------------
IL est toujours possible de le faire aussi en utilisant ADO (activex data object)
Salutations!
"Jean" a écrit dans le message de news: 441be757$0$6686$ Bonjour,
j'ai ci-dessous un code pour aller lire un classeur fermé. sur la ligne : Set classeur_a_lire = GetObject(chemin & "text.xls") il me donne une erreur "Fichier ou classe introuvable" , mon fichier existe bin au bon endroit. cela viendrait de la classe. que faire ?
Sub lecture() Dim classeur_a_lire As Workbook Dim info(1 To 4, 1 To 2), x As Byte, y As Byte, chemin As String chemin = ThisWorkbook.Path Set classeur_a_lire = GetObject(chemin & "text.xls") For x = 1 To 4 For y = 1 To 2 info(x, y) = classeur_a_lire.Sheets(1).Cells(x, y) Next y Next x MsgBox "lecture terminée" For x = 1 To 4 MsgBox info(x, 1) & " " & info(x, 2) Next x End Sub
Merci d'avance
Jean
Bonjour Jean,
| j'ai ci-dessous un code pour aller lire un classeur fermé.
Je crois que cet énoncé outrepasse la réalité :
A ) Le classeur s'ouvre bien...
B ) Si tu as des événements définis dans le ThisWorkbook comme
par exemple ... Workbook_Open ... ils s'exécuteront
C ) Cette façon de procéder est pernicieuse car l'interface "Feuille de calcul"
étant masqué l'usager à l'IMPRESSION que le classeur n'est pas ouvert et
pourtant si tu regardes dans la fenêtre des projets VBA, tu verras bien ce
dernier ouvert ...En conséquence si après une première exécution du code
tu ne fermes pas le classeur masqué.... ta procédure va ouvrir plusieurs fois
le même fichier et les conséquences qui en découle. Pour fermer ce fichier,
il faut utiliser la même ligne de code qu'un fichier ouvert normalementr.
Workbooks("NomDuFichier.xls").close True or False selon que tu veuilles
sauvegarder les modifications ou non, le cas échéant.
D ) Voici une procédure de John Walkenbach pour un classeur fermé :
'-----------------------
Sub test()
A = GetValue("C:", "classeur1.xls", "Feuil1", "A1")
End Sub
'-----------------------
Public Function GetValue(ByVal path, ByVal file, _
ByVal sheet, ByVal ref) As Variant
' Macro XL4 Merci à John Walkenbach
' ============================= ' Retrieves a value from a closed workbook
Dim Arg As String
' Make sure the file exists
If Right(path, 1) <> "" Then path = path & ""
If Dir(path & file) = "" Then
GetValue = "File Not Found"
Exit Function
End If
' Execute an XLM macro
GetValue = Application.ExecuteExcel4Macro(Arg)
DoEvents
End Function
'-----------------------
IL y a une autre façon de faire ;
'------------------------------
Sub test()
GetValuesFromAClosedWorkbook "C:", "classeur1.xls", "Feuil1", "A1:H25"
End Sub
'------------------------------
Sub GetValuesFromAClosedWorkbook(fPath As String, _
fName As String, sName, cellRange As String)
'Ron De Bruin, mpep
With ActiveSheet.Range(cellRange)
.Formula = "='" & fPath & "[" & fName & "]" _
& sName & "'!" & cellRange
.Value = .Value
End With
End Sub
'----------------------------------
IL est toujours possible de le faire aussi en utilisant ADO (activex data object)
Salutations!
"Jean" <jj@free.fr> a écrit dans le message de news: 441be757$0$6686$8fcfb975@news.wanadoo.fr...
Bonjour,
j'ai ci-dessous un code pour aller lire un classeur fermé.
sur la ligne : Set classeur_a_lire = GetObject(chemin & "text.xls")
il me donne une erreur "Fichier ou classe introuvable" , mon fichier existe
bin au bon endroit.
cela viendrait de la classe. que faire ?
Sub lecture()
Dim classeur_a_lire As Workbook
Dim info(1 To 4, 1 To 2), x As Byte, y As Byte, chemin As String
chemin = ThisWorkbook.Path
Set classeur_a_lire = GetObject(chemin & "text.xls")
For x = 1 To 4
For y = 1 To 2
info(x, y) = classeur_a_lire.Sheets(1).Cells(x, y)
Next y
Next x
MsgBox "lecture terminée"
For x = 1 To 4
MsgBox info(x, 1) & " " & info(x, 2)
Next x
End Sub
| j'ai ci-dessous un code pour aller lire un classeur fermé.
Je crois que cet énoncé outrepasse la réalité :
A ) Le classeur s'ouvre bien... B ) Si tu as des événements définis dans le ThisWorkbook comme par exemple ... Workbook_Open ... ils s'exécuteront C ) Cette façon de procéder est pernicieuse car l'interface "Feuille de calcul" étant masqué l'usager à l'IMPRESSION que le classeur n'est pas ouvert et pourtant si tu regardes dans la fenêtre des projets VBA, tu verras bien ce dernier ouvert ...En conséquence si après une première exécution du code tu ne fermes pas le classeur masqué.... ta procédure va ouvrir plusieurs fois le même fichier et les conséquences qui en découle. Pour fermer ce fichier, il faut utiliser la même ligne de code qu'un fichier ouvert normalementr. Workbooks("NomDuFichier.xls").close True or False selon que tu veuilles sauvegarder les modifications ou non, le cas échéant.
D ) Voici une procédure de John Walkenbach pour un classeur fermé :
'----------------------- Sub test() A = GetValue("C:", "classeur1.xls", "Feuil1", "A1") End Sub '-----------------------
Public Function GetValue(ByVal path, ByVal file, _ ByVal sheet, ByVal ref) As Variant
' Macro XL4 Merci à John Walkenbach ' ============================= ' Retrieves a value from a closed workbook
Dim Arg As String
' Make sure the file exists If Right(path, 1) <> "" Then path = path & "" If Dir(path & file) = "" Then GetValue = "File Not Found" Exit Function End If
' Execute an XLM macro GetValue = Application.ExecuteExcel4Macro(Arg) DoEvents
End Function '-----------------------
IL y a une autre façon de faire ;
'------------------------------ Sub test() GetValuesFromAClosedWorkbook "C:", "classeur1.xls", "Feuil1", "A1:H25" End Sub '------------------------------
Sub GetValuesFromAClosedWorkbook(fPath As String, _ fName As String, sName, cellRange As String) 'Ron De Bruin, mpep
With ActiveSheet.Range(cellRange) .Formula = "='" & fPath & "[" & fName & "]" _ & sName & "'!" & cellRange .Value = .Value End With End Sub '----------------------------------
IL est toujours possible de le faire aussi en utilisant ADO (activex data object)
Salutations!
"Jean" a écrit dans le message de news: 441be757$0$6686$ Bonjour,
j'ai ci-dessous un code pour aller lire un classeur fermé. sur la ligne : Set classeur_a_lire = GetObject(chemin & "text.xls") il me donne une erreur "Fichier ou classe introuvable" , mon fichier existe bin au bon endroit. cela viendrait de la classe. que faire ?
Sub lecture() Dim classeur_a_lire As Workbook Dim info(1 To 4, 1 To 2), x As Byte, y As Byte, chemin As String chemin = ThisWorkbook.Path Set classeur_a_lire = GetObject(chemin & "text.xls") For x = 1 To 4 For y = 1 To 2 info(x, y) = classeur_a_lire.Sheets(1).Cells(x, y) Next y Next x MsgBox "lecture terminée" For x = 1 To 4 MsgBox info(x, 1) & " " & info(x, 2) Next x End Sub