Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

la dernière vraie valeur

41 réponses
Avatar
Misange
Coucou,
j'ai une plage de données, D9:Z58. Chaque cellule contient une formule
qui renvoie soit une valeur soit "".
Je cherche *en VBA* l'adresse de la dernière cellule de la plage qui
contient une valeur (non vide). Je ne trouve que des trucs hyper
compliqués. Qu'est ce qui vous semble le plus simple ?
marchi
--
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

10 réponses

1 2 3 4 5
Avatar
Misange
Bonjour Mon ange
héhé ! intéressante soluce. mais la même à l'intersection de la dernière
ligne et de la dernière colonne ?
Une tite question et plein de répondeurs avec des soluces différentes,
y'a pas c'est sympa le MPFe ;-)

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

salut Misange,

If Not IsError([z]) Then Names("z").Delete
Names.Add Name:="z",
RefersTo:="=MAX(IF(Feuil2!$D$9:$Z$58<>"""",ROW(Feuil2!$D$9:$Z$58)))"
MsgBox [z]


isabelle


Coucou,
j'ai une plage de données, D9:Z58. Chaque cellule contient une formule
qui renvoie soit une valeur soit "".
Je cherche *en VBA* l'adresse de la dernière cellule de la plage qui
contient une valeur (non vide). Je ne trouve que des trucs hyper
compliqués. Qu'est ce qui vous semble le plus simple ?
marchi




Avatar
Boisgontier
Tu avais la réponse dans jb-find sur Excelabo!

JB
"Misange" a écrit dans le message de news:
%
bonjour Jacques,
ce qu'il me faudrait c'est l'intersection des deux ;-)
autrement dit l'adresse de la cellule représentée par un x dans l'exemple
ci dessous


----------------------------
-----------
----------------------------------
--
-----------------------
----------------------- X


Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonjour Misange,

Peut être ça?

Sub dernièreligne()
Set x = [D9:Z30].Find("*", , xlValues, , xlByRows, xlPrevious)
MsgBox x.Address
End Sub

Sub dernièreColonne()
Set x = [D9:Z30].Find("*", , xlValues, , xlByColumns, xlPrevious)
MsgBox x.Address
End Sub

JB
"Misange" a écrit dans le message de news:
%
Coucou,
j'ai une plage de données, D9:Z58. Chaque cellule contient une formule
qui renvoie soit une valeur soit "".
Je cherche *en VBA* l'adresse de la dernière cellule de la plage qui
contient une valeur (non vide). Je ne trouve que des trucs hyper
compliqués. Qu'est ce qui vous semble le plus simple ?
marchi
--
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net







Avatar
Misange
c'est quoi excelabo ?

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Tu avais la réponse dans jb-find sur Excelabo!

JB
"Misange" a écrit dans le message de news:
%
bonjour Jacques,
ce qu'il me faudrait c'est l'intersection des deux ;-)
autrement dit l'adresse de la cellule représentée par un x dans l'exemple
ci dessous


----------------------------
-----------
----------------------------------
--
-----------------------
----------------------- X


Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonjour Misange,

Peut être ça?

Sub dernièreligne()
Set x = [D9:Z30].Find("*", , xlValues, , xlByRows, xlPrevious)
MsgBox x.Address
End Sub

Sub dernièreColonne()
Set x = [D9:Z30].Find("*", , xlValues, , xlByColumns, xlPrevious)
MsgBox x.Address
End Sub

JB
"Misange" a écrit dans le message de news:
%
Coucou,
j'ai une plage de données, D9:Z58. Chaque cellule contient une formule
qui renvoie soit une valeur soit "".
Je cherche *en VBA* l'adresse de la dernière cellule de la plage qui
contient une valeur (non vide). Je ne trouve que des trucs hyper
compliqués. Qu'est ce qui vous semble le plus simple ?
marchi
--
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net









Avatar
isabelle
pour l'adresse complete,

If Not IsError([z]) Then Names("z").Delete
Names.Add Name:="z", RefersTo:="=MAX(IF(Feuil2!$D$9:$Z$58<>"""",ROW(Feuil2!$D$9:$Z$58)))"
If Not IsError([y]) Then Names("y").Delete
Names.Add Name:="y", RefersTo:="=MAX(IF(Feuil2!$D$9:$Z$58<>"""",Column(Feuil2!$D$9:$Z$58)))"
MsgBox Cells([z], [y]).Address


isabelle


Bonjour Mon ange
héhé ! intéressante soluce. mais la même à l'intersection de la dernière
ligne et de la dernière colonne ?
Une tite question et plein de répondeurs avec des soluces différentes,
y'a pas c'est sympa le MPFe ;-)

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net


salut Misange,

If Not IsError([z]) Then Names("z").Delete
Names.Add Name:="z",
RefersTo:="=MAX(IF(Feuil2!$D$9:$Z$58<>"""",ROW(Feuil2!$D$9:$Z$58)))"
MsgBox [z]


