Obtenir des donnés d'un fichier fermer.. nombre ligne varie

L

lezabour

Guest
Bonjour a tous,

J'ai reussi a trouver sur le net grace a Excelabo (merkiii!!!!) la source suivant:

Sub LitDatas()
Dim Fich$, Arr

Fich = "C:\Documents and Settings\EBO\Bureau\fact.xls"
'récup des données à partir de l'adresse d'une plage de cellules
GetExternalData Fich, "patrick", "A2:K400", False, Arr
'récup des données à partir du nom d'une plage de cellules
' GetExternalData Fich, "", "essainom", False, Arr
With ThisWorkbook.Sheets("Feuil1")
.Range("A1", .Cells(UBound(Arr, 1), UBound(Arr, 2))).Value = Arr
End With


End Sub

C'est une des 2 sub que j'utilise pour avoir les données, l'autre etant getExternalData.

Mon probleme, est que ici, je cherche a prendre a la source (fact.xls, feuille: Patrick) la plage allant de A2 a K400.
Le probleme est que le k400 varie, chaque jour on ajoute des données aux fichiers.
Comment faire pour que au lieu de "A2:K400" j'ai un truc qui fasse "A2: KFinDuFichier"

j'ai tenter de faire "A2:" & ActiveCell.SpecialCells(xlLastCell) => fonctionne pas ;(

Merci a tous ;)
 
F

frédéric

Guest
'1: récupérer le numéro de ligne de la derniere donnée

Range("A2").Select
Selection.End(xlDown).Select
KFinDuFichier = ActiveCell.Row

'2: utiliser la variable "KFinDuFichier" dans ta fonction

Fich = "C:\Documents and Settings\EBO\Bureau\fact.xls"
'récup des données à partir de l'adresse d'une plage de cellules
GetExternalData Fich, "patrick", "A2:K" & KFinDuFichier, False, Arr
'récup des données à partir du nom d'une plage de cellules
' GetExternalData Fich, "", "essainom", False, Arr
With ThisWorkbook.Sheets("Feuil1")
.Range("A1", .Cells(UBound(Arr, 1), UBound(Arr, 2))).Value = Arr
End With

cela marche t'il?
C'est surement ce qu'il n'y a pas de plus élégant à faire, mais si ça marche...
 

Discussions similaires

Statistiques des forums

Discussions
312 971
Messages
2 094 045
Membres
105 926
dernier inscrit
Odyssea