Ouvrir un classeur avec une macro sans lancer les macros du classeur à ouvrir

Spoon86

XLDnaute Nouveau
Bonjour,

je souhaite importer les données (copier/coller par exemple) contenues dans une feuille dans une feuille d'un autre classeur à l'aide d'une macro.
Cette étape est réussie. Cependant, je constate que ma macro, en plus d'importer les données, lancent toutes les macros qui sont déjà contenues dans la feuille d'origine.
Résultats toutes les macros du classeur à ouvrir se lancent et un message d'erreur apparaît me signalant que j'utilise trop de données ou d'applications en même temps.

Avez-vous une idée pour importer les données d'une feuille (à l'aide d'une macro d'ouverture d'un classeur) sans que cette macro ne lance les macros présentes dans le classeur que je souhaite ouvrir ?

Merci d'avance pour votre aide.
Spoon.
 

Spoon86

XLDnaute Nouveau
Re : Ouvrir un classeur avec une macro sans lancer les macros du classeur à ouvrir

Re,

merci Pierrot, j'effectue encore qq tests mais tout a l'air de tourner correctement.

Petite question de compréhension personnelle:
Comment fonctionnait le code précédent que tu m'as transmis, à savoir: wbks.Sheets("tstations").Range("D1:E" & wbks.Sheets("tstations").Range("D65536").End(xlUp).Row).Copy wbkc.Sheets("import").Range("K1")
Aucun "Paste" n'était présent dans le code ....Par ailleurs, je n'arrive pas trop à suivre les arguments mentionnés dans la ligne de code à partir de la 2ème "(". Peux-tu m'éclairer un peu ?

Merci d'avance.
Spoon.
 

Pierrot93

XLDnaute Barbatruc
Re : Ouvrir un classeur avec une macro sans lancer les macros du classeur à ouvrir

Re,

comme ceci :
Code:
wbks.Sheets("marchetendue").Range("A1:F" & wbks.Sheets("marchetendue").Range("A65536").End(xlUp).Row).Copy
wbkc.Sheets("import").Range("A1").PasteSpecial xlPasteValues
wbks.Sheets("marchetype").Range("A1:B" & wbks.Sheets("marchetype").Range("A65536").End(xlUp).Row).Copy
wbkc.Sheets("import").Range("K1").PasteSpecial xlPasteValues

en 4 lignes...
 

Spoon86

XLDnaute Nouveau
Re : Ouvrir un classeur avec une macro sans lancer les macros du classeur à ouvrir

Re,

oui, oui, ça j'avais compris mais ce que je veux dire, c'est que la première indication que tu m'as fournie ( wbks.Sheets("marchetendue").Range("A1:F" & wbks.Sheets("marchetendue").Range("A65536").End(xlUp).Row).Copy wbkc.Sheets("import").Range("A1"). ) fonctionnait même sans le paste. Et c'est le fait que ça tourne correctement, c'st à dire que la copie soit belle et bien réalisée sans le paste (à part la valeur uniquement) que je ne comprends pas.
Le code pouvait-il réellement tourner correctement sans le paste ?

Merci.
Spoon
 

Spoon86

XLDnaute Nouveau
Re : Ouvrir un classeur avec une macro sans lancer les macros du classeur à ouvrir

Re,

oui, oui, c'était bien mon problème et j'ai pu m'en sortir grâce à ton aide précieuse.
Merci encore.

Je poursuis mes travaux et j'adapte mon code à mes besoins.

Merci Pierrot. :)
Spoon.
 

Discussions similaires