MERCI pour la formule.C'est super.Bonjour à tous,
Il n'y en a qu'une ?
si oui, un exemple :
Dim c As Range
With [A1:M500] 'plage à adapter
Set c = .Find("", .Cells(.Rows.Count, .Columns.Count), xlFormulas)
End With
If Not c Is Nothing Then MsgBox c.Address(0, 0), , "Première cellule vide" 'pour tester
Merci Job75Bonsoir KTM, djidji59430,
Testez :
A+VB:Dim c As Range With [A1:M500] 'plage à adapter Set c = .Find("", .Cells(.Rows.Count, .Columns.Count), xlFormulas) End With If Not c Is Nothing Then MsgBox c.Address(0, 0), , "Première cellule vide" 'pour tester
Sub TEST()
MsgBox Evaluate("=ADDRESS(MAX(ROW(E5:G9)*(E5:G9="""")),MAX(COLUMN(E5:G9)*(E5:G9="""")))")
End Sub
Sub TEST()
MsgBox Evaluate("=IFERROR(ADDRESS(MAX(ROW(E5:G9)*(E5:G9="""")),MAX(COLUMN(E5:G9)*(E5:G9=""""))),"""")")
End Sub
Merci !!!salut
en matricielle sans sommeprod
=ADRESSE(MAX(LIGNE(E5:G9)*(E5:G9=""));MAX(COLONNE(E5:G9)*(E5:G9="")))
et pour le vba
ben tu t’embête pas tu evalue la formule
VB:Sub TEST() MsgBox Evaluate("=ADDRESS(MAX(ROW(E5:G9)*(E5:G9="""")),MAX(COLUMN(E5:G9)*(E5:G9="""")))") End Sub
edit:
et avec la gestion d'erreur
formule
= SIERREUR( ADRESSE(MAX(LIGNE(E5:G9)*(E5:G9=""));MAX(COLONNE(E5:G9)*(E5:G9="")));"")
vba
VB:Sub TEST() MsgBox Evaluate("=IFERROR(ADDRESS(MAX(ROW(E5:G9)*(E5:G9="""")),MAX(COLUMN(E5:G9)*(E5:G9=""""))),"""")") End Sub