Macro pour copier/coller des colonnes
Bonjour,
Alors j'ai des difficultés avec une macro qui m'a été demandé.
Je souhaite copié collé les colonnes d'une feuille à une autre sachant que le nombre de la 1ère colonne n'a pas le même nombre de lignes à chaque mois et est donc effacé tout les mois pour être remplacé pas un nouveau tableau.
Par contre les données de la feuil2 sont conservé tout le temps.J'ai mis les colonnes correspondante dans le ficher joint.
Donc je dois faire un bouton qui copierais les colonnes de la feuil1 à la feuil2.
J'espère avoir été clair et que vous pourrez m'aider par ce que j'ai vraiment du mal.
Merci d'avance.
Bonjour,
Quelles colonnes veux-tu copier exactement ? Toutes ? ou seulement celles marquées sur la feuille 2 de la façon dont tu les a marqué ? (Colonne F, Colonne G, Colonne B+C, Colonne B+D)...
Bonjour Zirak,
Je souhaite coller seulement les colonnes que j'ai marqué (colonne F de la feuil1 dans la colonne B de la feuil 2 ,colonne G de la feuil1 dans la colonne C de la feuil2 etc...).
bonjour,
voila la macro
va dans visual basic un copier coller
test et tiens nous au courant
Sub Macro1()
'
' Macro1 Macro
'
'
Sheets("Feuil1").Select
Range("F1").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Feuil2").Select
Range("B1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Feuil1").Select
Range("G1").Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Feuil2").Select
Range("C1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Feuil1").Select
Columns("D:D").Select
Application.CutCopyMode = False
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("D1").Select
ActiveCell.FormulaR1C1 = "=RC[-2]+RC[-1]"
Range("D1").Select
Selection.Copy
ActiveCell.Offset(0, -1).Range("A1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(0, 1).Range("A1").Select
Range(Selection, Selection.End(xlUp)).Select
ActiveSheet.Paste
Range("D1").Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Feuil2").Select
Range("D1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Feuil1").Select
Columns("D:D").Select
Selection.Delete Shift:=xlToLeft
Range("E7").Select
Columns("E:E").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("E1").Select
ActiveCell.FormulaR1C1 = "=RC[-3]+RC[-1]"
Range("E1").Select
Selection.Copy
ActiveCell.Offset(0, -1).Range("A1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(0, 1).Range("A1").Select
Range(Selection, Selection.End(xlUp)).Select
ActiveSheet.Paste
Range("E1").Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Feuil2").Select
ActiveWindow.SmallScroll Down:=-63
Range("F1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Feuil1").Select
Columns("E:E").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlToLeft
Range("A1").Select
End Suba bientot
Bonjour spyderpaint,
J'ai testé ta macro et ça fonctionne parfaitement.
Un grand merci pour le temps que t'as passé à faire cette macro!
Bonjour,
J'essaie d'adapter ce code pour faire la même chose mais sur un classeur différent.
Mais je suis bloqué à la ligne : classeurDestination.Sheets("Feuil1").Select
Voici le code :
Dim classeurSource As Workbook, classeurDestination As Workbook
'ouvrir le classeur source (en lecture seule)
Set classeurSource = Application.Workbooks.Open(Fichier_Travail)
'définir le classeur destination
Set classeurDestination = ThisWorkbook
'copier les données de la "Feuil1" du classeur source vers la "Feuil1" du classeur destination
'classeurSource.Sheets("Feuil1").Cells.Copy classeurDestination.Sheets("Feuil1").Range("A1")
classeurSource.Sheets("Feuil1").Select
Range("A2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
classeurDestination.Sheets("Feuil1").Select
Range("D1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'fermer le classeur source
classeurSource.Close False
End Sub
Pourriez vous m'aider ?