OVH Cloud OVH Cloud

Collage spécial en valeur

13 réponses
Avatar
Laurence
Bonjour

Je n'arrive pas à faire un coller spécial en valeur d'un classeur sur un
autre classeur.
Mon classeur 1 contient des formules et je voudrais coller sur mon classeur
2 le résultat de ces formules.
Il me faut passer par VB et j'utilise :
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
J'ai toujours le message "La méthode Paste Special de la classe Range a
échoué"

J'ai l'impression qu'il ne comprend pas les constantes xlPasteValues et
xlNone.
Quelqu'un peut-il m'aider ?

Merci

3 réponses

1 2
Avatar
Daniel
De ma faute. Teste :

With Workbooks(nom_fic1)
.Activate
.Worksheets(num_feuille).Activate

.Sheets(num_feuille).Cells.Copy
End With

With Workbooks(nom_fic2)
.Activate
.Worksheets(num_feuille).Activate

'copie en valeur
.Sheets(num_feuille).Cells.PasteSpecial Paste:=xlPasteValues
End With

Daniel
"Laurence" a écrit dans le message de
news:
dans ce cas il me plante un message sur le premier
.Worksheets(num_feuille).activate


Message d'erreur :
"Propriété ou méthode non gérée par cet objet."

C'est pas possible! il y a forcément un paramétrage qui n'est pas activé.
On m'a changé mon poste la semaine dernière et j'ai bien tout vérifié.


Essaie avec le code suivant :

With Windows(nom_fic1)
.Activate
.Worksheets(num_feuille).Activate

.Sheets(num_feuille).Cells.Copy
End With

With Windows(nom_fic2)
.Activate
.Worksheets(num_feuille).Activate

'copie en valeur
.Sheets(num_feuille).Cells.PasteSpecial Paste:=xlPasteValues
End With

