car je dois exécuter ce code sur plusieurs lignes excel
Dim oRange As Range Set oRange = Sheets("Liste").Range("A1:B45") Call maProcedure(oRange)
Sub maProcedure(ByRef TheRange As Range) Dim myCell As Range For Each myCell In TheRange Debug.Print myCell.Value Next End Sub(*) Ajoute Public devant la déclaration de cette Sub si tu la places dans un module différent de la procédure appelante.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionSub Comptage(ByVal Zone$) Dim C1 As Range, C2 As Range, Z As Range On Error Resume Next Set Z = Range(Zone) 'on teste la validité de la zone If Err.Number <> 0 Then MsgBox "La zone passée en paramètre est invalide", vbCritical, "ERREUR ZONE " & Zone Exit Sub End If On Error GoTo 0 Set C1 = Z(1).Offset(0, -2) '2 col avant la zone de recherche Set C2 = Z(1).Offset(0, -1) '1 col avant C1.Value = WorksheetFunction.CountIf(Z, "CA") + WorksheetFunction.CountIf(Z, "1/2 CA") / 2 C2.Value = WorksheetFunction.CountIf(Z, "RH") + WorksheetFunction.CountIf(Z, "1/2 RH") / 2 Set C1 Nothing: Set C2 Nothing: Set Z = Nothing End Sub