Optimisation formule (VBA)

Salut à tous,

J'ai une macro que j'ai effectué : aucun problème sur la syntaxe mais j'aimerais juste un moyen adapté à ce que je recherche.

Dim C As Range

For Each C In Worksheets("RECAPACHATS").Range("A4:H300")

If IsError(C) Then C.Formula = "0"

Next C

J'aimerais qu'à la place du range ("A4:H3") qu'il me cherche Range("A4:B300") AND Range("H4:H300")

Merci d'avance pour toute aide

Cordialement

Bonjour yournameisjeff,

With Worksheets("RECAPACHATS")
    For Each C In Union(.Range("A4:B300"), .Range("H4:H300"))
        If IsError(C) Then C.Formula = "0"
    Next C
End With

Il y a çà aussi qui est assez amusant !

With Worksheets("RECAPACHATS")
    Union(.Range("A4:B300"), .Range("H4:H300")).SpecialCells(xlCellTypeFormulas, 16) = 0
End With

Bonjour,

A tester :

Public Sub Demo()
Dim ws As Worksheet
Dim rng As Range, c As Range
    Application.ScreenUpdating = False
    Set ws = Worksheets("RECAPACHATS")
    With ws
        Set rng = Union(.Range("A4:B300"), .Range("H4:H300"))
        For Each c In rng
            If IsError(c) Then c = 0
        Next c
    End With
    Set ws = Nothing
End Sub

Nickel merci à vous deux pour vos réponses c'est parfait!

Cordialement

Rechercher des sujets similaires à "optimisation formule vba"