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

Pastespecial

CISCO

XLDnaute Barbatruc
Bonjour à tous

J'essaye de faire une petite macro (si, si, c'est vrai !!!) (Prière de ne pas rire trop fort ) pour copier une plage contenant des formules et pour la coller juste à coté, en gardant toute la mise en forme (couleurs, bordures, format) mais en mettant les valeurs à la place des formules.

J'ai essayé avec ça :
Range("f12:q18").Copy
Range("S12:AD18").Select
Selection.PasteSpecial xlValues

et cela fonctionne pour coller uniquement les valeurs.

Qu'est que je dois mettre en plus pour garder toute la mise en forme ?

Je ne met pas de fichier en pièce jointe... Est-ce nécessaire dans ce cas ?

@ plus
 
Dernière édition:

Efgé

XLDnaute Barbatruc
Re : Pastespecial

Bonjour Cisco

Une proposition:
VB:
Sub test()
'Copier/coller de tout
Range("f12:q18").Copy Range("S12:AD18")
'écrasement des formules
Range("S12:AD18").Value = Range("S12:AD18").Value
End Sub

p.s inutile d'utiliser select

Cordialement
 

Papou-net

XLDnaute Barbatruc
Re : Pastespecial

Bonjour CISCO,

Et bienvenue dans le monde féérique des macros.

Sauf mauvaise compréhension de ma part, un simple Paste copie tout, données et format?

Mais on peut faire tout celà en une seule ligne de code.

Ex:

Code:
Range("f12:q18").Copy Range("S12:AD18")
A +

Cordialement.

Oups, collision. Salut Efgé
 
Dernière édition:

Paf

XLDnaute Barbatruc
Re : Pastespecial

Bonjour CISCO, Efgé, Papou-net

pour copier formats et valeurs, une autre solution :'un 'paste' en 2 temps: on copie les valeurs puis les formats (ou l'inverse)

Code:
Range("f12:q18").Copy
Range("S12").PasteSpecial xlValues
Range("S12").PasteSpecial xlPasteFormats

A+
 

Papou-net

XLDnaute Barbatruc
Re : Pastespecial


Bonjour Paf,

Un Paste se suffit à lui_même pour copier intégralement valeurs, formules et formats. Ce n'est que si l'on ne veut copier que partiellement que l'on utilise PasteSpecial.

Cordialement.
 

CISCO

XLDnaute Barbatruc
Re : Pastespecial

Bonjour à tous, bonjour Papou-net


Oui, mais je ne veux pas tout, je veux tout, mais avec les valeurs à la place des formules.

@ plus

P.S : merci pour le "Bienvenue dans le monde merveilleux des macros" .
 

CISCO

XLDnaute Barbatruc
Re : Pastespecial

Bonjour à tous

@ paf : C'était le xlPasteFormats qui me manquait. Je ne connaissais pas. Ca fonctionne nickel.

Merci à toi, Efgé et à Papou-net.

Pour ma culture, est-ce que c'est faisable avec un truc du style
Range("S12").PasteSpecial xlformula:=False
(j'ai mis xlformula, mais je ne connais pas le vrai terme)

@ plus
 
Dernière édition:

Paf

XLDnaute Barbatruc
Re : Pastespecial

Re tous,

@ Papou-net

Un Paste se suffit à lui_même pour copier intégralement valeurs, formules et formats. Ce n'est que si l'on ne veut copier que partiellement que l'on utilise PasteSpecial.

tout à fait d'accord, mais justement CISCO ne veut pas copier les formules mais la valeur retournée par ces formules


@ CISCO

xlPasteFormulas = False ne fonctionne pas;

on ne peut pas utiliser PasteSpecial et supprimer certains paramètres de copie, il faut sélectionner un paramètre ( et pas plus) qui sera actif, d'où les deux lignes :une par paramètre.

Par ailleurs le code de Efgé fonctionne également, mais nécessite aussi 'deux passes'

Cordialement
 

Discussions similaires

Réponses
11
Affichages
848
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…