Bonjour à tous,
Je suis un débutant en macro, il s'agit de ma première. Après une bonne documentation, je me lance, Si quelqu'un veut bien m'aider, car je bloque Grraaave.
J'ai deux classeurs excel: Wbk1 et Wbk2.
Wbk1 est le classeur à mettre à jour (sur lequel je vais effectuer les collages en feuille(2)), cette feuille contient un P&L avec en colonne les 12 mois de l'année et en lignes des postes de charges.
Wbk2 a 2feuilles qui m'interessent ("Comparatif Cumulé") et ("Données traitées"). l'un pour la Cell mois de clôtures et l'autre pour les valeurs MAJ.
L'idée est d'aller dans (Wbk2) vérifier dans la feuille ("Données traitées") une date (cellule liste déroulante) qui se situe (1,2)....la liste déroulante source se trouve sur cette même feuille en (429:442, 2). L'intérêt de la liste déroul est d'actualiser les données de la feuille ("Comparatif Cumulé") lorsque l'on change le mois...
La deuxième étape consiste alors à aller copier certaines cellules de charges de la feuille ("Comparatif Cumulé") et les coller dans le classeur Wbk1 feuille (2) dans la colonne du Mois qui correspond et face du poste de charge correspendant.
Voici LE CODE QUE J'ai écris (ne riez pas)... j'ai commencé par rapproché dans un tableau les mois, mais après ça coince.
Help, je ne connais pas bien le language vba, j,ai la volonté pourtant.
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
28
29
30
31
32
33
34
35
36
37
38 Sub Suivitest2() 'Nommer mes classeurs Dim Wbk1 As Workbook, Wbk2 As Workbook Dim A As Worksheet, B As Worksheet A = Worksheets("Données traitées") B = Worksheets("Comparatif Cumulé") 'Les classeurs étant fermés Set Wbk1 = ThisWorkbook Set Wbk2 = Workbooks.Open(Filename:="\\srv-data1\Profiles$\lkalla\Bureau\Test Macro dotation soins\Test Rep RH\Reporting RH PDJ 2011.xls") 'dimensionner tableau Emplacement pour rapprochement liste déroulante mois fichiers RH et Mois en colonne Fichier soins compta. Dim Emplacement(3, 12) As String 'Remplissage du tableau Emplacement For i = 1 To 12 Emplacement(1, i) = Wbk1.Worksheets(2).Cells(2, 2 * i + 1) Emplacement(2, i) = Wbk2.Worksheets("Données traitées").Cells(428 + i, 2) Emplacement(3, i) = Wbk2.Worksheets("Données traitées").Cells(1, 2) Next i If Wbk2.Worksheets("Données traitées").Cells(1, 2).Text = Wbk2.Worksheets("Données traitées").Cells(428 + i, 2).Text Then Worksheets(B).Select Application.CutCopyMode = False Cells(51, 2).Copy ActiveWindow.WindowState = xlMaximized ThisWorkbook.Activate ActiveWindow.WindowState = xlMaximized Cells(42, i).Select Selection.PasteSpecial End If End Sub
Partager