Next For au sein d'un with Range
Bonjour,
Mon code ci dessous m'informe d'une incompatibilité de type et je me pose la question si un next est possible dans un with
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| Sub ajout()
Dim i As String
Dim j As String
Dim k As String
i = Workbooks("Production 1 .xls").Sheets("Production 1 ").Cells(65535, 1).End(xlUp)(1).Row
j = Workbooks("TESTCALCULRCV.xlsm").Sheets("MPH").Cells(65535, 1).End(xlUp)(2).Row
With Workbooks("TESTCALCULRCV.xlsm").Sheets("MPH")
.Range("A" & j & ":J" & (i * 2) - 1).Value = Workbooks("Production 1 .xls").Sheets("Production 1 ").Range("A2:J" & j - 1).Value
For k = 1 To i
.Range("K" & j) = "=IFERROR(IF(rstnum(I & i),I & i,VALUE(REPLACE(I & i,SEARCH("","",I & i,1),1,"".""))),0)"
Next k
End With
End Sub |
Merci de votre aide
Petit complément d'info suite évolution macro
Donc suite à vos éclairages j'ai fait évoluer mon code mais je rencontre un souci sur la variable Fich et en conséquence i
Car quand je lance avec le lecteur le code suivant cela fonctionne et si je relance une deuxième fois la varaible Fich n'est pas reconnue
J'ai pas d'idée sur cet état de fait
Merci de votre aide
Code:
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
| Sub ajout()
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim wb As Excel.Workbook
Dim Fich As String
j = Workbooks("TESTCALCULRCV.xlsm").Sheets("MPH").Cells(65535, 1).End(xlUp)(1).Row
For Each wb In Application.Workbooks
If wb.Name Like "production*" Then
wb.Activate: Exit For
'nom du classeur actif
Fich = ActiveWorkbook.Name
i = Workbooks(Fich).Sheets(1).Cells(65535, 1).End(xlUp)(1).Row
End If
Next wb
With Workbooks("TESTCALCULRCV.xlsm").Sheets("MPH")
.Range("A" & j & ":J" & j + i).Value = Workbooks(Fich).Sheets(1).Range("A2:J" & j).Value
For k = 0 To i
.Range("K" & j + k).Formula = "=IFERROR(IF(isnumber(I" & j + k & "),I" & j + k & ",VALUE(REPLACE(I" & j + k & ",SEARCH("","",I" & j + k & ",1),1,"".""))),0)"
Next k
End With
End Sub |