OVH Cloud OVH Cloud

PasteSpecial

2 réponses
Avatar
PM
Bonjour !

Je cherche à copier des feuilles sans le code associé, mais avec la mise en
forme.

XLS est mon classeur de départ, ARR mon classeur d'arrivée.
Je fais :

'copie la partie utile de la feuille
XLS.Sheets(i).UsedRange.Copy

'ajoute une feuille dans le classeur d'arrivée
ARR.Worksheets.Add After:=ARR.Sheets(ARR.Sheets.Count)

'fait collage spécial
ARR.Sheets(ARR.Sheets.Count).PasteSpecial Paste:=xlPasteAll

Eh bien, ça ne fonctionne pas : "Erreur de l'objet ou de l'application"

Si je n'indique pas Paste:=xlPasteAll, il me colle les données, mais bien
sûr pas le format ligne-colonnes que je cherche précisément à copier...

Qui pourrait m'indiquer ce qui se passe et ce que je peux faire ?
En remerciant d'avance la bonne âme qui pourra me dépanner...

2 réponses

Avatar
GVentre
Bonjour PM,

sur ta dernière ligne de code tu dois rajouter RANGE:

ARR.Sheets(ARR.Sheets.Count).Range("A1").PasteSpecial Paste:=xlPasteAll

Cordialement,

Guillaume VENTRE

"PM" a écrit dans le message de news:

Bonjour !

Je cherche à copier des feuilles sans le code associé, mais avec la mise
en

forme.

XLS est mon classeur de départ, ARR mon classeur d'arrivée.
Je fais :

'copie la partie utile de la feuille
XLS.Sheets(i).UsedRange.Copy

'ajoute une feuille dans le classeur d'arrivée
ARR.Worksheets.Add After:=ARR.Sheets(ARR.Sheets.Count)

'fait collage spécial
ARR.Sheets(ARR.Sheets.Count).PasteSpecial Paste:=xlPasteAll

Eh bien, ça ne fonctionne pas : "Erreur de l'objet ou de l'application"

Si je n'indique pas Paste:=xlPasteAll, il me colle les données, mais bien
sûr pas le format ligne-colonnes que je cherche précisément à copier...

Qui pourrait m'indiquer ce qui se passe et ce que je peux faire ?
En remerciant d'avance la bonne âme qui pourra me dépanner...




Avatar
PM
Merci beaucoup !

Ca marche. Néanmoins, je suis surpris de ne pas retrouver ma largeur de
colonne. Il faut une seconde ligne avec xlColumnWidths.

C'est super !


"GVentre" a écrit dans le message de news:
%
Bonjour PM,

sur ta dernière ligne de code tu dois rajouter RANGE:

ARR.Sheets(ARR.Sheets.Count).Range("A1").PasteSpecial
Paste:=xlPasteAll

Cordialement,

Guillaume VENTRE

"PM" a écrit dans le message de news:

Bonjour !

Je cherche à copier des feuilles sans le code associé, mais avec la mise
en

forme.

XLS est mon classeur de départ, ARR mon classeur d'arrivée.
Je fais :

'copie la partie utile de la feuille
XLS.Sheets(i).UsedRange.Copy

'ajoute une feuille dans le classeur d'arrivée
ARR.Worksheets.Add After:=ARR.Sheets(ARR.Sheets.Count)

'fait collage spécial
ARR.Sheets(ARR.Sheets.Count).PasteSpecial Paste:=xlPasteAll

Eh bien, ça ne fonctionne pas : "Erreur de l'objet ou de l'application"

Si je n'indique pas Paste:=xlPasteAll, il me colle les données, mais bien
sûr pas le format ligne-colonnes que je cherche précisément à copier...

Qui pourrait m'indiquer ce qui se passe et ce que je peux faire ?
En remerciant d'avance la bonne âme qui pourra me dépanner...