bonjour à tous
Je suis nouveau ici, et je me permets de solliciter votre aide.
Pour ma part, j'utilise excel au uotidien, mais je n'ai aucune connaissance de VBA ; aussi désolé si ma question semble un peu futile.
Je vous explique mon probleme :
Pour un besoin de reporting, je dois avoir un fichier avec un onglet source où je vois tous les departements mais chaque departement ne voit que le sien.
Aussi, j'ai crée 6 fichier avec l'onglet source 1 et source 2;
Aujourd'hui , je copie colle 6 fois l'onglet 1 et 6 fois l'onglet 2 ; sauf que le fochier fait des milliers de lignes et une fois sur 2 tout plante.

pourriez vous m'aider s'il vous plait à :
Créer une macro ui dirait
Dans le fichier global qui est à cette adresse, prendre l'onglet 1 et 2 et les coller dans les fichiers
Departement 1
Department 2 etc
le nom du departement est un code que je mets dans unnglet administration (poru qu'il ne colle que les données du 1 & du 2)
je suis ensuite arrivé à créer des TCD/gcD , sauf que je dois tout remettre à la main pour les changer. Afin d'aller plus vite, j'ai ecris janvier et l'année dans deux colonnes séparées avec un format texte/nombre mais pas calendrier.
Du coup , j'aimerais lancer une macro depuis le fichier global qui fait un copier coller vers le fichier du departement 1.
lancer une seconde macro depuis le fichier departement 1 qui supprime toutes les données ne lui appartenant pas et qd je choisis la colonne mois année me met à jour tous mes TCD.
Je me suis permis de mettre en pj deux fichiers poru vous montrer à quoi cela ressemble , ainsi que ma tentative de code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    Mois_analyse = Cells(3, 5)
 
    If Month(Mois_analyse) < 10 Then
        DateCube = Year(Mois_analyse) & "0" & Month(Mois_analyse)
    Else
        DateCube = Year(Mois_analyse) & Month(Mois_analyse)
    End If
 
    ligne = 4
    While Not Cells(ligne, ) = ""
        Activite = Cells(ligne, 3)
        Sheets(Activite).PivotTables("Tableau croisé dynamique").PivotFields("[Temps].[Calendrier-Mois].[Annee]").CurrentPageName = _
            "[Temps].[Calendrier-Mois].[Mois].&[" & DateCube & "]"
        ligne = ligne + 1
    Wend
 
 
End Sub
Ficheir Global exemple.xlsx
Ficheir departement 2.xlsx

je sais que ce n'est pas le projet du siecle, mais par avance merci pour votre aide

J'ai essayé de faire ce code pour le copier-coller , mais j'avoue avoir du mal. Si qqun peut m'aider svp?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Option Explicit
 
Sub Tst()
Dim LastRow As Long
Dim WsDepart As Worksheet
Dim WsDestination As Worksheet
 
    Set WsDestination = Sheets("Source1")
	Set WsDestination = Sheets("Source2")
    Set WsDepart = Sheets("Source1) --> Du nouveau fichier ,  mais je ne sais pas où mettre l'adresse
 
 
    LastRow = WsDestination.Range("A:D" & Rows.Count).End(xlUp).Row
 
    Application.ScreenUpdating = False
    WsDepart.Range("A:D").Copy
    WsDestination.Range("A:D" & LastRow + 1).PasteSpecial xlPasteValues
    --> La je veux dire que si dans la colonne D, je vois les données des autres départements alors il faut les enlever.
	J'essaye avec 
	If D=value cel "Administration_A1" then true
	If false = Delete  
 
 
 
    Set WsDestination = Nothing
    Set WsDepart = Nothing
End Sub