Range à partir de variable faisant référence à valeur feuille de calcul

Bonjour à toutes et tous,

Je n'arrive pas à créer un code avec la fonction RANGE dont les paramètres seraient issue de valeurs de ma feuille de calcul.

Pour exemple :

Sur ma feuille de calcul je saisie en B1 : A5, en B2 D10

Je voudrais par macro effacer le contenu de la plage A5:D10 avec un code RANGE qui fonctionnerait comme cela

RANGE("valeur de la cellule B1:valeur de la cellule B2")

Sub Test

RANGE("valeur de la cellule B1:valeur de la cellule B2").ClearContents

End Sub

Pourriez-vous m'aider ?

Merci

Très cordialement

Hugues

Hello,

comme ceci :

Worksheets("NomDeLaFeuille").Range("A5:D10").ClearContents

Bonjour Rag02700, toutes et tous,

Rag02700 merci de t'intéresser à mon poste. En fait .Range("A5:D10") est le fonctionnement normal que j'ai à peu pré compris.

Ce que je voudrais pouvoir faire c'est que A5:D10 soit des variables issues de valeur renseignées dans la feuille de calcul.Ainsi si je modifie dans mon exemple B1 avec valeur A6 et B2 par F30 Range devient .Range("A6:F30).

En B1 & B2 de la feuille de calcul référence que RANGE doit prendre dans la macro dans ce cas RANGE("A5:D10") mais cela aurait pu être Range("A6:F30).si B1 avait A6 & B2 F30 dans la feuille de calcul.

Je joins un classeur pour essayer de rendre ma demande plus compréhensible

Merci

Très cordialement

Hugues

Bonjour toutes et tous,

En continuant mes recherches j'ai réussi à obtenir ce que je veux avec le code ci-dessous (repris dans le fichier joint).

Cela fonctionne mais je reste à l'écoute de votre avis et de vos conseils pour optimiser encore le code ou le rendre plus simple moins de lignes par exemple.

Merci

Très cordialement

Hugues

Sub EffacerPlage()
    Dim ws As Worksheet
    Dim plageDebut As String
    Dim plageFin As String
    Dim plageComplete As Range

    ' Sélectionne la feuille de calcul
    Set ws = ThisWorkbook.Worksheets("Feuil1") ' Remplace "Feuil1" par le nom de ta feuille de calcul si besoin

    ' plages de début et de fin à partir des cellules B1 et B2 de la feuille de calcul
    plageDebut = ws.Range("B1").Value
    plageFin = ws.Range("B2").Value

    ' plage avec RANGE issue des cellules B1 et B2 de la feuille de calcul
    Set plageComplete = ws.Range(plageDebut & ":" & plageFin)

    ' Efface contenu de la plage
    plageComplete.ClearContents

End Sub
Rechercher des sujets similaires à "range partir variable faisant reference valeur feuille calcul"