Passage de paramètre fonction

Le
Brat'ac
Bonjour,

Un truc sûrement simple, mais je galère, j'ai fait une fonction qui
retourne
la première ligne vide d'une colonne passée en paramètre, OK c'est bon.
J'aimerais aussi passer en paramètre le nom d'une feuille, mais voilà
je n'y arrive pas
--
Function Premiere_ligne_vide_Colonne(C As String) As Integer
Dim Lig As Long
Lig = 1
Do While Not IsEmpty(Range(C & Lig))
Lig = Lig + 1
Loop
Premiere_ligne_vide_Colonne = Lig
End Function
-

Merci
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichD
Le #26502478
Le 21/déc./2018 à 12:36, Brat'ac a écrit :
-----------------------------------------------------------------
Function Premiere_ligne_vide_Colonne(C As String) As Integer
Dim Lig As Long
Lig = 1
Do While Not IsEmpty(Range(C & Lig))
Lig = Lig + 1
Loop
Premiere_ligne_vide_Colonne = Lig
End Function
----------------------------------------------

Bonjour,
'--------------------------
Sub test()
'7 = numéro de la colonne
'Feuil1 = nom de l'onglet de la feuille
MsgBox LastRow(7, "Feuil1")
End Sub
'-----------------------------------
Function LastRow(C As Long, NomFeuille As String) As Long
With Worksheets(NomFeuille)
LastRow = .Cells(.Rows.Count, C).End(xlUp).Row
If .Cells(LastRow, C) <> "" Then
LastRow = LastRow + 1
End If
End With
End Function
'-----------------------------------
MichD
MichD
Le #26502495
Le 21/déc./2018 à 12:56, MichD a écrit :
Le 21/déc./2018 à 12:36, Brat'ac a écrit :
-----------------------------------------------------------------
Function Premiere_ligne_vide_Colonne(C As String) As Integer
Dim Lig As Long
Lig = 1
Do While Not IsEmpty(Range(C & Lig))
Lig = Lig + 1
Loop
Premiere_ligne_vide_Colonne = Lig
End Function
----------------------------------------------



On peut faire aussi comme ceci en modifiant le type de variable
'------------------------
Sub test()
'7 numéro de la colonne
'feuil1 est la propriété Name de l'objet Feuille
MsgBox LastRow(7, Feuil1)
End Sub
'------------------------
Function LastRow(C As Long, Feuille As Worksheet) As Long
With Feuille
LastRow = .Cells(.Rows.Count, C).End(xlUp).Row
If .Cells(LastRow, C) <> "" Then
LastRow = LastRow + 1
End If
End With
End Function
'------------------------
MichD
Brat'ac
Le #26502491
MichD avait énoncé :
Super c'est parfait.
Merci et bonne fêtes de fin d'année !
Publicité
Poster une réponse
Anonyme