Utiliser une plage dynamique dans un fichier fermé
Le
ThierryP

Bonjour le forum,
Dans un classeur, j'utilise index+equiv pour récupérer des données da=
ns un autre classeur, dans lequel j'ai créé des plages dynamiques avec =
decaler().
Tout se passe bien tant que ce deuxième classeur est ouvert; si je le fer=
me, j'ai une erreur de liaison
Je me suis donc dit, pas grave, en ouvrant le premier classeur, j'ouvre le =
deuxième en VBA. sauf que l'erreur de liaison intervient avant le work=
book_open :-(((
Y a-t-il une ruse autre qu'utiliser ADO pour importer ces données dans mo=
n premier classeur ?
D'avance merci :-)
ThierryP
Dans un classeur, j'utilise index+equiv pour récupérer des données da=
ns un autre classeur, dans lequel j'ai créé des plages dynamiques avec =
decaler().
Tout se passe bien tant que ce deuxième classeur est ouvert; si je le fer=
me, j'ai une erreur de liaison
Je me suis donc dit, pas grave, en ouvrant le premier classeur, j'ouvre le =
deuxième en VBA. sauf que l'erreur de liaison intervient avant le work=
book_open :-(((
Y a-t-il une ruse autre qu'utiliser ADO pour importer ces données dans mo=
n premier classeur ?
D'avance merci :-)
ThierryP
Effectivement, mais pourquoi utiliser une plage dynamique ? Utilise des
colonnes entières... A moins que la disposition de tes données ne le
permette pas.
Cordialement.
Daniel
Une alternative, dans le fichier source, dans ladite feuille,
tu peux utiliser VBA pour mettre à jour le nom d'une plage
au lieu d'utiliser la fonction "Decaler"
Exemple : Donner le nom "toto" à la plage A1:Ax au fur et à
mesure que l'usager modifier les entrées.
'----------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Columns(1)) Is Nothing Then
Range("A1:A" & Range("A65536").End(xlUp).Row).Name = "toto"
End If
End Sub
'----------------------------
MichD
--------------------------------------------------------------
"ThierryP" a écrit dans le message de groupe de discussion :
Bonjour le forum,
Dans un classeur, j'utilise index+equiv pour récupérer des données dans un autre classeur, dans lequel j'ai
créé des plages dynamiques avec decaler().
Tout se passe bien tant que ce deuxième classeur est ouvert; si je le ferme, j'ai une erreur de liaison...
Je me suis donc dit, pas grave, en ouvrant le premier classeur, j'ouvre le deuxième en VBA.... sauf que
l'erreur de liaison intervient avant le workbook_open :-(((
Y a-t-il une ruse autre qu'utiliser ADO pour importer ces données dans mon premier classeur ?
D'avance merci :-)
ThierryP
Bonne question !! En fait, comme un certain nombre de formats de cellules s ont utilisées, et que je me souviens avoir lu il y a longtemps que ça p ouvait poser des problèmes, genre fichiers "obèses", j'ai pris l'habitu de des plages limitées au strict utile ! Mais effectivement, ça me simp lifierait la vie...
Merci
ThierryP
Le mercredi 6 février 2013 12:49:53 UTC+1, DanielCo a écrit :
faut, effectivement, limiter absolument la taille des plages. Ce n'est
pas alors une question de taille, mais de temps de calcul.
Daniel
ThierryP
Le mercredi 6 février 2013 14:31:13 UTC+1, DanielCo a écrit :
Merci également de ta réponse, que je vais suivre. Comme je l'ai expliq ué à Daniel, j'ai également pas mal de formules, y compris matriciell es que je crée au fur et à mesure de l'augmentation des données.
Merci :-))
ThierryP
Le mercredi 6 février 2013 13:11:31 UTC+1, MichD a écrit :
Daniel