Est-il possible de lire 1 donnée dans 1 cellule d'1 fichier Excel à partir
du VBA d'un autre fichier Excel sans avoir à l'ouvrir ?
Exemple :
Je suis dans mon fichier Classeur1.xls.
Je clique sur 1 bouton qui doit lance 1 procédure dans VBA Excel.
Cette procédure doit regarder 1 valeur qui se trouve dans le fichier
Classeur2.xls.
A part ouvrir le classeur avec workbooks("classeur2.xls").open et
macellule=activesheet.cells(1,1) puis activeworkbook.close,
existe-t-il 1 autre méthode sans avoir à ouvrir le fichier, un peu comme
avec les liaisons dans 1 feuille ?
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
enirakenna
Bonjour,
pouvez-vous m'aidez ? je n'arrive pas à envoyer un nouveau message, la fenêtre message ne prend rien dans Publier dans un groupe de discussion (il n'y a pas de choix dans le menu proposé)
Merci
Bonjour,
pouvez-vous m'aidez ? je n'arrive pas à envoyer un nouveau message,
la fenêtre message ne prend rien dans Publier dans un groupe de discussion (il n'y a pas de choix dans le menu proposé)
pouvez-vous m'aidez ? je n'arrive pas à envoyer un nouveau message, la fenêtre message ne prend rien dans Publier dans un groupe de discussion (il n'y a pas de choix dans le menu proposé)
Merci
papou
Bonjour Stéphane Avec le code exemple ci-dessous (je ne suis pas sûr de l'auteur d'origine) Modifie le code en fonction de ce que tu veux. Cordialement Pascal Private Function GetValue(path, file, sheet, ref) As String 'path: The drive and path to the closed file (e.g., "d:files") 'file: The workbook name (e.g., "99budget.xls") 'sheet: The worksheet name (e.g., "Sheet1") 'ref: The cell reference (e.g., "C4")
Dim arg As String
On Error GoTo HandleErr '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 = ExecuteExcel4Macro(arg)
ExitHere: Exit Function
' Bloc de gestion d'erreurs ajouté par le complément de gestionnaire d'erreurs. NE PAS MODIFIER ce bloc de code. ' Dernière mise à jour du gestionnaire d'erreurs automatique le 10-24-2002 13:03:25 'Gestionnaire d'erreurs:$$D-24-2002 'Gestionnaire d'erreurs:$$T:03:25 HandleErr: Select Case Err.Number Case 13 MsgBox "La feuille " & sheet & " n'existe pas !" End Case Else MsgBox "Erreur " & Err.Number & ": " & Err.Description, vbCritical, "Module1.GetValue" 'Gestionnaire d'erreurs:$$N=Module1.GetValue End Select ' Fin du bloc du traitement d'erreurs. End Function
Sub TestGetValue()
Dim p As String Dim f As String Dim s As String Dim a As String
p = "D:Mes DocumentsPascalExcel" f = "Test.xls" s = "Feuil15" a = "A1"
MsgBox GetValue(p, f, s, a)
End Sub
"Stéphane L." a écrit dans le message de news:
Bonjour,
Est-il possible de lire 1 donnée dans 1 cellule d'1 fichier Excel à partir du VBA d'un autre fichier Excel sans avoir à l'ouvrir ?
Exemple : Je suis dans mon fichier Classeur1.xls. Je clique sur 1 bouton qui doit lance 1 procédure dans VBA Excel. Cette procédure doit regarder 1 valeur qui se trouve dans le fichier Classeur2.xls. A part ouvrir le classeur avec workbooks("classeur2.xls").open et macellule¬tivesheet.cells(1,1) puis activeworkbook.close, existe-t-il 1 autre méthode sans avoir à ouvrir le fichier, un peu comme avec les liaisons dans 1 feuille ?
-- Cordialement,
Stéphane L
Bonjour Stéphane
Avec le code exemple ci-dessous (je ne suis pas sûr de l'auteur d'origine)
Modifie le code en fonction de ce que tu veux.
Cordialement
Pascal
Private Function GetValue(path, file, sheet, ref) As String
'path: The drive and path to the closed file (e.g., "d:files")
'file: The workbook name (e.g., "99budget.xls")
'sheet: The worksheet name (e.g., "Sheet1")
'ref: The cell reference (e.g., "C4")
Dim arg As String
On Error GoTo HandleErr
'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 = ExecuteExcel4Macro(arg)
ExitHere:
Exit Function
' Bloc de gestion d'erreurs ajouté par le complément de gestionnaire
d'erreurs. NE PAS MODIFIER ce bloc de code.
' Dernière mise à jour du gestionnaire d'erreurs automatique le 10-24-2002
13:03:25 'Gestionnaire d'erreurs:$$D-24-2002 'Gestionnaire
d'erreurs:$$T:03:25
HandleErr:
Select Case Err.Number
Case 13
MsgBox "La feuille " & sheet & " n'existe pas !"
End
Case Else
MsgBox "Erreur " & Err.Number & ": " & Err.Description,
vbCritical, "Module1.GetValue" 'Gestionnaire d'erreurs:$$N=Module1.GetValue
End Select
' Fin du bloc du traitement d'erreurs.
End Function
Sub TestGetValue()
Dim p As String
Dim f As String
Dim s As String
Dim a As String
p = "D:Mes DocumentsPascalExcel"
f = "Test.xls"
s = "Feuil15"
a = "A1"
MsgBox GetValue(p, f, s, a)
End Sub
"Stéphane L." <no@spam.fr> a écrit dans le message de
news:e0eaaxrUEHA.3512@TK2MSFTNGP12.phx.gbl...
Bonjour,
Est-il possible de lire 1 donnée dans 1 cellule d'1 fichier Excel à partir
du VBA d'un autre fichier Excel sans avoir à l'ouvrir ?
Exemple :
Je suis dans mon fichier Classeur1.xls.
Je clique sur 1 bouton qui doit lance 1 procédure dans VBA Excel.
Cette procédure doit regarder 1 valeur qui se trouve dans le fichier
Classeur2.xls.
A part ouvrir le classeur avec workbooks("classeur2.xls").open et
macellule¬tivesheet.cells(1,1) puis activeworkbook.close,
existe-t-il 1 autre méthode sans avoir à ouvrir le fichier, un peu comme
avec les liaisons dans 1 feuille ?
Bonjour Stéphane Avec le code exemple ci-dessous (je ne suis pas sûr de l'auteur d'origine) Modifie le code en fonction de ce que tu veux. Cordialement Pascal Private Function GetValue(path, file, sheet, ref) As String 'path: The drive and path to the closed file (e.g., "d:files") 'file: The workbook name (e.g., "99budget.xls") 'sheet: The worksheet name (e.g., "Sheet1") 'ref: The cell reference (e.g., "C4")
Dim arg As String
On Error GoTo HandleErr '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 = ExecuteExcel4Macro(arg)
ExitHere: Exit Function
' Bloc de gestion d'erreurs ajouté par le complément de gestionnaire d'erreurs. NE PAS MODIFIER ce bloc de code. ' Dernière mise à jour du gestionnaire d'erreurs automatique le 10-24-2002 13:03:25 'Gestionnaire d'erreurs:$$D-24-2002 'Gestionnaire d'erreurs:$$T:03:25 HandleErr: Select Case Err.Number Case 13 MsgBox "La feuille " & sheet & " n'existe pas !" End Case Else MsgBox "Erreur " & Err.Number & ": " & Err.Description, vbCritical, "Module1.GetValue" 'Gestionnaire d'erreurs:$$N=Module1.GetValue End Select ' Fin du bloc du traitement d'erreurs. End Function
Sub TestGetValue()
Dim p As String Dim f As String Dim s As String Dim a As String
p = "D:Mes DocumentsPascalExcel" f = "Test.xls" s = "Feuil15" a = "A1"
MsgBox GetValue(p, f, s, a)
End Sub
"Stéphane L." a écrit dans le message de news:
Bonjour,
Est-il possible de lire 1 donnée dans 1 cellule d'1 fichier Excel à partir du VBA d'un autre fichier Excel sans avoir à l'ouvrir ?
Exemple : Je suis dans mon fichier Classeur1.xls. Je clique sur 1 bouton qui doit lance 1 procédure dans VBA Excel. Cette procédure doit regarder 1 valeur qui se trouve dans le fichier Classeur2.xls. A part ouvrir le classeur avec workbooks("classeur2.xls").open et macellule¬tivesheet.cells(1,1) puis activeworkbook.close, existe-t-il 1 autre méthode sans avoir à ouvrir le fichier, un peu comme avec les liaisons dans 1 feuille ?
-- Cordialement,
Stéphane L
michdenis
Bonjour Stéphane,
En supposant que tu ais donné un "NOM" (plage nommée) à ta cellule dans ton fichier fermé, tu pourrais utilisé ceci :
Denis.xls = Nom Du classeur denis = Nom attribué à la cellule.
"Stéphane L." a écrit dans le message de news: Bonjour,
Est-il possible de lire 1 donnée dans 1 cellule d'1 fichier Excel à partir du VBA d'un autre fichier Excel sans avoir à l'ouvrir ?
Exemple : Je suis dans mon fichier Classeur1.xls. Je clique sur 1 bouton qui doit lance 1 procédure dans VBA Excel. Cette procédure doit regarder 1 valeur qui se trouve dans le fichier Classeur2.xls. A part ouvrir le classeur avec workbooks("classeur2.xls").open et macellule¬tivesheet.cells(1,1) puis activeworkbook.close, existe-t-il 1 autre méthode sans avoir à ouvrir le fichier, un peu comme avec les liaisons dans 1 feuille ?
-- Cordialement,
Stéphane L
Bonjour Stéphane,
En supposant que tu ais donné un "NOM" (plage nommée) à ta cellule dans ton fichier fermé, tu pourrais utilisé ceci :
Denis.xls = Nom Du classeur
denis = Nom attribué à la cellule.
"Stéphane L." <no@spam.fr> a écrit dans le message de news:e0eaaxrUEHA.3512@TK2MSFTNGP12.phx.gbl...
Bonjour,
Est-il possible de lire 1 donnée dans 1 cellule d'1 fichier Excel à partir
du VBA d'un autre fichier Excel sans avoir à l'ouvrir ?
Exemple :
Je suis dans mon fichier Classeur1.xls.
Je clique sur 1 bouton qui doit lance 1 procédure dans VBA Excel.
Cette procédure doit regarder 1 valeur qui se trouve dans le fichier
Classeur2.xls.
A part ouvrir le classeur avec workbooks("classeur2.xls").open et
macellule¬tivesheet.cells(1,1) puis activeworkbook.close,
existe-t-il 1 autre méthode sans avoir à ouvrir le fichier, un peu comme
avec les liaisons dans 1 feuille ?
"Stéphane L." a écrit dans le message de news: Bonjour,
Est-il possible de lire 1 donnée dans 1 cellule d'1 fichier Excel à partir du VBA d'un autre fichier Excel sans avoir à l'ouvrir ?
Exemple : Je suis dans mon fichier Classeur1.xls. Je clique sur 1 bouton qui doit lance 1 procédure dans VBA Excel. Cette procédure doit regarder 1 valeur qui se trouve dans le fichier Classeur2.xls. A part ouvrir le classeur avec workbooks("classeur2.xls").open et macellule¬tivesheet.cells(1,1) puis activeworkbook.close, existe-t-il 1 autre méthode sans avoir à ouvrir le fichier, un peu comme avec les liaisons dans 1 feuille ?
-- Cordialement,
Stéphane L
Stéphane L.
Merci Denis
"michdenis" a écrit dans le message de news:%
Bonjour Stéphane,
En supposant que tu ais donné un "NOM" (plage nommée) à ta cellule dans ton fichier fermé, tu pourrais utilisé ceci :
Denis.xls = Nom Du classeur denis = Nom attribué à la cellule.
Est-il possible de lire 1 donnée dans 1 cellule d'1 fichier Excel à partir du VBA d'un autre fichier Excel sans avoir à l'ouvrir ?
Exemple : Je suis dans mon fichier Classeur1.xls. Je clique sur 1 bouton qui doit lance 1 procédure dans VBA Excel. Cette procédure doit regarder 1 valeur qui se trouve dans le fichier Classeur2.xls. A part ouvrir le classeur avec workbooks("classeur2.xls").open et macellule¬tivesheet.cells(1,1) puis activeworkbook.close, existe-t-il 1 autre méthode sans avoir à ouvrir le fichier, un peu comme avec les liaisons dans 1 feuille ?
-- Cordialement,
Stéphane L
Merci Denis
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:%23Z0dmysUEHA.3596@tk2msftngp13.phx.gbl...
Bonjour Stéphane,
En supposant que tu ais donné un "NOM" (plage nommée) à ta cellule dans
ton fichier fermé, tu pourrais utilisé ceci :
Denis.xls = Nom Du classeur
denis = Nom attribué à la cellule.
"Stéphane L." <no@spam.fr> a écrit dans le message de
news:e0eaaxrUEHA.3512@TK2MSFTNGP12.phx.gbl...
Bonjour,
Est-il possible de lire 1 donnée dans 1 cellule d'1 fichier Excel à partir
du VBA d'un autre fichier Excel sans avoir à l'ouvrir ?
Exemple :
Je suis dans mon fichier Classeur1.xls.
Je clique sur 1 bouton qui doit lance 1 procédure dans VBA Excel.
Cette procédure doit regarder 1 valeur qui se trouve dans le fichier
Classeur2.xls.
A part ouvrir le classeur avec workbooks("classeur2.xls").open et
macellule¬tivesheet.cells(1,1) puis activeworkbook.close,
existe-t-il 1 autre méthode sans avoir à ouvrir le fichier, un peu comme
avec les liaisons dans 1 feuille ?
Est-il possible de lire 1 donnée dans 1 cellule d'1 fichier Excel à partir du VBA d'un autre fichier Excel sans avoir à l'ouvrir ?
Exemple : Je suis dans mon fichier Classeur1.xls. Je clique sur 1 bouton qui doit lance 1 procédure dans VBA Excel. Cette procédure doit regarder 1 valeur qui se trouve dans le fichier Classeur2.xls. A part ouvrir le classeur avec workbooks("classeur2.xls").open et macellule¬tivesheet.cells(1,1) puis activeworkbook.close, existe-t-il 1 autre méthode sans avoir à ouvrir le fichier, un peu comme avec les liaisons dans 1 feuille ?
-- Cordialement,
Stéphane L
Stéphane L.
Merci Papou
"papou" a écrit dans le message de news:e%
Bonjour Stéphane Avec le code exemple ci-dessous (je ne suis pas sûr de l'auteur d'origine) Modifie le code en fonction de ce que tu veux. Cordialement Pascal Private Function GetValue(path, file, sheet, ref) As String 'path: The drive and path to the closed file (e.g., "d:files") 'file: The workbook name (e.g., "99budget.xls") 'sheet: The worksheet name (e.g., "Sheet1") 'ref: The cell reference (e.g., "C4")
Dim arg As String
On Error GoTo HandleErr '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 = ExecuteExcel4Macro(arg)
ExitHere: Exit Function
' Bloc de gestion d'erreurs ajouté par le complément de gestionnaire d'erreurs. NE PAS MODIFIER ce bloc de code. ' Dernière mise à jour du gestionnaire d'erreurs automatique le 10-24-2002 13:03:25 'Gestionnaire d'erreurs:$$D-24-2002 'Gestionnaire d'erreurs:$$T:03:25 HandleErr: Select Case Err.Number Case 13 MsgBox "La feuille " & sheet & " n'existe pas !" End Case Else MsgBox "Erreur " & Err.Number & ": " & Err.Description, vbCritical, "Module1.GetValue" 'Gestionnaire d'erreurs:$$N=Module1.GetValue
End Select ' Fin du bloc du traitement d'erreurs. End Function
Sub TestGetValue()
Dim p As String Dim f As String Dim s As String Dim a As String
p = "D:Mes DocumentsPascalExcel" f = "Test.xls" s = "Feuil15" a = "A1"
MsgBox GetValue(p, f, s, a)
End Sub
"Stéphane L." a écrit dans le message de news:
Bonjour,
Est-il possible de lire 1 donnée dans 1 cellule d'1 fichier Excel à partir
du VBA d'un autre fichier Excel sans avoir à l'ouvrir ?
Exemple : Je suis dans mon fichier Classeur1.xls. Je clique sur 1 bouton qui doit lance 1 procédure dans VBA Excel. Cette procédure doit regarder 1 valeur qui se trouve dans le fichier Classeur2.xls. A part ouvrir le classeur avec workbooks("classeur2.xls").open et macellule¬tivesheet.cells(1,1) puis activeworkbook.close, existe-t-il 1 autre méthode sans avoir à ouvrir le fichier, un peu comme avec les liaisons dans 1 feuille ?
-- Cordialement,
Stéphane L
Merci Papou
"papou" <oterceciprobin@otercecicg44.fr> a écrit dans le message de
news:e%2341lKsUEHA.4088@TK2MSFTNGP09.phx.gbl...
Bonjour Stéphane
Avec le code exemple ci-dessous (je ne suis pas sûr de l'auteur d'origine)
Modifie le code en fonction de ce que tu veux.
Cordialement
Pascal
Private Function GetValue(path, file, sheet, ref) As String
'path: The drive and path to the closed file (e.g., "d:files")
'file: The workbook name (e.g., "99budget.xls")
'sheet: The worksheet name (e.g., "Sheet1")
'ref: The cell reference (e.g., "C4")
Dim arg As String
On Error GoTo HandleErr
'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 = ExecuteExcel4Macro(arg)
ExitHere:
Exit Function
' Bloc de gestion d'erreurs ajouté par le complément de gestionnaire
d'erreurs. NE PAS MODIFIER ce bloc de code.
' Dernière mise à jour du gestionnaire d'erreurs automatique le 10-24-2002
13:03:25 'Gestionnaire d'erreurs:$$D-24-2002 'Gestionnaire
d'erreurs:$$T:03:25
HandleErr:
Select Case Err.Number
Case 13
MsgBox "La feuille " & sheet & " n'existe pas !"
End
Case Else
MsgBox "Erreur " & Err.Number & ": " & Err.Description,
vbCritical, "Module1.GetValue" 'Gestionnaire
d'erreurs:$$N=Module1.GetValue
End Select
' Fin du bloc du traitement d'erreurs.
End Function
Sub TestGetValue()
Dim p As String
Dim f As String
Dim s As String
Dim a As String
p = "D:Mes DocumentsPascalExcel"
f = "Test.xls"
s = "Feuil15"
a = "A1"
MsgBox GetValue(p, f, s, a)
End Sub
"Stéphane L." <no@spam.fr> a écrit dans le message de
news:e0eaaxrUEHA.3512@TK2MSFTNGP12.phx.gbl...
Bonjour,
Est-il possible de lire 1 donnée dans 1 cellule d'1 fichier Excel à
partir
du VBA d'un autre fichier Excel sans avoir à l'ouvrir ?
Exemple :
Je suis dans mon fichier Classeur1.xls.
Je clique sur 1 bouton qui doit lance 1 procédure dans VBA Excel.
Cette procédure doit regarder 1 valeur qui se trouve dans le fichier
Classeur2.xls.
A part ouvrir le classeur avec workbooks("classeur2.xls").open et
macellule¬tivesheet.cells(1,1) puis activeworkbook.close,
existe-t-il 1 autre méthode sans avoir à ouvrir le fichier, un peu comme
avec les liaisons dans 1 feuille ?
Bonjour Stéphane Avec le code exemple ci-dessous (je ne suis pas sûr de l'auteur d'origine) Modifie le code en fonction de ce que tu veux. Cordialement Pascal Private Function GetValue(path, file, sheet, ref) As String 'path: The drive and path to the closed file (e.g., "d:files") 'file: The workbook name (e.g., "99budget.xls") 'sheet: The worksheet name (e.g., "Sheet1") 'ref: The cell reference (e.g., "C4")
Dim arg As String
On Error GoTo HandleErr '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 = ExecuteExcel4Macro(arg)
ExitHere: Exit Function
' Bloc de gestion d'erreurs ajouté par le complément de gestionnaire d'erreurs. NE PAS MODIFIER ce bloc de code. ' Dernière mise à jour du gestionnaire d'erreurs automatique le 10-24-2002 13:03:25 'Gestionnaire d'erreurs:$$D-24-2002 'Gestionnaire d'erreurs:$$T:03:25 HandleErr: Select Case Err.Number Case 13 MsgBox "La feuille " & sheet & " n'existe pas !" End Case Else MsgBox "Erreur " & Err.Number & ": " & Err.Description, vbCritical, "Module1.GetValue" 'Gestionnaire d'erreurs:$$N=Module1.GetValue
End Select ' Fin du bloc du traitement d'erreurs. End Function
Sub TestGetValue()
Dim p As String Dim f As String Dim s As String Dim a As String
p = "D:Mes DocumentsPascalExcel" f = "Test.xls" s = "Feuil15" a = "A1"
MsgBox GetValue(p, f, s, a)
End Sub
"Stéphane L." a écrit dans le message de news:
Bonjour,
Est-il possible de lire 1 donnée dans 1 cellule d'1 fichier Excel à partir
du VBA d'un autre fichier Excel sans avoir à l'ouvrir ?
Exemple : Je suis dans mon fichier Classeur1.xls. Je clique sur 1 bouton qui doit lance 1 procédure dans VBA Excel. Cette procédure doit regarder 1 valeur qui se trouve dans le fichier Classeur2.xls. A part ouvrir le classeur avec workbooks("classeur2.xls").open et macellule¬tivesheet.cells(1,1) puis activeworkbook.close, existe-t-il 1 autre méthode sans avoir à ouvrir le fichier, un peu comme avec les liaisons dans 1 feuille ?