Bonjour à tous et à toutes,
c'est mon premier post sur le forum donc j’espère expliquer mon problème le plus clairement possible.
Version Excel : Microsoft Office 365 version 1708
Je suis actuellement en train de créer une boucle en VBA permettant de calculer des performances hebdomadaires.
En résumé ma feuille de calcul est organisé de la manière suivante :
En Colonne A => j'ai des dates
En Colonne B => j'ai le numéro de jours correspondant à la date en face => fonction Excel :=JOURSEM(A2))
Exemple:
Cellule A2 = 14/02/2014
Cellule B2 = 6 ( numéro de jours semaine correspondant à la date en A1
Cellule C2 = donnée numérique
et ceci jusqu'à la ligne 100
je souhaiterai réaliser une boucle me permettant à chaque fois que je tombe sur la valeur 6 dans la colonne B de réaliser un calcul par rapport aux données en colonne C
J'ai réussi à écrire la macro suivante :
Problème rencontré en rouge : je souhaiterai que mon Cells(i, 3).Offset(-5, 0) ne soit pas fixe mais qu'il aille chercher la ligne qui corresponds au précédent 6ème jours de la semaine
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 Public Sub test_1() Dim DernLigne As Long Dim i As Integer With Worksheets("Test") DernLigne = .Range("A" & Rows.Count).End(xlUp).Row End With For i = 4 To DernLigne If Cells(i, 2) = 6 Then Cells(i, 5) = Cells(i, 3) / Cells(i, 3).Offset(-5, 0) - 1 End If Next i End Sub
Auriez vous une idée pour aller chercher la valeur en colonne C du précédent 6ème jours ( indiqué en colonne B) ?
j'éspère être clair dans mon explication.
Je vous remercie par avance de votre aide.
Partager