Daniel
"Laurence" a écrit dans le message
de
news:
J'ai essayé sur un autre poste et la macro fonctionne.
Il doit y avoir un paramétrage ou une option qui est désactivée sur mon
poste - et sur celui de mon chef, qui ne fonctionne pas non plus :-( .
Je ne vois vraiment pas quoi


Il n'y a pas d'erreur dans ton code. La macro est-elle activée par un
bouton
?
Daniel
"Laurence" a écrit dans le
message
de
news:
Voici le code :
Windows(nom_fic1).Activate
Worksheets(num_feuille).Activate

Cells.Select
Selection.Copy

Windows(nom_fic2).Activate
Worksheets(num_feuille).Activate
Cells.Select

'copie en valeur
Selection.PasteSpecial Paste:=xlPasteValues,
Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse

il plante sur le Selection.PasteSpecial Paste
Les feuilles ne contiennent pas de cellules fusionnées. Si je le
fais à
la
main ça marche, mais pas à l'exécution de ma macro.


Bonjour.
Publie la partie de ton code qui contient le copier / coller.
Cordialement.
Daniel
"Laurence" a écrit dans le
message
de
news:
Bonjour

Je n'arrive pas à faire un coller spécial en valeur d'un classeur
sur
un
autre classeur.
Mon classeur 1 contient des formules et je voudrais coller sur
mon
classeur
2 le résultat de ces formules.
Il me faut passer par VB et j'utilise :
Selection.PasteSpecial Paste:=xlPasteValues,
Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
J'ai toujours le message "La méthode Paste Special de la classe
Range a
échoué"

J'ai l'impression qu'il ne comprend pas les constantes
xlPasteValues
et
xlNone.
Quelqu'un peut-il m'aider ?

Merci
























Avatar
Daniel
Je n'ai même pas cette possibilité dans l'aide VBA à la rubrique "paste
special". Tu as quelle version d'XL ?
Daniel
"Laurence" a écrit dans le message de
news:
J'ai trouvé !!!!!!!!!!!

J'ai remplacé le Paste:=xlPasteValues par Paste:=xlValues et ça marche !
Le copier se fait bien en valeur, je ne vois pas à première vu de
problème.

Quelqu'un peut-il m'explique la différence entre ces 2 syntaxes ?

Merci d'avance



dans ce cas il me plante un message sur le premier
.Worksheets(num_feuille).activate


Message d'erreur :
"Propriété ou méthode non gérée par cet objet."

C'est pas possible! il y a forcément un paramétrage qui n'est pas activé.
On m'a changé mon poste la semaine dernière et j'ai bien tout vérifié.


Essaie avec le code suivant :

With Windows(nom_fic1)
.Activate
.Worksheets(num_feuille).Activate

.Sheets(num_feuille).Cells.Copy
End With

With Windows(nom_fic2)
.Activate
.Worksheets(num_feuille).Activate

'copie en valeur
.Sheets(num_feuille).Cells.PasteSpecial Paste:=xlPasteValues
End With

Daniel
"Laurence" a écrit dans le message
de
news:
J'ai essayé sur un autre poste et la macro fonctionne.
Il doit y avoir un paramétrage ou une option qui est désactivée sur
mon
poste - et sur celui de mon chef, qui ne fonctionne pas non plus
:-( .
Je ne vois vraiment pas quoi


Il n'y a pas d'erreur dans ton code. La macro est-elle activée par
un
bouton
?
Daniel
"Laurence" a écrit dans le
message
de
news:
Voici le code :
Windows(nom_fic1).Activate
Worksheets(num_feuille).Activate

Cells.Select
Selection.Copy

Windows(nom_fic2).Activate
Worksheets(num_feuille).Activate
Cells.Select

'copie en valeur
Selection.PasteSpecial Paste:=xlPasteValues,
Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse

il plante sur le Selection.PasteSpecial Paste
Les feuilles ne contiennent pas de cellules fusionnées. Si je le
fais à
la
main ça marche, mais pas à l'exécution de ma macro.


Bonjour.
Publie la partie de ton code qui contient le copier / coller.
Cordialement.
Daniel
"Laurence" a écrit dans le
message
de
news:
Bonjour

Je n'arrive pas à faire un coller spécial en valeur d'un
classeur
sur
un
autre classeur.
Mon classeur 1 contient des formules et je voudrais coller sur
mon
classeur
2 le résultat de ces formules.
Il me faut passer par VB et j'utilise :
Selection.PasteSpecial Paste:=xlPasteValues,
Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
J'ai toujours le message "La méthode Paste Special de la classe
Range a
échoué"

J'ai l'impression qu'il ne comprend pas les constantes
xlPasteValues
et
xlNone.
Quelqu'un peut-il m'aider ?

Merci


























Avatar
Laurence
Merci !! ça marche

Peux-tu m'expliquer pourquoi cette syntaxe fonctionne contrairement à ma
première (Selection.PasteSpecial Paste := xlPasteValues ...) ? et quelle est
la différence entre xlPasteValues et xlValues ?


De ma faute. Teste :

With Workbooks(nom_fic1)
.Activate
.Worksheets(num_feuille).Activate

.Sheets(num_feuille).Cells.Copy
End With

With Workbooks(nom_fic2)
.Activate
.Worksheets(num_feuille).Activate

'copie en valeur
.Sheets(num_feuille).Cells.PasteSpecial Paste:=xlPasteValues
End With

Daniel
"Laurence" a écrit dans le message de
news:
dans ce cas il me plante un message sur le premier
.Worksheets(num_feuille).activate


Message d'erreur :
"Propriété ou méthode non gérée par cet objet."

C'est pas possible! il y a forcément un paramétrage qui n'est pas activé.
On m'a changé mon poste la semaine dernière et j'ai bien tout vérifié.


Essaie avec le code suivant :

With Windows(nom_fic1)
.Activate
.Worksheets(num_feuille).Activate

.Sheets(num_feuille).Cells.Copy
End With

With Windows(nom_fic2)
.Activate
.Worksheets(num_feuille).Activate

'copie en valeur
.Sheets(num_feuille).Cells.PasteSpecial Paste:=xlPasteValues
End With

Daniel
"Laurence" a écrit dans le message
de
news:
J'ai essayé sur un autre poste et la macro fonctionne.
Il doit y avoir un paramétrage ou une option qui est désactivée sur mon
poste - et sur celui de mon chef, qui ne fonctionne pas non plus :-( .
Je ne vois vraiment pas quoi


Il n'y a pas d'erreur dans ton code. La macro est-elle activée par un
bouton
?
Daniel
"Laurence" a écrit dans le
message
de
news:
Voici le code :
Windows(nom_fic1).Activate
Worksheets(num_feuille).Activate

Cells.Select
Selection.Copy

Windows(nom_fic2).Activate
Worksheets(num_feuille).Activate
Cells.Select

'copie en valeur
Selection.PasteSpecial Paste:=xlPasteValues,
Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse

il plante sur le Selection.PasteSpecial Paste
Les feuilles ne contiennent pas de cellules fusionnées. Si je le
fais à
la
main ça marche, mais pas à l'exécution de ma macro.


Bonjour.
Publie la partie de ton code qui contient le copier / coller.
Cordialement.
Daniel
"Laurence" a écrit dans le
message
de
news:
Bonjour

Je n'arrive pas à faire un coller spécial en valeur d'un classeur
sur
un
autre classeur.
Mon classeur 1 contient des formules et je voudrais coller sur
mon
classeur
2 le résultat de ces formules.
Il me faut passer par VB et j'utilise :
Selection.PasteSpecial Paste:=xlPasteValues,
Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
J'ai toujours le message "La méthode Paste Special de la classe
Range a
échoué"

J'ai l'impression qu'il ne comprend pas les constantes
xlPasteValues
et
xlNone.
Quelqu'un peut-il m'aider ?

Merci





























1 2