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