Sub CopieBlocRout: Sheets("NomFeuilleCopier").Select ' sélectionne la feuille ou il faut copier Range("B1:C19").Select 'sélectionne le bloc a copier Application.CutCopyMode = False ' Rend le presse-papier disponible et vide Selection.Copy 'copie le bloc dans un presse-papier Sheets("NomFeuilleColler").Select 'sélectionne la feuille où il faut coller Range("A1").Select 'sélectionne la cellule/bloc ou il faut coller Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose : False 'copier uniquement les valeurs End sub
Le bloc à copier : Peut être une seule cellule : Range("B1"), une plage Range("B1 :C19"), ou une plage prédéfinie Range (P$). (Remarquez l'absence de guillemets.)
cellule/bloc ou il faut coller :
Une seule cellule sélectionnée : colle les données à l'identique que celles copiées.
Une plage sélectionnée :
- colle les données dans la plage sélectionnée
- si la plage collée est plus petite : ignore les données excédentaires
- si la plage collée est plus grande : colle le bloc entier et ignore les cellules non comprises dans le presse-papier.
Selection.Paste
Les variables
XlFormats : colle uniquement le format des cellules
XlFormulas : colle uniquement les formules des cellules
xlAll : colle tout
xlValues : colle uniquement les valeurs des cellules
Transpose = false colle le presse-papier dans le même sens que copié
Transpose = true colle le presse-papier en inversant le sens Colonne transposée en ligne et vice/versa, dans ce cas, ne pas sélectionner une plage mais uniquement la 1ère cellule où les valeurs doivent êtres copiées.
Cet exemple montre comment coller dans le Graph chart1 les données de la plage B1 :B5
Worksheets("Sheet1").Range("B1:B5").Copy Charts("Chart1").Paste
Il n'est pas toujours nécessaire d'activer des feuilles pour copier/coller :
Worksheets("Sheet1").Range("C1:C5").Copy ActiveSheet.Paste Destination:=Worksheets("Sheet1").Range("D1:D5")
A vous de voir pour nommer les feuilles où copier et où coller.
Je vais m'arrêter là pour le moment, il reste quelques fonctions plus pointues que je n'ai pas développé, si cela vous intéresse j'y reviendrais.
Lermitte222