isabelle


Coucou,
j'ai une plage de données, D9:Z58. Chaque cellule contient une
formule qui renvoie soit une valeur soit "".
Je cherche *en VBA* l'adresse de la dernière cellule de la plage qui
contient une valeur (non vide). Je ne trouve que des trucs hyper
compliqués. Qu'est ce qui vous semble le plus simple ?
marchi






Avatar
Boisgontier
Sub IntersectionDerLigneColonne()
x = Cells([D9:Z58].Find("*", , xlValues, , xlByRows, xlPrevious).Row,
[D9:Z58].Find("*", , xlValues, , xlByColumns, xlPrevious).Column).Address
MsgBox x
End Sub

http://cjoint.com/?frrxjA1zjn

JB


"Misange" a écrit dans le message de news:
%23tQJ$
c'est quoi excelabo ?

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Tu avais la réponse dans jb-find sur Excelabo!

JB
"Misange" a écrit dans le message de news:
%
bonjour Jacques,
ce qu'il me faudrait c'est l'intersection des deux ;-)
autrement dit l'adresse de la cellule représentée par un x dans
l'exemple ci dessous


----------------------------
-----------
----------------------------------
--
-----------------------
----------------------- X


Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonjour Misange,

Peut être ça?

Sub dernièreligne()
Set x = [D9:Z30].Find("*", , xlValues, , xlByRows, xlPrevious)
MsgBox x.Address
End Sub

Sub dernièreColonne()
Set x = [D9:Z30].Find("*", , xlValues, , xlByColumns, xlPrevious)
MsgBox x.Address
End Sub

JB
"Misange" a écrit dans le message de news:
%
Coucou,
j'ai une plage de données, D9:Z58. Chaque cellule contient une formule
qui renvoie soit une valeur soit "".
Je cherche *en VBA* l'adresse de la dernière cellule de la plage qui
contient une valeur (non vide). Je ne trouve que des trucs hyper
compliqués. Qu'est ce qui vous semble le plus simple ?
marchi
--
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net











Avatar
Boisgontier
Sub IntersectionDerLigneColonne()
x = Cells([D9:Z58].Find("*", , xlValues, , xlByRows, xlPrevious).Row,
[D9:Z58].Find("*", , xlValues, , xlByColumns, xlPrevious).Column).Address
MsgBox x
End Sub

http://cjoint.com/?frryEyhdhw

JB
"Misange" a écrit dans le message de news:
%23tQJ$
c'est quoi excelabo ?

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Tu avais la réponse dans jb-find sur Excelabo!

JB
"Misange" a écrit dans le message de news:
%
bonjour Jacques,
ce qu'il me faudrait c'est l'intersection des deux ;-)
autrement dit l'adresse de la cellule représentée par un x dans
l'exemple ci dessous


----------------------------
-----------
----------------------------------
--
-----------------------
----------------------- X


Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonjour Misange,

Peut être ça?

Sub dernièreligne()
Set x = [D9:Z30].Find("*", , xlValues, , xlByRows, xlPrevious)
MsgBox x.Address
End Sub

