Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

référencer des feuilles/classeurs

  • Initiateur de la discussion Initiateur de la discussion stipe
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

S

stipe

Guest
bonjour, voici mon souci :
je travaille sur une feuille excel qui lance une macro. Cette macro doit copier des données de ma feuilles dans une feuille d'un autre classeur qui n'est pas encore ouvert.

je sais comment ouvrir mon 2eme classeur, mais ce qui m'ennuie un peu plus, c'est de 'jongler' entre les 2 classeurs sans avoir à répéter à chq fois les noms des classeurs.

admettons que ma feuille initiale (appelée Fiche Porpect') soit issue d'un classeur appelé
H:\\COMMERCE\\Nouveau Système devis (2004)\\Fiche Prospect.xls et que ma seconde feuille (celle que j'ouvre ensuite) s'appelle Clients et soit issue du fichier H:\\COMMERCE\\Nouveau Système devis (2004)\\clients instrus.xls

je voudrais trouver un moyen de faire plus court que cette instruction, par exemple:

Workbooks('H:\\COMMERCE\\Nouveau Système devis (2004)\\clients instrus.xls').Worksheets('Client').Range('H6').Value = Workbooks('H:\\COMMERCE\\Nouveau Système devis (2004)\\Fiche Prospect.xls').Worksheets('Prospect').Range('B4').Value
?

j'espere que mon enoncé est suffisement clair 😛

merci d'avance
 
Bonjour

Pourquoi ne pas utiliser des variables

book1 = 'H:COMMERCENouveau Système devis (2004)clients
instrus.xls\\'
book2 = 'H:COMMERCENouveau Système
devis (2004)Fiche Prospect.xls'

WorkBooks(book1).Sheets('Clients').range('H6') = WorkBooks(book2).Sheets('Prospect').range('B4')

Il y a aussi moyen d'utiliser une indexation à condition qu'il n'y ait aucune ambiguité

WorkBooks(1).Sheets(1).Range('H6') = WorkBook(2).Sheets(1).Range('B4')

peut être bien que cela répond à ta question

Bon courage

Message édité par: Jacques87, à: 16/03/2006 16:03
 
Bonjour Stipe,

Essayes avec ce code :

Sub TransfertsExternes()
'Déclaration des variables
Dim Wb1 As Workbook, Wb2 As Workbook
' Définition des variables
Set Wb1 = Workbooks('H:COMMERCENouveau Système devis (2004)Fiche Prospect.xls ')
Set Wb2 = Workbooks('H:COMMERCENouveau Système devis (2004)clients instrus.xls')
' transfert de données
Wb1.Worksheets('Client').Range('H6').Value = Wb2.Worksheets('Prospect').Range('B4').Value

'.........

End Sub

Cordialement

Bernard
 
CBernardT écrit:

merci pour la reponse,

mais j'ai une erreur d'execution n°9 : 'indice en dehors de la plage' 😱
je pige pas trop le rapport, mais en tous cas il me jette...
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

P
  • Question Question
Réponses
3
Affichages
1 K
S
Réponses
7
Affichages
4 K
schoum5
S
E
Réponses
0
Affichages
1 K
eeyglunent
E
S
Réponses
0
Affichages
792
SaiSai Boundao
S
N
Réponses
1
Affichages
2 K
J
Réponses
3
Affichages
3 K
A
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…