Bonjour à tous,
Je suis une toute nouvelle pratiquante VBA ! Excusez donc mon trop peu de connaissances sur ce sujet...
Afin de me faciliter la vie, j'ai décidé de m'y mettre : Here is my problem !
Imaginez donc une grosse base de données avec date de début/Date de fin.
De cette base, il me faut tirer les informations par semaines : je me suis donc créer un tableau avec numéro de semaines et dates correspondantes.
Je veux donc rentrer le n° de semaine de fin, pour que la VBA puisse aller dans le TCD, rafraîchir les données /semaines jusqu’à n° de fin et les coller dans une autre feuille à la suite les unes des autres.
Ma base se colle parfaitement à la suite (la boucle n'étant pas encore faite mais j'attends de résoudre mon pb avant de m'y mettre...) mais les formules m'indiquant l'année, le mois et la semaine c'est autre chose.
Les données rafraîchies du TCD se colle dans les colonnes D à E. Et les colonnes A B et C doivent mettre les semaines correspondantes avec mois et année.
Pb : Je n'arrive pas à copier la dernière ligne des colonnes ABC créée par mon code pour pouvoir l'incrémenter jusqu'à la dernière ligne de ma colonne D.
Voici mon 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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 Sub MacroBoucle() Dim nb As Integer nb = InputBox("Saisissez le numéro de semaine final") Dim rng As Range DerLigne = Sheets("Base CP Semaine").Range("A" & 65000).End(xlUp).Row 'Entrer le numéro de semaine final Sheets("PARAMETRES").Select Range("E1").Select Selection.Value = nb 'Copier les données de la semaine Range("E2").Select Sheets("Dyna CP").Select Range("A5:B34").Select ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotCache.Refresh Selection.Copy 'Coller les données de la semaine Sheets("Base CP Semaine").Select Range("D65000").End(xlUp).Offset(1).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False 'Formule pour n° de semaine / mois / année Range("A65000").End(xlUp).Offset(1).Select ActiveCell.FormulaR1C1 = "=YEAR(PARAMETRES!R2C2)" Range("B65000").End(xlUp).Offset(1).Select ActiveCell.FormulaR1C1 = "=MONTH(PARAMETRES!R2C2)" Range("C65000").End(xlUp).Offset(1).Select ActiveCell.FormulaR1C1 = "=PARAMETRES!R1C5" Range("A1:C65000").Value = Range("A1:C65000").Value End Sub
Si vous n'avez pas bien saisie, je reste à dispo !
Merci d'avance pour vos réponses !
Une débutante VBA
Partager