Code VBA : Utilisation d'une valeur MAX

Bonsoir,

Mon but serait d'effacer les colonnes D et E, selon le nombre de lignes maximum de l'une ou l'autre de ces deux colonnes.

Dans le code ci-dessous, .....

Sub Effacer_D_E()
Dim DerLigD As Long, DerLigE As Long, i As Long

    DerLigD = Range("D" & Rows.Count).End(xlUp).Row
    DerLigE = Range("E" & Rows.Count).End(xlUp).Row
    'i = Max(DerLigD, DerLigE)
    If DerLigD > DerLigE Then
        i = DerLigD
        Else
        i = DerLigE
    End If
    'Range("D2:E" & Max(DerLigD, DerLigE)).ClearContents
    If i > 1 Then
        Range("D2:E" & i).ClearContents
    End If
End Sub

..... j'ai tout d'abord essayé de placer la ligne

'Range("D2:E" & Max(DerLigD, DerLigE)).ClearContents

mais ça n'a pas passé.

Ensuite j'ai voulu essayer

   'i = Max(DerLigD, DerLigE)

mais sans plus de succès.

Comme la solution finalement trouvée me semble un peu compliquée, pourriez-vous me dire comment je pourrais améliorer ce code ?

A vous relire.

Bonsoir,

Tu dois mettre Application.Max(.....

devant Max

Sub Effacer_D_E()
Dim DerLigD As Long, DerLigE As Long, i As Long
    DerLigD = Range("D" & Rows.Count).End(xlUp).Row
    DerLigE = Range("E" & Rows.Count).End(xlUp).Row
    i = Application.Max(DerLigD, DerLigE)
    If i > 1 Then
        Range("D2:E" & i).ClearContents
    End If
End Sub

Amicalement

Claude

-- Lun Fév 28, 2011 10:49 pm --

re,

+ direct :

Sub essai()
Dim i&
    i = Columns("d:e").Find("*", , , , xlByRows, xlPrevious).Row
End Sub

Claude

Salut Claude,

Deux solutions géniales. Merci beaucoup pour ton aide.

Bonnes salutations.

Rechercher des sujets similaires à "code vba utilisation valeur max"