Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 [Resolu]explication sur : trouve dernière ligne non vide même si formule

herve62

XLDnaute Barbatruc
Supporter XLD
Bonsoir
Je remet 100 balles dans le manicrack !! sur le sujet ; En faisant mon tri de fichier utile/pas utile je retombe sur un qu'un membre m'avait posté à l'époque sur le fait
de trouver la réelle ligne vide de données , Bof !! , car si l'on met une formule dans cette colonne et étirée jusqu'à xxx lignes le résultat est la dernière ligne avec formule
dans ce fichier 23
j'ai ajouté La fonction GetderligneTexte qui date d'une appli de 2011 c'est elle qui avait résolu mon souci ( j'étais encore sous 2007) par contre incorporée dans x exemples comme ici Cela ne Fonctionne PLUS ??? mais elle est toujours ok dans mon appli ... c'est là que je pige plus
Ce n'est pas moi qui ai écrit ces fonctions !!!
Avec le Xlup et col A , là aucun souci !!!! le Pb est en col B
Cela pourra peut être encore utile dans le futur donc si quelqu'un a l'explication ???
 

Pièces jointes

  • derlig- v2_tableau.xlsm
    40.2 KB · Affichages: 6

James007

XLDnaute Barbatruc
Bonsoir,

Avec Find, tu as toute la souplesse nécessaire ... puisque tu peux jouer avec xlFormulas ou avec xlValues pour la même colonne B ...

VB:
Sub DernLigne()
Dim der As Long
der = Worksheets("Feuil2").Columns("B:B").Find(What:="*", SearchOrder:=xlRows, _
SearchDirection:=xlPrevious, LookIn:=xlFormulas).Row
MsgBox "Dernière Ligne dans la Feuille est " & der
End Sub
 

patricktoulon

XLDnaute Barbatruc
re bonsoir
salut
MsgBox Evaluate("=MATCH(""*"",B1:B1000,-1)")
voila

ca te donne la ligne ou il y a soit le dernier résultat d'une formule ou la dernière valeur
0 te donne la première
-1 te donne la dernière

Allez une autre
celle ci te donne la dernière occurrence de "a" de la colonne
MsgBox Evaluate("MAX(ROW(B1:B30)*(B1:B30=""A""))")
 
Dernière édition:

herve62

XLDnaute Barbatruc
Supporter XLD
re bonsoir
Bon j'ai mis vos propositions en test voir le fichier (Patrick 1 sur 2 ; James 0
Sinon , le pire .... cela veut dire que il y a 10 ans le vba n'était pas le même que maintenant ? , car je me rappelle bien avoir galéré des jours ici , et autres forum pour trouver une solution , et qu'à l'époque personne ne proposait ce genre de réponse !!
C'était juste par curiosité et certainement utile pour d'autres ,. Mais juste une instruction !!! ? je prends pour tester dans d'autres fichiers de mon grenier ... si je retrouve
Bonne soirée
 

Pièces jointes

  • derlig- v2_tableau.xlsm
    48.3 KB · Affichages: 8

patricktoulon

XLDnaute Barbatruc
re
evaluate existe depuis longtemps
ELLE sert a évaluer une expression en l’occurrence ici ( la retranscription d'une formule en vba)

disons que cette fonction est multitool

avant on l'avait même en excel (formule EVALUER) disparue des listes de formuleS dans les MEnu mais toujours utilisable
 

patricktoulon

XLDnaute Barbatruc
re

Bon j'ai mis vos propositions en test voir le fichier (Patrick 1 sur 2
????????????????????????????????????

VB:
Private Sub CommandButton1_Click()
dl = Evaluate("=MATCH(""*"",B1:B1000,-1)")
MsgBox "Patrick 1  : " & dl
dlig = Evaluate("MAX(ROW(B1:B1000)*(B1:B1000=""A""))")
If dlig <> 20 Then MsgBox "Patrick 2 : " & dlig & Chr(13) & "??"
 
End Sub

il est certain que "dlig = Evaluate("MAX(ROW(B1:B1000)*(B1:B1000=""A""))")" dans ton dernier fichier en exemple ne donnera rien tu n'a pas de cells avec juste "A"
 

James007

XLDnaute Barbatruc
Re,

J'espère que tu ne doutes pas du fait que j'ai testé et bien re-vérifié AVANT de poster le Message # 2

en prenant ta Feuille 2 ... Colonne B ...

et en utilisant une première fois xlValues et une deuxième fois xlFormulas ...
 

herve62

XLDnaute Barbatruc
Supporter XLD
mais enfin la REPONSE doit être 20 !! tout le temps ,non ???
Je veux bien tout ce que l'on veut , moi je vous laisse ce que j'ai avec vos codes
Donnez moi mon erreur !! elle doit y être ... mais où ??
 

Pièces jointes

  • macro.zip
    904.6 KB · Affichages: 5

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…