Copier coller entre classeur

croftman

XLDnaute Nouveau
Bonjour!

Voila, je voudrais copier-coller des cellules d'un classeur à un autre mais uniquement leur valeurs, j'ai testé ce code :

Code:
MaFeuilleDeDonnees.Range("B10", "H2503").Copy
Sheets("Prix").Range("A1", "G2494").PasteSpecial xlPasteValues, xlPasteSpecialOperationNone

Mais ça me copie aussi les formats de cellules!

Si je fais ça :
Code:
MaFeuilleDeDonnees.Range("B10", "H2503").Copy
Sheets("Prix").Range("A1", "G2494").PasteSpecial xlPasteValues, xlPasteSpecialOperationNone, False, False

J'ai une erreur (La méthode PasteSpecial de la classe Range à échoué)

Et idem pour
Code:
MaFeuilleDeDonnees.Range("B10", "H2503").Copy
Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

Auriez vous une solution??

Merci d'avance!
 

croftman

XLDnaute Nouveau
Re : Copier coller entre classeur

Pas bête mais toujours pas!

Mes cellules de destination sont au format "Standard" mais lors de la copie ben les formats sont copiés, ainsi que les couleurs, le gras, l'italique, le souligné...

C'est assez embêtant!

Merci de votre aide!
 

Cousinhub

XLDnaute Barbatruc
Re : Copier coller entre classeur

Re-,

le format "standard" ne veut pas dire que les cellules sont en normal(non gras), non soulignées, police standard.....

Supprimes tes anciennes cellules, ou colles les cellules dans un autre onglet, et re-essaye

Le :

Code:
Paste:=xlPasteValues

n'a aucune raison de reproduire le format des cellules copiées
 

croftman

XLDnaute Nouveau
Re : Copier coller entre classeur

Oui c'est bien pour cela que je suis venue poser la question :x
Je vais faire des tests sur d'autres classeurs!

Edit : Avec un classeur tout nouveau, ça me copie aussi les formats!
Je n'y comprend plus rien la...

Voila le code complet du copier coller :

Code:
Dim xls As New Excel.Application, MonClasseur, MaFeuilleDeDonnees

Set xls = New Excel.Application
Set MonClasseur = xls.Workbooks.Open(ThisWorkbook.Path & "\Module_base-prix_MidiPy_19-05-08.xls")
Set MaFeuilleDeDonnees = MonClasseur.Worksheets("base-prix_PERSO")

MaFeuilleDeDonnees.Range("B10", "H2503").Copy
Feuil1.Range("A1", "G2494").PasteSpecial xlPasteValues ', xlPasteSpecialOperationNone ', False, False
MaFeuilleDeDonnees.Range("N10", "N2503").Copy
Feuil1.Range("H1", "H2494").PasteSpecial xlPasteValues ', xlPasteSpecialOperationNone ', False, False
MaFeuilleDeDonnees.Range("HJ8", "HK29").Copy
Feuil1.Range("I18", "J39").PasteSpecial xlPasteValues ', xlPasteSpecialOperationNone ', False, False

MonClasseur.Close (False)
xls.Quit
 
Dernière édition:

Cousinhub

XLDnaute Barbatruc
Re : Copier coller entre classeur

Re-

pourquoi ouvrir une nouvelle instance d'excel?

Code:
Dim MonClasseur, MaFeuilleDeDonnees

Set MonClasseur = Workbooks.Open(ThisWorkbook.Path & "\client1.xls")
Set MaFeuilleDeDonnees = MonClasseur.Worksheets("base-prix_PERSO")

MaFeuilleDeDonnees.Range("B10", "H2503").Copy
Feuil1.Range("A1", "G2494").PasteSpecial xlPasteValues ', xlPasteSpecialOperationNone ', False, False
MaFeuilleDeDonnees.Range("N10", "N2503").Copy
Feuil1.Range("H1", "H2494").PasteSpecial xlPasteValues ', xlPasteSpecialOperationNone ', False, False
MaFeuilleDeDonnees.Range("HJ8", "HK29").Copy
Feuil1.Range("I18", "J39").PasteSpecial xlPasteValues ', xlPasteSpecialOperationNone ', False, False

MonClasseur.Close (False)

PS, ton code m'a un peu foutu une belle pagaille....
 

croftman

XLDnaute Nouveau
Re : Copier coller entre classeur

Non non Feuil1 ou sheets("Feuil1") ça fonctionne :)

Pourquoi une belle pagaille? Chez moi il fonctionne, hormis qu'il me copie tout au lieu des valeurs seulement :)

Edit: Ah ben oui, sans ouvrir une nouvelle instance, ça fonctionne oO

Merci :D
 
Dernière édition:

Cousinhub

XLDnaute Barbatruc
Re : Copier coller entre classeur

Re-,

Pourquoi une belle pagaille?

Ben, parce que j'ai un perso.xls, et que le fait d'ouvrir une nouvelle instance rend celui-ci inopérant....

Bref, je ne sais qui t'a donné ce code, mais je ne comprends pas pourquoi il avait rajouté une instance....

C'est valable, lorsque tu fais des liaisons entre "programme" (Word, Outlook...), mais pour Excel.......
 

Discussions similaires

Réponses
5
Affichages
211

Statistiques des forums

Discussions
312 782
Messages
2 092 071
Membres
105 181
dernier inscrit
hugocap