Bonjour,

Je cherche à piloter un classeur EXCEL par ACCESS avec le code suivant (formule de comparaison de la ligne du dessus et celle du dessous, c'est plus rapide que par rêquête)
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
 
 
Public Function mef(nomfic As String)
Dim appExcel As Object
rep = Application.CurrentProject.Path
Set appExcel = CreateObject("Excel.Application")
appExcel.Visible = True
 
    With appExcel
    .Workbooks.Open (nomfic)
     .Range("D2").FormulaR1C1 = "=IF(RC[-2]=R[-1]C[-2],R[-1]C[-1],"""")"
    .Range("E2").FormulaR1C1 = "=IF(RC[-3]=R[1]C[-3],R[1]C[-2],"""")"
    .Range("D2:E2").select
    .selection.copy
    .Range(cells(2, 4), cells(10, 4)).select
    .ActiveSheet.Paste
 
   .ActiveWorkbook.Save
    .Workbooks.Close
 
 
    End With
    appExcel.Quit
 
    Set appExcel = Nothing
 
 
End Function

En clair je mets une formule dans D2 et E2 et je veux les recopier jusqu'à la fin de mon tableau (ici 10ème ligne), mais je coince avec cells.

Si j'avais mis Range("D2:E10") ça aurait marché.

En plus, je ne comprends pas bien le With et comment je devrais faire si j'avais besoin d'une boucle par exemple (.Do While... ?)


Merci beaucoup pour votre aide.