babacool22
XLDnaute Nouveau
Bonjour à tous et à toutes,
Je vous explique mon problème ainsi que ma démarche, je souhaite pour le boulot mettre en place un tableau de bord. Celui-ci va centralisé les données de tout les Excel de l'entreprise que chacun met à jour dans son coin. Pour ce faire, je souhaite grâce à une macro récupérer automatiquement les données d'un autre classeur excel, les données sont sous formes de tableau nommé.
Voici le code que j'ai pu développer :
Le but ici est de copier le carnet de commande sur mon Tableau de bord et pouvoir l'actualisé et le mettre à jour juste avec la macro.
Set SourceTable = Workbooks(SourceWorkbook).Worksheets(SourceSheet).ListObjects("Commande") est la ligne où le débogueur m'arrête. J'ai essayer plusieurs solution '.Name' '.Range' ect rien n'y fais je ne détecte jamais ma plage de donnée.
En vous remerciant pour l'intérêt porté.
Cordialement,
Babacool
Je vous explique mon problème ainsi que ma démarche, je souhaite pour le boulot mettre en place un tableau de bord. Celui-ci va centralisé les données de tout les Excel de l'entreprise que chacun met à jour dans son coin. Pour ce faire, je souhaite grâce à une macro récupérer automatiquement les données d'un autre classeur excel, les données sont sous formes de tableau nommé.
Voici le code que j'ai pu développer :
VB:
Sub UpdateTableauCibleTest()
Dim SourceWorkbook As String, TargetWorkbook As String
Dim SourceSheet As String, TargetSheet As String
Dim SourceRange As Range, TargetRange As Range
'Noms des classeurs et feuilles
SourceSheet = "Carnet de commande"
TargetSheet = "Carnet de commande"
SourceWorkbook = "chemin d'accès"
TargetWorkbook = "chemin d'accès"
'Ouvrir les classeurs
Workbooks.Open (SourceWorkbook)
'Workbooks.Open (TargetWorkbook)
'Définir la plage de données à copier
Dim SourceTable As ListObject
Set SourceTable = Workbooks(SourceWorkbook).Worksheets(SourceSheet).ListObjects("Commande")
Set TargetRange = Workbooks(TargetWorkbook).Worksheets(TargetSheet).Range("$B$4")
'Copier les données
SourceRange.Copy TargetRange
'Fermer les classeurs
Workbooks(SourceWorkbook).Close SaveChanges:=False
MsgBox "Mise à jour terminée avec succès !"
End Sub
Le but ici est de copier le carnet de commande sur mon Tableau de bord et pouvoir l'actualisé et le mettre à jour juste avec la macro.
Set SourceTable = Workbooks(SourceWorkbook).Worksheets(SourceSheet).ListObjects("Commande") est la ligne où le débogueur m'arrête. J'ai essayer plusieurs solution '.Name' '.Range' ect rien n'y fais je ne détecte jamais ma plage de donnée.
En vous remerciant pour l'intérêt porté.
Cordialement,
Babacool