Bonjour,
Désolé pour le titre du post, je ne savais trop comment le tourner...
Je vais tenter de poser le contexte et vous expliquer mon souci.
Dans un classeur Excel contenant autant de feuilles que de semaines dans une année civile, chacune comportant plusieurs colonnes pour les 7 jours de ladite semaine, je viens importer un csv issu d'un batch qui tourne quotidiennement.
De ce batch, je définis la semaine et le jour de la semaine. Cela dans le but de définir ma feuille cible et ma colonne de départ.
Chaque colonne ayant un nombre figé (dans le sens fixe) de lignes, je n'ai plus qu'à dérouler sur chacune de mes cellules une formule.
Enfin... "je n'ai plus qu'à", c'est en théoriecar je n'y arrive pas
Excel me ramène le message suivant "Propriété ou méthode non gérée par cet objet)"
Ci-dessous une partie de mon code, où il bloque au sein de la boucle "For i..." (pour info, les variables : MyDay, i et j ont été dimensonnées en Integer)
Pour info, jusqu'à l'écriture de cette boucle, j'ai tout testé, et tout fonctionne (Excel me trouve bien la feuille, ma colonne j, tout est ok).
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 'Définition de la semaine et du jour à traiter à partir de la date des batchs importés Sheets("Cumul Hebdo PRW").Range("H1").FormulaR1C1 = "=INT((R[1]C[-2]-SUM(MOD(DATE(YEAR(R[1]C[-2]-MOD(R[1]C[-2]-2,7)+3),1,2),{1E+99;7})*{1;-1})+5)/7)" Sheets("Cumul Hebdo PRW").Range("I1").FormulaR1C1 = "=+IF(WEEKDAY(R[1]C[-3])=1,7,WEEKDAY(R[1]C[-3])-1)" MyWeek = Sheets("Cumul Hebdo PRW").Range("H1").Value MyDay = Sheets("Cumul Hebdo PRW").Range("I1").Value 'Rappatriement des informations cherchées en face de chaque matricule ''Grille du CR With Sheets(MyWeek) 'On définit comme feuille cible celle de la semaine du batch Set TblRefLC = Sheets("base CR").Range("A" & Rows.Count).End(xlUp).Offset(0, 4) TblRef = "'base CR'!" & Sheets("base CR").Range("B2", TblRefLC).Address(, , xlR1C1) For j = MyDay * 7 - 4 To 50 Step 7 'On définit comme colonne de départ celle définie par le jour du batch For i = 5 To 29 .Cells(i, j).FormulaR1C1 "=IF(RC[-1]="""","""",IF(AND(LEN(RC[-1])>=4,ISERROR(VALUE(LEFT(RC[-1],4)))),VLOOKUP(VALUE(LEFT(RC[-1],3))," & TblRef & _ ",4,0),VLOOKUP(VALUE(LEFT(RC[-1],4))," & TblRef & ",4,0)))" Next i Next j End With
J'ai tenté unpour test, et ça bug aussi, donc je ne sais que coder pour faire ce que je souhaite faire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part .Cells(i, j).Select
Une âme charitable serait-elle en mesure de me dépanner et m'éclairer de ses lumières ?
Je vous remercie d'avance, et tiens à m'excuser si ce problème a déjà été posé et résolu. Je cherche bien évidemment sur le forum en parallèle.
Vous souhaitant une excellente journée à toutes et tous.
Partager