Sub dernièreColonne()
Set x = [D9:Z30].Find("*", , xlValues, , xlByColumns, xlPrevious)
MsgBox x.Address
End Sub

JB
"Misange" a écrit dans le message de news:
%
Coucou,
j'ai une plage de données, D9:Z58. Chaque cellule contient une formule
qui renvoie soit une valeur soit "".
Je cherche *en VBA* l'adresse de la dernière cellule de la plage qui
contient une valeur (non vide). Je ne trouve que des trucs hyper
compliqués. Qu'est ce qui vous semble le plus simple ?
marchi
--
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net











Avatar
Misange
YESSS !
bravo Isabelle t'es la meilleure :-)
mille mercis
trouver cette adresse sur une feuille ne comportant rien d'autre c'était
OK mais j'arrivais vraiment pas à le restreindre à une plage donnée

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

pour l'adresse complete,

If Not IsError([z]) Then Names("z").Delete
Names.Add Name:="z",
RefersTo:="=MAX(IF(Feuil2!$D$9:$Z$58<>"""",ROW(Feuil2!$D$9:$Z$58)))"
If Not IsError([y]) Then Names("y").Delete
Names.Add Name:="y",
RefersTo:="=MAX(IF(Feuil2!$D$9:$Z$58<>"""",Column(Feuil2!$D$9:$Z$58)))"
MsgBox Cells([z], [y]).Address


isabelle


Bonjour Mon ange
héhé ! intéressante soluce. mais la même à l'intersection de la
dernière ligne et de la dernière colonne ?
Une tite question et plein de répondeurs avec des soluces différentes,
y'a pas c'est sympa le MPFe ;-)

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net


salut Misange,

If Not IsError([z]) Then Names("z").Delete
Names.Add Name:="z",
RefersTo:="=MAX(IF(Feuil2!$D$9:$Z$58<>"""",ROW(Feuil2!$D$9:$Z$58)))"
MsgBox [z]


isabelle


Coucou,
j'ai une plage de données, D9:Z58. Chaque cellule contient une
formule qui renvoie soit une valeur soit "".
Je cherche *en VBA* l'adresse de la dernière cellule de la plage qui
contient une valeur (non vide). Je ne trouve que des trucs hyper
compliqués. Qu'est ce qui vous semble le plus simple ?
marchi








Avatar
Misange
YESS aussi !!
et celle là n'était pas dans jb-find ;-)
merci merci je peux continuer mon oeuvre éternelle pour le labo (le vrai
pas excelabo)

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Sub IntersectionDerLigneColonne()
x = Cells([D9:Z58].Find("*", , xlValues, , xlByRows, xlPrevious).Row,
[D9:Z58].Find("*", , xlValues, , xlByColumns, xlPrevious).Column).Address
MsgBox x
End Sub

http://cjoint.com/?frrxjA1zjn

JB


"Misange" a écrit dans le message de news:
%23tQJ$
c'est quoi excelabo ?

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Tu avais la réponse dans jb-find sur Excelabo!

JB
"Misange" a écrit dans le message de news:
%
bonjour Jacques,
ce qu'il me faudrait c'est l'intersection des deux ;-)
autrement dit l'adresse de la cellule représentée par un x dans
l'exemple ci dessous


----------------------------
-----------
----------------------------------
--
-----------------------
----------------------- X


Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonjour Misange,

Peut être ça?

Sub dernièreligne()
Set x = [D9:Z30].Find("*", , xlValues, , xlByRows, xlPrevious)
MsgBox x.Address
End Sub

Sub dernièreColonne()
Set x = [D9:Z30].Find("*", , xlValues, , xlByColumns, xlPrevious)
MsgBox x.Address
End Sub

JB
"Misange" a écrit dans le message de news:
%
Coucou,
j'ai une plage de données, D9:Z58. Chaque cellule contient une formule
qui renvoie soit une valeur soit "".
Je cherche *en VBA* l'adresse de la dernière cellule de la plage qui
contient une valeur (non vide). Je ne trouve que des trucs hyper
compliqués. Qu'est ce qui vous semble le plus simple ?
marchi
--
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net














Avatar
isabelle
au plaisir flo,
je trouve cette méthode bien pratique pour récupérer en vba les formules matricielle concocées par nos chigouristes (frère v et cie)
alors au passage merci également à eux,

isabelle


YESSS !
bravo Isabelle t'es la meilleure :-)
mille mercis
trouver cette adresse sur une feuille ne comportant rien d'autre c'était
OK mais j'arrivais vraiment pas à le restreindre à une plage donnée

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net


pour l'adresse complete,

If Not IsError([z]) Then Names("z").Delete
Names.Add Name:="z",
RefersTo:="=MAX(IF(Feuil2!$D$9:$Z$58<>"""",ROW(Feuil2!$D$9:$Z$58)))"
If Not IsError([y]) Then Names("y").Delete
Names.Add Name:="y",
RefersTo:="=MAX(IF(Feuil2!$D$9:$Z$58<>"""",Column(Feuil2!$D$9:$Z$58)))"
MsgBox Cells([z], [y]).Address


isabelle


Bonjour Mon ange
héhé ! intéressante soluce. mais la même à l'intersection de la
dernière ligne et de la dernière colonne ?
Une tite question et plein de répondeurs avec des soluces
différentes, y'a pas c'est sympa le MPFe ;-)

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net


salut Misange,

If Not IsError([z]) Then Names("z").Delete
Names.Add Name:="z",
RefersTo:="=MAX(IF(Feuil2!$D$9:$Z$58<>"""",ROW(Feuil2!$D$9:$Z$58)))"
MsgBox [z]


