Ce code est très intéressant, je vous remercie de l'avoir écrit, je l'ai d'ailleurs utilisé et adapté à un besoin récent.
Depuis j'ai un nouveau besoin, j'ai donc personnalisé la macro et la macro me renvoie inlassablement les informations de mon premier besoin, j'ai beau tout reprendre depuis le début, rien n'y fait ! pouvez-vous m'aider ?
En résumé:
"General" de "classeur1.xlm" me renvoie les données de "classeur1.xlm"
"General de "classeur2.xlm" me renvoie les données de "classeur1.xlm"
Bonjour et merci de votre réponse,
J'ai bien insérée une feuille "General" dans le classeur actif, que j'ai même tenté de renommer en modifiant la macro... Rien n'y fait.
Faut-il activer le calcul automatique dans les options ?
Non. Il faut juste veillez à prendre la feuille du classeur qu'il faut, si ce n'est pas le classeur actif.
Dim Rng As Range
Set Rng = Workbooks("Classeur2.xlsm").Worksheets("General").Cells
Et puis ensuite vous ne travaillez qu'avec Rng, comme ça vous ne serez pas obligé de répéter chaque fois tout ça.
Non. Il faut juste veillez à prendre la feuille du classeur qu'il faut, si ce n'est pas le classeur actif.
Dim Rng As Range
Set Rng = Workbooks("Classeur2.xlsm").Worksheets("General").Cells
Et puis ensuite vous ne travaillez qu'avec Rng, comme ça vous ne serez pas obligé de répéter chaque fois tout ça.
ce que j'ai besoin de faire, c'est bien de reprendre les données du classeur actif dans la feuille "General" de ce même classeur, sauf que la macro me renvoie les données de mon premier classeur.
merci pour votre aide.
Tous ce que vous ne précisez pas avec une expression Workbook devant se réfère au classeur actif. Donc aussi Sheets.
Pour reprendre les données d'un autre classeur :
Dim WSh As Worksheet
For Each Wsh In Workbooks("Classeur2.xlsm").Worksheets
…
Next Wsh
Si tout doit se passer seulement dans le classeur actif, ce que vous décrivez est impossible. Je ne vous crois pas.
Joignez enfin votre classeur.
Ou mettez, pour vous en convaincre, en tête de votre macro :
Tous ce que vous ne précisez pas avec une expression Workbook devant se réfère au classeur actif. Donc aussi Sheets.
Pour reprendre les données d'un autre classeur :
Dim WSh As Worksheet
For Each Wsh In Workbooks("Classeur2.xlsm").Worksheets
…
Next Wsh
Si tout doit se passer seulement dans le classeur actif, ce que vous décrivez est impossible. Je ne vous crois pas.
Joignez enfin votre classeur.
Ou mettez, pour vous en convaincre, en tête de votre macro :
J'vous l'jure Mr !
je vous ai extrait l'onglet "General" avec 4 feuilles à compiler et là, je vous le donne en mille, ça marche...
quand je creuse un peu plus je retrouve mes données mélangées à mon premier fichier...
je peux vous joindre mon fichier en MP ?
Bon je viens de comprendre à force de chercher...
le fichier contient des onglets masqués, (ceux qui me laisse croire un lien avec mon "classeur 1.xlm")
du coup la macro va chercher toutes les données y compris celles des onglets qui sont masqués.
Encore merci pour votre patience, je vais donc pouvoir avancer.
Bien cordialement,