Dernière cellule non vide
Résolu/Fermé
Ziface
Messages postés
26
Date d'inscription
lundi 24 janvier 2011
Statut
Membre
Dernière intervention
18 février 2015
-
12 févr. 2014 à 11:02
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 13 févr. 2014 à 15:27
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 13 févr. 2014 à 15:27
A voir également:
- Dernière cellule non vide
- Dernière version ccleaner gratuit français - Télécharger - Nettoyage
- Formate pour taxer client frigo vide - Forum Loisirs / Divertissements
- Supprimer page word vide - Guide
- Coeur vide ✓ - Forum Facebook
- Excel cellule couleur si condition texte - Guide
2 réponses
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
12 févr. 2014 à 11:51
12 févr. 2014 à 11:51
Bonjour,
essaies
lignedoub = Columns("L").Find("*", , , , , xlPrevious).Row
essaies
lignedoub = Columns("L").Find("*", , , , , xlPrevious).Row
Ziface
Messages postés
26
Date d'inscription
lundi 24 janvier 2011
Statut
Membre
Dernière intervention
18 février 2015
12 févr. 2014 à 13:24
12 févr. 2014 à 13:24
Bonjour Michel,
Merci pour ta réponse mais malheureusement cela ne détecte pas la cellule que je souhaiterais.
En fait j'ai ma colonne L où toutes les cellules contiennent la formule suivante :
=IF(AND(ISBLANK(G7);ISBLANK(K7));" ";IF((SUM(H7:I7))=3;"Out of order";IF((SUM(H7:J7))>3;"Out of order";IF((SUM(H7:J7))=3;"Finished";"In progress"))))
En fait ca m'affiche, soit " " (rien) soit "Out of Order" soit "Finished" ou soit "In progress"
Et ce que j'aimerais c'est que, la cellule qui a comme statut " " soit détecté comme vide pour pouvoir utiliser Range("L" & Rows.Count).End(xlUp).Row
A votre avis est-ce que c'est possible ?
Merci.
Ziface
Merci pour ta réponse mais malheureusement cela ne détecte pas la cellule que je souhaiterais.
En fait j'ai ma colonne L où toutes les cellules contiennent la formule suivante :
=IF(AND(ISBLANK(G7);ISBLANK(K7));" ";IF((SUM(H7:I7))=3;"Out of order";IF((SUM(H7:J7))>3;"Out of order";IF((SUM(H7:J7))=3;"Finished";"In progress"))))
En fait ca m'affiche, soit " " (rien) soit "Out of Order" soit "Finished" ou soit "In progress"
Et ce que j'aimerais c'est que, la cellule qui a comme statut " " soit détecté comme vide pour pouvoir utiliser Range("L" & Rows.Count).End(xlUp).Row
A votre avis est-ce que c'est possible ?
Merci.
Ziface
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
12 févr. 2014 à 14:02
12 févr. 2014 à 14:02
Tu écris
le numéro de la dernière ligne vide d'une colonne avec la formule suivante :
or d'après ta formule
IF(AND(ISBLANK(G7);ISBLANK(K7));" ";IF((S....
" " n'est pas vide car l'espace est un caractère. Il faut donc que tu marques "" et non " "
ma formule marche dans les 3 cas("" ou " " ou "out of..."): je viens de tester: elle la dernière ligne avec résultat de formule donc tu ajoutes +1 à la formule apparemment tu n'as pas envie de me croire ou je ne comprends pas ta question
le numéro de la dernière ligne vide d'une colonne avec la formule suivante :
or d'après ta formule
IF(AND(ISBLANK(G7);ISBLANK(K7));" ";IF((S....
" " n'est pas vide car l'espace est un caractère. Il faut donc que tu marques "" et non " "
ma formule marche dans les 3 cas("" ou " " ou "out of..."): je viens de tester: elle la dernière ligne avec résultat de formule donc tu ajoutes +1 à la formule apparemment tu n'as pas envie de me croire ou je ne comprends pas ta question
Ziface
Messages postés
26
Date d'inscription
lundi 24 janvier 2011
Statut
Membre
Dernière intervention
18 février 2015
Modifié par Ziface le 12/02/2014 à 14:28
Modifié par Ziface le 12/02/2014 à 14:28
Michel,
Je viens de corriger le " " par "".
Mais sinon, je pense qu'on se comprend pas, certainement dû au fait que je me sois mal exprimé, car j'ai bien testé ta formule et cela me renvoie exactement la même valeur que la mienne.
Ca considère que les cellules "" (donc vides pour moi) contiennent bien quelque chose, contrairement à ce que je souhaiterais
Et quand je dis :
Et ce que j'aimerais c'est que, la cellule qui a comme statut " " soit détecté comme vide pour pouvoir utiliser Range("L" & Rows.Count).End(xlUp).Row
Je pourrais aussi bien dire :
Et ce que j'aimerais c'est que, la cellule qui a comme statut " " soit détecté comme vide pour pouvoir utiliser Columns("L").Find("*", , , , , xlPrevious).Row
Peu m'importe mais les deux me renvoient le même résultat et considèrent que "" n'est pas vide
Je viens de corriger le " " par "".
Mais sinon, je pense qu'on se comprend pas, certainement dû au fait que je me sois mal exprimé, car j'ai bien testé ta formule et cela me renvoie exactement la même valeur que la mienne.
Ca considère que les cellules "" (donc vides pour moi) contiennent bien quelque chose, contrairement à ce que je souhaiterais
Et quand je dis :
Et ce que j'aimerais c'est que, la cellule qui a comme statut " " soit détecté comme vide pour pouvoir utiliser Range("L" & Rows.Count).End(xlUp).Row
Je pourrais aussi bien dire :
Et ce que j'aimerais c'est que, la cellule qui a comme statut " " soit détecté comme vide pour pouvoir utiliser Columns("L").Find("*", , , , , xlPrevious).Row
Peu m'importe mais les deux me renvoient le même résultat et considèrent que "" n'est pas vide
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié par michel_m le 12/02/2014 à 15:38
Modifié par michel_m le 12/02/2014 à 15:38
Ces histoires de vide, rien, zéro sont toujours sources de mal entendu ! comme disait Raymond Devos
si j'ai compris, une formule pour trouver la dernière cellule sans "", mais uniquement résultat d'une formule (rectifie le " " en "")
=MAX(SI(L2:L100<>"";LIGNE(L2:L100)))
anglophone
MAX(IF(L2:L100<>"",ROW(L2:L100)))
Formule matricielle à valider par « ctrl+maj+entrée » (et non directement par « entrée »), le curseur clignotant dans la barre de formule; Excel encadre alors automatiquement la formule par des {}
si j'ai compris, une formule pour trouver la dernière cellule sans "", mais uniquement résultat d'une formule (rectifie le " " en "")
=MAX(SI(L2:L100<>"";LIGNE(L2:L100)))
anglophone
MAX(IF(L2:L100<>"",ROW(L2:L100)))
Formule matricielle à valider par « ctrl+maj+entrée » (et non directement par « entrée »), le curseur clignotant dans la barre de formule; Excel encadre alors automatiquement la formule par des {}
Ziface
Messages postés
26
Date d'inscription
lundi 24 janvier 2011
Statut
Membre
Dernière intervention
18 février 2015
13 févr. 2014 à 09:32
13 févr. 2014 à 09:32
Merci Michel de prendre un peu de ton temps pour venir à mon secours.
Mais par contre je crois qu'on s'égare sur ce que je veux faire, je vais tenter de reposer le problème le plus clairement possible.
Suivant cette formule :
lignedoub = Range("L" & Rows.Count).End(xlUp).Row
ou bien
lignedoub = Columns("L").Find("*", , , , , xlPrevious).Row
Je cherche à avoir le numéro de ligne de la dernière cellule vide rencontrée sur la colonne L.. On est d'accord ?
Toutes les cellules parcourues contiennent la formule suivante :
=IF(AND(ISBLANK(G7);ISBLANK(K7));"";IF((SUM(H7:I7))=3;"Out of order";IF((SUM(H7:J7))>3;"Out of order";IF((SUM(H7:J7))=3;"Finished";"In progress"))))
Et ont donc un statut soit "", soit "In progress", soit "Out of Order"
Donc mon problème c'est que
lignedoub = Columns("L").Find("*", , , , , xlPrevious).Row
s'arrete même sur une cellule ayant pour statut "" alors que j'aimerais que ce soit invisible et que ca considère que c'est une cellule vide malgré la formule.et que continue jusqu'au rencontrer un 'In progress" ou un "Out of order".
J'espère que j'ai été un peu plus claire.
Et encore merci de ton aide Michel.
Cdt.
Ziface
Mais par contre je crois qu'on s'égare sur ce que je veux faire, je vais tenter de reposer le problème le plus clairement possible.
Suivant cette formule :
lignedoub = Range("L" & Rows.Count).End(xlUp).Row
ou bien
lignedoub = Columns("L").Find("*", , , , , xlPrevious).Row
Je cherche à avoir le numéro de ligne de la dernière cellule vide rencontrée sur la colonne L.. On est d'accord ?
Toutes les cellules parcourues contiennent la formule suivante :
=IF(AND(ISBLANK(G7);ISBLANK(K7));"";IF((SUM(H7:I7))=3;"Out of order";IF((SUM(H7:J7))>3;"Out of order";IF((SUM(H7:J7))=3;"Finished";"In progress"))))
Et ont donc un statut soit "", soit "In progress", soit "Out of Order"
Donc mon problème c'est que
lignedoub = Columns("L").Find("*", , , , , xlPrevious).Row
s'arrete même sur une cellule ayant pour statut "" alors que j'aimerais que ce soit invisible et que ca considère que c'est une cellule vide malgré la formule.et que continue jusqu'au rencontrer un 'In progress" ou un "Out of order".
J'espère que j'ai été un peu plus claire.
Et encore merci de ton aide Michel.
Cdt.
Ziface
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
13 févr. 2014 à 09:52
13 févr. 2014 à 09:52
Bonjour
as tu essayé en adaptant
=MAX(SI(L2:L100<>"";LIGNE(L2:L100)))
anglophone
MAX(IF(L2:L100<>"",ROW(L2:L100)))
Formule matricielle à valider par « ctrl+maj+entrée » (et non directement par « entrée »), le curseur clignotant dans la barre de formule; Excel encadre alors automatiquement la formule par des {}
petite maquette de travail
le +1 est pour indiquer la première cellule égale à ""
https://www.cjoint.com/?3BnjZ6MZlcn
as tu essayé en adaptant
=MAX(SI(L2:L100<>"";LIGNE(L2:L100)))
anglophone
MAX(IF(L2:L100<>"",ROW(L2:L100)))
Formule matricielle à valider par « ctrl+maj+entrée » (et non directement par « entrée »), le curseur clignotant dans la barre de formule; Excel encadre alors automatiquement la formule par des {}
petite maquette de travail
le +1 est pour indiquer la première cellule égale à ""
https://www.cjoint.com/?3BnjZ6MZlcn