isabelle


Coucou,
j'ai une plage de données, D9:Z58. Chaque cellule contient une
formule qui renvoie soit une valeur soit "".
Je cherche *en VBA* l'adresse de la dernière cellule de la plage
qui contient une valeur (non vide). Je ne trouve que des trucs
hyper compliqués. Qu'est ce qui vous semble le plus simple ?
marchi










Avatar
MichDenis
Comment utiliser la fonction en VBA

'---------------------
Sub test()
With Worksheets("Feuil1")
MsgBox DerCell_NonVide(.Range("D9:Z58"))
End With
End Sub

'-----------------------
Function DerCell_NonVide(Plg As Range) As String
Dim DerLig As Long, DerCol As Integer
DerLig = Plg.Find("*", LookIn:=xlValues, _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
DerCol = Plg.Find("*", LookIn:=xlValues, _
SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
DerCell_NonVide = Cells(DerLig, DerCol).Address
End Function
'-----------------------





"Misange" a écrit dans le message de news:
%
là tu m'intéresses ;-)
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Il y a une coquille dû à un copier coller

Remplace Cells par Plg dans cette ligne de code

DerLig = Cells.Find("*", LookIn:=xlValues, _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row



"MichDenis" a écrit dans le message de news:

une fonction personnalisée que tu mets dans un module standard :
Et dans la cellule tu écris : ÞrCell_NonVide(A1:G21)

Ceci ne renvoie pas la dernière cellule utilisée dans la feuille mais
la dernière cellule dont la valeur est différente de ""
'-----------------------
Function DerCell_NonVide(Plg As Range) As String
Dim DerLig As Long, DerCol As Integer
DerLig = Cells.Find("*", LookIn:=xlValues, _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
DerCol = Plg.Find("*", LookIn:=xlValues, _
SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
DerCell_NonVide = Cells(DerLig, DerCol).Address
End Function
'-----------------------



"Misange" a écrit dans le message de news:
%
Coucou,
j'ai une plage de données, D9:Z58. Chaque cellule contient une formule
qui renvoie soit une valeur soit "".
Je cherche *en VBA* l'adresse de la dernière cellule de la plage qui
contient une valeur (non vide). Je ne trouve que des trucs hyper
compliqués. Qu'est ce qui vous semble le plus simple ?
marchi


1 2 3 4 5