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
Fred.M.
Bonjour HD, Dans ton module VBA tu es tout de même obligé dans tous les cas d'ouvrir ton classeur Excel pour accéder à ta cellule. Tu peux en revanche éviter de l'afficher pour que cela soit parfaitement transparent pour l'utilisateur. Avant toute chose n'oublie pas dans ton éditeur VBA de référencer Excel en allant dans Outils - Références - et de cocher la DLL Microsoft Excel 10.0 Object Library. C'est là que sont stockées les classes d'objet XL. On peut alors imaginer qlqchose de la sorte :
Dim MaValeur -- à typer selon le besoin en string, integer ou autre Dim XL as Excel.Application
' Instanciation d'un objet Excel (invisible) Set XL = new Excel.Application ' Ouverture du classeur XL.WorkBooks.Open("D:MonClasseur.XLS") ' Selection de la feuille si besoin XL.Sheets("Feuil1").Select ' Récupération de la valeur de la cellule A1 par exemple MaValeur = XL.Range("A1").Value ' Fermeture d'Excel XL.Quit Set XL = Nothing
Fred.M.
Bonjour,
En VBA, Je voudrais récupérer dans Word la valeur d'une cellule d'un classeur Excel et de préférence sans ouvrir le classeur.
Merci d'avance pour votre aide --- @+ HD
Bonjour HD,
Dans ton module VBA tu es tout de même obligé dans tous les cas d'ouvrir ton
classeur Excel pour accéder à ta cellule. Tu peux en revanche éviter de
l'afficher pour que cela soit parfaitement transparent pour l'utilisateur.
Avant toute chose n'oublie pas dans ton éditeur VBA de référencer Excel en
allant dans Outils - Références - et de cocher la DLL Microsoft Excel 10.0
Object Library. C'est là que sont stockées les classes d'objet XL.
On peut alors imaginer qlqchose de la sorte :
Dim MaValeur -- à typer selon le besoin en string, integer ou autre
Dim XL as Excel.Application
' Instanciation d'un objet Excel (invisible)
Set XL = new Excel.Application
' Ouverture du classeur
XL.WorkBooks.Open("D:MonClasseur.XLS")
' Selection de la feuille si besoin
XL.Sheets("Feuil1").Select
' Récupération de la valeur de la cellule A1 par exemple
MaValeur = XL.Range("A1").Value
' Fermeture d'Excel
XL.Quit
Set XL = Nothing
Fred.M.
Bonjour,
En VBA, Je voudrais récupérer dans Word la valeur d'une cellule d'un
classeur Excel et de préférence sans ouvrir le classeur.
Bonjour HD, Dans ton module VBA tu es tout de même obligé dans tous les cas d'ouvrir ton classeur Excel pour accéder à ta cellule. Tu peux en revanche éviter de l'afficher pour que cela soit parfaitement transparent pour l'utilisateur. Avant toute chose n'oublie pas dans ton éditeur VBA de référencer Excel en allant dans Outils - Références - et de cocher la DLL Microsoft Excel 10.0 Object Library. C'est là que sont stockées les classes d'objet XL. On peut alors imaginer qlqchose de la sorte :
Dim MaValeur -- à typer selon le besoin en string, integer ou autre Dim XL as Excel.Application
' Instanciation d'un objet Excel (invisible) Set XL = new Excel.Application ' Ouverture du classeur XL.WorkBooks.Open("D:MonClasseur.XLS") ' Selection de la feuille si besoin XL.Sheets("Feuil1").Select ' Récupération de la valeur de la cellule A1 par exemple MaValeur = XL.Range("A1").Value ' Fermeture d'Excel XL.Quit Set XL = Nothing
Fred.M.
Bonjour,
En VBA, Je voudrais récupérer dans Word la valeur d'une cellule d'un classeur Excel et de préférence sans ouvrir le classeur.
Merci d'avance pour votre aide --- @+ HD
isabelle
bonjour HD,
tu pourrais utiliser l'assitant "fusion et publipostage"
isabelle
Bonjour,
En VBA, Je voudrais récupérer dans Word la valeur d'une cellule d'un classeur Excel et de préférence sans ouvrir le classeur.
Merci d'avance pour votre aide --- @+ HD
bonjour HD,
tu pourrais utiliser l'assitant "fusion et publipostage"
isabelle
Bonjour,
En VBA, Je voudrais récupérer dans Word la valeur d'une cellule d'un
classeur Excel et de préférence sans ouvrir le classeur.
tu pourrais utiliser l'assitant "fusion et publipostage"
isabelle
Bonjour,
En VBA, Je voudrais récupérer dans Word la valeur d'une cellule d'un classeur Excel et de préférence sans ouvrir le classeur.
Merci d'avance pour votre aide --- @+ HD
HD
tu pourrais utiliser l'assitant "fusion et publipostage"
Pour récupérer dans Word une valeur d'une cellule ? Mais je ne cherche pas à faire un publipostage. Il faudrait en fait que l'utilisateur ouvre le document Word et qu'à l'ouverture qu'une donnée soit récupérée dans un classeur Excel dont l'emplacement est définit par une macro.
Je cherche plutôt à avoir une fonction VBA du style RecupValeur (MonFic, MaFeuille, Colonne, Ligne)
tu pourrais utiliser l'assitant "fusion et publipostage"
Pour récupérer dans Word une valeur d'une cellule ? Mais je ne cherche pas à
faire un publipostage. Il faudrait en fait que l'utilisateur ouvre le
document Word et qu'à l'ouverture qu'une donnée soit récupérée dans un
classeur Excel dont l'emplacement est définit par une macro.
Je cherche plutôt à avoir une fonction VBA du style RecupValeur (MonFic,
MaFeuille, Colonne, Ligne)
tu pourrais utiliser l'assitant "fusion et publipostage"
Pour récupérer dans Word une valeur d'une cellule ? Mais je ne cherche pas à faire un publipostage. Il faudrait en fait que l'utilisateur ouvre le document Word et qu'à l'ouverture qu'une donnée soit récupérée dans un classeur Excel dont l'emplacement est définit par une macro.
Je cherche plutôt à avoir une fonction VBA du style RecupValeur (MonFic, MaFeuille, Colonne, Ligne)
HD
C'est bon... Géo m'a fournit ce code :
Function RECUP(Fichier As String, Feuille As String, _ Ligne As Long, Col As Integer) As String Dim R As String Dim Cls As Workbooks Dim Cl As Workbook Dim F As Worksheet Dim Cel As Excel.Range Set Cls = CreateObject("Excel.Application").Workbooks Set Cl = Cls.Open(Fichier) Set F = Cl.Worksheets(Feuille) Set Cel = F.Cells(Ligne, Col) R = Cel.Text Cl.Close False RECUP = R End Function
Sub test() MsgBox RECUP("xxxxxxx", "Feuil1", 2, 1) End Sub
Merci à toi Isabelle pour t'être penchée sur mon problème :-)
C'est bon... Géo m'a fournit ce code :
Function RECUP(Fichier As String, Feuille As String, _
Ligne As Long, Col As Integer) As String
Dim R As String
Dim Cls As Workbooks
Dim Cl As Workbook
Dim F As Worksheet
Dim Cel As Excel.Range
Set Cls = CreateObject("Excel.Application").Workbooks
Set Cl = Cls.Open(Fichier)
Set F = Cl.Worksheets(Feuille)
Set Cel = F.Cells(Ligne, Col)
R = Cel.Text
Cl.Close False
RECUP = R
End Function
Sub test()
MsgBox RECUP("xxxxxxx", "Feuil1", 2, 1)
End Sub
Merci à toi Isabelle pour t'être penchée sur mon problème :-)
Function RECUP(Fichier As String, Feuille As String, _ Ligne As Long, Col As Integer) As String Dim R As String Dim Cls As Workbooks Dim Cl As Workbook Dim F As Worksheet Dim Cel As Excel.Range Set Cls = CreateObject("Excel.Application").Workbooks Set Cl = Cls.Open(Fichier) Set F = Cl.Worksheets(Feuille) Set Cel = F.Cells(Ligne, Col) R = Cel.Text Cl.Close False RECUP = R End Function
Sub test() MsgBox RECUP("xxxxxxx", "Feuil1", 2, 1) End Sub
Merci à toi Isabelle pour t'être penchée sur mon problème :-)
Fred.M.
C'est parce que je n'ai pas un nom féminin que je me suis pris un vent ?? lol
C'est bon... Géo m'a fournit ce code :
Function RECUP(Fichier As String, Feuille As String, _ Ligne As Long, Col As Integer) As String Dim R As String Dim Cls As Workbooks Dim Cl As Workbook Dim F As Worksheet Dim Cel As Excel.Range Set Cls = CreateObject("Excel.Application").Workbooks Set Cl = Cls.Open(Fichier) Set F = Cl.Worksheets(Feuille) Set Cel = F.Cells(Ligne, Col) R = Cel.Text Cl.Close False RECUP = R End Function
Sub test() MsgBox RECUP("xxxxxxx", "Feuil1", 2, 1) End Sub
Merci à toi Isabelle pour t'être penchée sur mon problème :-)
C'est parce que je n'ai pas un nom féminin que je me suis pris un vent ?? lol
C'est bon... Géo m'a fournit ce code :
Function RECUP(Fichier As String, Feuille As String, _
Ligne As Long, Col As Integer) As String
Dim R As String
Dim Cls As Workbooks
Dim Cl As Workbook
Dim F As Worksheet
Dim Cel As Excel.Range
Set Cls = CreateObject("Excel.Application").Workbooks
Set Cl = Cls.Open(Fichier)
Set F = Cl.Worksheets(Feuille)
Set Cel = F.Cells(Ligne, Col)
R = Cel.Text
Cl.Close False
RECUP = R
End Function
Sub test()
MsgBox RECUP("xxxxxxx", "Feuil1", 2, 1)
End Sub
Merci à toi Isabelle pour t'être penchée sur mon problème :-)
C'est parce que je n'ai pas un nom féminin que je me suis pris un vent ?? lol
C'est bon... Géo m'a fournit ce code :
Function RECUP(Fichier As String, Feuille As String, _ Ligne As Long, Col As Integer) As String Dim R As String Dim Cls As Workbooks Dim Cl As Workbook Dim F As Worksheet Dim Cel As Excel.Range Set Cls = CreateObject("Excel.Application").Workbooks Set Cl = Cls.Open(Fichier) Set F = Cl.Worksheets(Feuille) Set Cel = F.Cells(Ligne, Col) R = Cel.Text Cl.Close False RECUP = R End Function
Sub test() MsgBox RECUP("xxxxxxx", "Feuil1", 2, 1) End Sub
Merci à toi Isabelle pour t'être penchée sur mon problème :-)
isabelle
re bonjour HD,
je viens de faire un test avec Insertion d'un objet, et ça fonctionne. il suffit de faire un click droit sur l'objet et d'actualiser.
isabelle
tu pourrais utiliser l'assitant "fusion et publipostage"
Pour récupérer dans Word une valeur d'une cellule ? Mais je ne cherche pas à faire un publipostage. Il faudrait en fait que l'utilisateur ouvre le document Word et qu'à l'ouverture qu'une donnée soit récupérée dans un classeur Excel dont l'emplacement est définit par une macro.
Je cherche plutôt à avoir une fonction VBA du style RecupValeur (MonFic, MaFeuille, Colonne, Ligne)
re bonjour HD,
je viens de faire un test avec Insertion d'un objet, et ça fonctionne.
il suffit de faire un click droit sur l'objet et d'actualiser.
isabelle
tu pourrais utiliser l'assitant "fusion et publipostage"
Pour récupérer dans Word une valeur d'une cellule ? Mais je ne cherche pas à
faire un publipostage. Il faudrait en fait que l'utilisateur ouvre le
document Word et qu'à l'ouverture qu'une donnée soit récupérée dans un
classeur Excel dont l'emplacement est définit par une macro.
Je cherche plutôt à avoir une fonction VBA du style RecupValeur (MonFic,
MaFeuille, Colonne, Ligne)
je viens de faire un test avec Insertion d'un objet, et ça fonctionne. il suffit de faire un click droit sur l'objet et d'actualiser.
isabelle
tu pourrais utiliser l'assitant "fusion et publipostage"
Pour récupérer dans Word une valeur d'une cellule ? Mais je ne cherche pas à faire un publipostage. Il faudrait en fait que l'utilisateur ouvre le document Word et qu'à l'ouverture qu'une donnée soit récupérée dans un classeur Excel dont l'emplacement est définit par une macro.
Je cherche plutôt à avoir une fonction VBA du style RecupValeur (MonFic, MaFeuille, Colonne, Ligne)
isabelle
bonjour HD,
est ce qu'il faut mettre une référence ? j'obtiens une erreur "Type non défini"
isabelle ( ps/ merci Géo, et bien le bonjour chez vous)
C'est bon... Géo m'a fournit ce code :
Function RECUP(Fichier As String, Feuille As String, _ Ligne As Long, Col As Integer) As String Dim R As String Dim Cls As Workbooks Dim Cl As Workbook Dim F As Worksheet Dim Cel As Excel.Range Set Cls = CreateObject("Excel.Application").Workbooks Set Cl = Cls.Open(Fichier) Set F = Cl.Worksheets(Feuille) Set Cel = F.Cells(Ligne, Col) R = Cel.Text Cl.Close False RECUP = R End Function
Sub test() MsgBox RECUP("xxxxxxx", "Feuil1", 2, 1) End Sub
Merci à toi Isabelle pour t'être penchée sur mon problème :-)
bonjour HD,
est ce qu'il faut mettre une référence ? j'obtiens une erreur "Type non défini"
isabelle ( ps/ merci Géo, et bien le bonjour chez vous)
C'est bon... Géo m'a fournit ce code :
Function RECUP(Fichier As String, Feuille As String, _
Ligne As Long, Col As Integer) As String
Dim R As String
Dim Cls As Workbooks
Dim Cl As Workbook
Dim F As Worksheet
Dim Cel As Excel.Range
Set Cls = CreateObject("Excel.Application").Workbooks
Set Cl = Cls.Open(Fichier)
Set F = Cl.Worksheets(Feuille)
Set Cel = F.Cells(Ligne, Col)
R = Cel.Text
Cl.Close False
RECUP = R
End Function
Sub test()
MsgBox RECUP("xxxxxxx", "Feuil1", 2, 1)
End Sub
Merci à toi Isabelle pour t'être penchée sur mon problème :-)
est ce qu'il faut mettre une référence ? j'obtiens une erreur "Type non défini"
isabelle ( ps/ merci Géo, et bien le bonjour chez vous)
C'est bon... Géo m'a fournit ce code :
Function RECUP(Fichier As String, Feuille As String, _ Ligne As Long, Col As Integer) As String Dim R As String Dim Cls As Workbooks Dim Cl As Workbook Dim F As Worksheet Dim Cel As Excel.Range Set Cls = CreateObject("Excel.Application").Workbooks Set Cl = Cls.Open(Fichier) Set F = Cl.Worksheets(Feuille) Set Cel = F.Cells(Ligne, Col) R = Cel.Text Cl.Close False RECUP = R End Function
Sub test() MsgBox RECUP("xxxxxxx", "Feuil1", 2, 1) End Sub
Merci à toi Isabelle pour t'être penchée sur mon problème :-)
HD
Voici mon code pour lequel je n'ai pas d'erreur :
Function RECUP(Fichier As String, Feuille As String, Ligne As Long, Col As Integer) As String Dim R As String Dim Cls As Workbooks Dim Cl As Workbook Dim F As Worksheet Dim Cel As Excel.Range
Set Cls = CreateObject("Excel.Application").Workbooks Set Cl = Cls.Open(Fichier, , 1) Set F = Cl.Worksheets(Feuille) Set Cel = F.Cells(Ligne, Col)
R = Cel.Text Cl.Close False RECUP = R End Function
As tu déclarés la référence à "Microsoft Excel 12.0 Object Library" ? (moi c'est 12.0 mais ça doit dépendre des versions d'Excel installées)
Voici mon code pour lequel je n'ai pas d'erreur :
Function RECUP(Fichier As String, Feuille As String, Ligne As Long, Col As
Integer) As String
Dim R As String
Dim Cls As Workbooks
Dim Cl As Workbook
Dim F As Worksheet
Dim Cel As Excel.Range
Set Cls = CreateObject("Excel.Application").Workbooks
Set Cl = Cls.Open(Fichier, , 1)
Set F = Cl.Worksheets(Feuille)
Set Cel = F.Cells(Ligne, Col)
R = Cel.Text
Cl.Close False
RECUP = R
End Function
As tu déclarés la référence à "Microsoft Excel 12.0 Object Library" ? (moi
c'est 12.0 mais ça doit dépendre des versions d'Excel installées)
Function RECUP(Fichier As String, Feuille As String, Ligne As Long, Col As Integer) As String Dim R As String Dim Cls As Workbooks Dim Cl As Workbook Dim F As Worksheet Dim Cel As Excel.Range
Set Cls = CreateObject("Excel.Application").Workbooks Set Cl = Cls.Open(Fichier, , 1) Set F = Cl.Worksheets(Feuille) Set Cel = F.Cells(Ligne, Col)
R = Cel.Text Cl.Close False RECUP = R End Function
As tu déclarés la référence à "Microsoft Excel 12.0 Object Library" ? (moi c'est 12.0 mais ça doit dépendre des versions d'Excel installées)
isabelle
c'est tout bon, merci HD,
isabelle
Voici mon code pour lequel je n'ai pas d'erreur :
Function RECUP(Fichier As String, Feuille As String, Ligne As Long, Col As Integer) As String Dim R As String Dim Cls As Workbooks Dim Cl As Workbook Dim F As Worksheet Dim Cel As Excel.Range
Set Cls = CreateObject("Excel.Application").Workbooks Set Cl = Cls.Open(Fichier, , 1) Set F = Cl.Worksheets(Feuille) Set Cel = F.Cells(Ligne, Col)
R = Cel.Text Cl.Close False RECUP = R End Function
As tu déclarés la référence à "Microsoft Excel 12.0 Object Library" ? (moi c'est 12.0 mais ça doit dépendre des versions d'Excel installées)
c'est tout bon, merci HD,
isabelle
Voici mon code pour lequel je n'ai pas d'erreur :
Function RECUP(Fichier As String, Feuille As String, Ligne As Long, Col As
Integer) As String
Dim R As String
Dim Cls As Workbooks
Dim Cl As Workbook
Dim F As Worksheet
Dim Cel As Excel.Range
Set Cls = CreateObject("Excel.Application").Workbooks
Set Cl = Cls.Open(Fichier, , 1)
Set F = Cl.Worksheets(Feuille)
Set Cel = F.Cells(Ligne, Col)
R = Cel.Text
Cl.Close False
RECUP = R
End Function
As tu déclarés la référence à "Microsoft Excel 12.0 Object Library" ? (moi
c'est 12.0 mais ça doit dépendre des versions d'Excel installées)
Function RECUP(Fichier As String, Feuille As String, Ligne As Long, Col As Integer) As String Dim R As String Dim Cls As Workbooks Dim Cl As Workbook Dim F As Worksheet Dim Cel As Excel.Range
Set Cls = CreateObject("Excel.Application").Workbooks Set Cl = Cls.Open(Fichier, , 1) Set F = Cl.Worksheets(Feuille) Set Cel = F.Cells(Ligne, Col)
R = Cel.Text Cl.Close False RECUP = R End Function
As tu déclarés la référence à "Microsoft Excel 12.0 Object Library" ? (moi c'est 12.0 mais ça doit dépendre des versions d'Excel installées)