Fonction Effacement plage

Bonjour,

j'ai dans plusieurs feuille Excel le code ci-dessous

Les paramètres pouvant etre modifiés sont :

Le nom de la feuille

la colonne A

la colonne H

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

Plutot que de remettre ce code dans plusieurs module, je voudrai passer par un Fonction, pouvez vous m'aider ?

Merci

Bonjour,

Manque de précision. Essaye ce code dans un module, et appelle cette fonction dans ta procédure.

Function test(NomFich As String)
    With Sheets(NomFich)
            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
    End With
End Function
Alex2 a écrit :

Bonjour,

j'ai dans plusieurs feuille Excel le code ci-dessous

Les paramètres pouvant etre modifiés sont :

Le nom de la feuille

la colonne A

la colonne H

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

Plutot que de remettre ce code dans plusieurs module, je voudrai passer par un Fonction, pouvez vous m'aider ?

Merci

Re,

Essaye ça :

Function test(NomFich As String, ColStock As String, ColCal As String)
    With Sheets(NomFich)
            Nb_Ligne_Stocks = .Range(ColStock & Rows.Count).End(xlUp).Row
            Nb_Ligne_Calculee = .Range(ColCal & Rows.Count).End(xlUp).Row
            If Nb_Ligne_Calculee > Nb_Ligne_Stocks Then
                .Range(ColCal & "2:" & ColCal & Nb_Ligne_Calculee).ClearContents
            Else
                .Range(ColCal & "2:" & ColCal & Nb_Ligne_Stocks).ClearContents
            End If
    End With
End Function

L'appel de cette fonction se fait par exemple comme ça :

Call test("Rq Stocks", "A", "H")

NB : la prochaine fois évite d'envoyer ton message au complet pour montrer ce qu'il te manque. Quelques lignes suffit pour expliquer .Pense surtout qu'on essaye de te rendre service le plus rapidement possible

Rechercher des sujets similaires à "fonction effacement plage"