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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
DanielCo
Le #25204892
Bonjour,
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


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
MichD
Le #25204912
Bonjour,

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
ThierryP
Le #25205042
Bonjour,

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 :
Bonjour,

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





> Bonjour le forum,

>

> Dans un classeur, j'utilise index+equiv pour récupérer des donnée s dans un

> autre classeur, dans lequel j'ai créé des plages dynamiques avec de caler().

> 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 ouvran t 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 dan s mon

> premier classeur ?

>

> D'avance merci :-)

>

> ThierryP
DanielCo
Le #25205102
Aucun risque, sauf avec les formules matricielles pour lesquelles il
faut, effectivement, limiter absolument la taille des plages. Ce n'est
pas alors une question de taille, mais de temps de calcul.
Daniel


Bonjour,

Bonne question !! En fait, comme un certain nombre de formats de cellules
sont utilisées, et que je me souviens avoir lu il y a longtemps que ça
pouvait poser des problèmes, genre fichiers "obèses", j'ai pris l'habitude
des plages limitées au strict utile ! Mais effectivement, ça me simplifierait
la vie...

Merci

ThierryP


Le mercredi 6 février 2013 12:49:53 UTC+1, DanielCo a écrit :
Bonjour,

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





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
ThierryP
Le #25205172
J'ai aussi du matriciel :-((((

ThierryP

Le mercredi 6 février 2013 14:31:13 UTC+1, DanielCo a écrit :
Aucun risque, sauf avec les formules matricielles pour lesquelles il

faut, effectivement, limiter absolument la taille des plages. Ce n'est

pas alors une question de taille, mais de temps de calcul.

Daniel





> Bonjour,

>

> Bonne question !! En fait, comme un certain nombre de formats de cellul es

> sont utilisées, et que je me souviens avoir lu il y a longtemps que ça

> pouvait poser des problèmes, genre fichiers "obèses", j'ai pris l'h abitude

> des plages limitées au strict utile ! Mais effectivement, ça me sim plifierait

> la vie...

>

> Merci

>

> ThierryP

>

>

> Le mercredi 6 février 2013 12:49:53 UTC+1, DanielCo a écrit :

>> Bonjour,

>>

>> Effectivement, mais pourquoi utiliser une plage dynamique ? Utilise de s

>>

>> colonnes entières... A moins que la disposition de tes données ne le

>>

>> permette pas.

>>

>> Cordialement.

>>

>> Daniel

>>

>>

>>

>>

>>

>>> 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 j e 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 d ans mon

>>> premier classeur ?

>>

>>>

>>

>>> D'avance merci :-)

>>

>>>

>>

>>> ThierryP
ThierryP
Le #25205162
Bonjour Denis,

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 :
Bonjour,



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 f erme, j'ai une erreur de liaison...

Je me suis donc dit, pas grave, en ouvrant le premier classeur, j'ouvre l e 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
DanielCo
Le #25206572
Alors, utilise plutôt une macro, comme te l'a suggéré MichD.
Daniel


J'ai aussi du matriciel :-((((

ThierryP

Publicité
Poster une réponse
Anonyme