Fonction Effacement plage

Bonjour,

Sur pas mal de feuille de mon classeur, je dois avant de lancer les macros effacer les données existantes, pour cela j'aimerais plutôt que de retaper le code dans chacun des modules utiliser une "Function".

Le code que j'utilise est le suivant :

Dim Nb_Ligne_Stocks, Nb_Ligne_Calculee As Long
With Sheets("Rq Stocks")
    Nb_Ligne_Stocks = .Range("A" & Rows.Count).End(xlUp).Row
    Nb_Ligne_Calculee = .Range("H" & Rows.Count).End(xlUp).Row
    If Nb_Ligne_Calculee > Nb_Ligne_Stocks Then
    .Range("H2:H" & Nb_Ligne_Calculee).ClearContents
    Else
    .Range("H2:H" & Nb_Ligne_Stocks).ClearContents
    End If

Pouvez-vous s'il vous plait m'aider à simplifier ce long travail d’écriture en remplaçant ce code par une fonction ?

Merci de votre aide

Bonjour

Quel est le nom des feuilles concernées et est-ce que la plage à effacer est toujours la même.

Un fichier serait le bien venu

A te relire

Bonjour

Comme tu effaces toujours la colonne H je te propose 3 solutions

La solution 3 ne comporte qu'une ligne

Sub Efface1()
  With Sheets("Rq Stocks")
    If .Range("H2") <> "" Then
      .Range("H2:H" & .Range("H" & Rows.Count).End(xlUp).Row).ClearContents
    End If
  End With
End Sub

Sub Efface2()
  With Sheets("Rq Stocks")
    .Range("H2:H" & Rows.Count).ClearContents
  End With
End Sub

Sub Efface3()
  Sheets("Rq Stocks").Range("H2:H" & Rows.Count).ClearContents
End Sub

Génial, merci de ton aide

Rechercher des sujets similaires à "fonction effacement plage"