|
|
|
|
Bonjour,
Toujours débutant en Macro excel....
Maintenant je cherche à réunir plusieurs données sous un même fichier dans un même onglet.
Mon document de base est classeur2.xls J'ai deux onglets, un nommé "Mois" vierge de données, l'autre nommé "Année" avec les anciennes données des mois précédents.
Mes données sont dans le fichier Classeurtestextraction.xls (Ce document regroupe mes données du mois)
A partir de classeur2.xls je veux lancer une macro permettant:
D'aller copier les données dans Classeurtestextraction.xls
De les coller dans l'onglet "Mois" de classeur2.xls
Jusque là je sais faire
Puis de les coller dans l'onglet "Année" de classeur2.xls
Comme dit précédement dans cet onglet figure déjà des données (données des mois précédents).
Je veux faire identifier à la macro la première cellule libre dans la colonne A afin de coller mes nouvelles données juste en dessous de la dernière ancienne.....
En résumé j'ai dans cet onglet des données occupants les colonnes A à G jusqu'à la ligne n
Je souhaite coller mes nouvelles données en An+1
Merci de vos réponses.
Configuration: Windows 2000 Internet Explorer 6.0
Salut Pilas31,
|
Bon voila:
Sub Macro3()
'
' Macro3 Macro
'
Dim Derlig As Long
'
Sheets("Feuil1").Select
Derlig = Range("A65536").End(xlUp).Row
Range(Cells(1, 1), Cells(Derlig, 3)).Copy
Sheets("Feuil3").Select
Derlig = Range("A65536").End(xlUp).Row + 1
Cells(Derlig, 1).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Sheets("Feuil2").Select
Derlig = Range("A65536").End(xlUp).Row
Range(Cells(1, 1), Cells(Derlig, 3)).Copy
Sheets("Feuil3").Select
Derlig = Range("A65536").End(xlUp).Row + 1
Cells(Derlig, 1).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
End Sub
Ton code était presque correct, les 2 problèmes étaient : 1/ la double déclaration de Derlig 2/ avant le paste il faut selectionner la cellule Cela doit fonctionner A+ Cordialement, |
Merco Pilas,
|
Bonjour,
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _ "Année!R1C1:R21C8").CreatePivotTable TableDestination:="Graph1!R4C1", TableName:= _ "Tableau croisé dynamique1", DefaultVersion:=xlPivotTableVersion10 Juste une petite remarque, si tu veux que tout le tableau soit pris en compte pour le tableau croisé dynamique et si je reprends la fin de ton code, cela devient :
Sheets("Année").Select
Derlig = Range("A65536").End(xlUp).Row
Range(Cells(1, 1), Cells(Derlig, 11)).Select
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=Selection) _
.CreatePivotTable TableDestination:="Graph1!R4C1", TableName:="Tableau croisé dynamique1", _
DefaultVersion:=xlPivotTableVersion10
Voilà mais attention cela ne fonctionne que la première fois puisque c'est une création. A+ Cordialement, |
Répondre à pilas31
|
Re Bonjour,
|
Salut Fabnad,
Charts.Add
ActiveChart.SetSourceData Source:=Sheets("Graph1").Range("A4")
ActiveChart.Location Where:=xlLocationAsNewSheet
Cela créé un graphique à partir du TCD de la feuille "Graph1" dans une nouvelle feuille. Chaque fois que tu exécutes ce code, une nouvelle feuille est créée toujours à partir du même TCD. A+ Cordialement, |