Récupèration plage en VBA
Résolu
linkcr15
-
linkcr15 Messages postés 423 Statut Membre -
linkcr15 Messages postés 423 Statut Membre -
Bonjour,
Voila je vous explique mon problème. J'ai un classeur Excel nommé Test dans lequel j'ai définit une plage de donnée Joker.
Dans un document Word, je souhaite faire un copier/coller de cette plage via un bouton. J'ai assigné une macro à ce bouton. J'y arrive en définissant la plage manuellement, c'est à dire :
Cependant, ma plage de donnée est dynamique, je l'ai donc nommée mais je n'arrive plus à la copier. J'ai à peu prés tout essayer sauf la bonne solution.
Est-ce que quelqu'un peut m'aider svp?
Merci d'avance pour vos réponses!
Voila je vous explique mon problème. J'ai un classeur Excel nommé Test dans lequel j'ai définit une plage de donnée Joker.
Dans un document Word, je souhaite faire un copier/coller de cette plage via un bouton. J'ai assigné une macro à ce bouton. J'y arrive en définissant la plage manuellement, c'est à dire :
Set docExcel = CreateObject("Excel.Application")
Set classExcel = docExcel.Workbooks.Open("....xls")
Set feuilExcel = classExcel.Worksheets("Test")
Plage = "A1:F19"
feuilExcel.Range(Plage).Copy
Cependant, ma plage de donnée est dynamique, je l'ai donc nommée mais je n'arrive plus à la copier. J'ai à peu prés tout essayer sauf la bonne solution.
Est-ce que quelqu'un peut m'aider svp?
Merci d'avance pour vos réponses!
A voir également:
- Récupèration plage en VBA
- Récupération de déchets - Guide
- Convertisseur récupération de texte - Guide
- Vba récupérer valeur cellule ✓ - Forum VB / VBA
- Incompatibilité de type vba ✓ - Forum Programmation
- Image de manchots sur une image de plage ✓ - Forum Graphisme
3 réponses
Bonjour,
Cette syntaxe fonctionne de mon côté !
Cdt
Lupin
Cette syntaxe fonctionne de mon côté !
Sub Test()
Dim docExcel As Excel.Application
Dim classExcel As Excel.Workbook
Dim feuilExcel As Excel.Worksheet
Dim Plage As String
Set docExcel = CreateObject("Excel.Application")
Set classExcel = docExcel.Workbooks.Open("C:\Document\Programmation\VBA\Test.xls")
Set feuilExcel = classExcel.Worksheets("Test")
Plage = "JOKER"
docExcel.Visible = True
feuilExcel.Range(Plage).Copy
ActiveDocument.Range.Paste
classExcel.Close
docExcel.Quit
End Sub
Cdt
Lupin
Voici mon code :
Ce code ne fonctionne pas, il y a une erreur à la ligne : classExcel.Range(Plage).Copy
Je n'arrive pas à régler cette erreur, à l'aide!
(Mon soucis est bien le nom de la plage que je veux copier, j'arrive à copier une plage fixe mais pas une plage dynamique nommée)
Edit : J'ai rien dis, j'ai fais une erreur dans mon copy, il faut le changer par feuilExcel.Range(Plage).Copy
Merci à Lupin.PC4 et f894009 pour votre aide c'est super sympa ;)
Set docExcel = CreateObject("Excel.Application")
Set classExcel = docExcel.Workbooks.Open("....xls")
Set feuilExcel = classExcel.Worksheets("Test")
Plage = "Joker"
classExcel.Range(Plage).Copy
Selection.PasteExcelTable False, False, False
DoEvents
classExcel.Close False
DoEvents
docExcel.Quit
Ce code ne fonctionne pas, il y a une erreur à la ligne : classExcel.Range(Plage).Copy
Je n'arrive pas à régler cette erreur, à l'aide!
(Mon soucis est bien le nom de la plage que je veux copier, j'arrive à copier une plage fixe mais pas une plage dynamique nommée)
Edit : J'ai rien dis, j'ai fais une erreur dans mon copy, il faut le changer par feuilExcel.Range(Plage).Copy
Merci à Lupin.PC4 et f894009 pour votre aide c'est super sympa ;)