Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Copier coller entre classeur

  • Initiateur de la discussion Initiateur de la discussion croftman
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

croftman

Guest
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!
 
Re : Copier coller entre classeur

Heu oui j'avais vu cela! Mais ça me copie encore les valeurs ET les formats!
Je ne comprend pas pourquoi ça ne marche pas par le code VBA!
 
Re : Copier coller entre classeur

Bonjour,

tout simplement parce que tes cellules de destination sont déjà au format de tes cellules copiées, je pense
Mets toutes tes cellules de destination au format normal, et re-essaye
 
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!
 
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
 
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 modification par un modérateur:
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....
 
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 😀
 
Dernière modification par un modérateur:
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.......
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
10
Affichages
792
Réponses
18
Affichages
597
Réponses
2
Affichages
400
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…