Dernière cellule non-vide dans excel 2007 [Résolu/Fermé]

Signaler
Messages postés
40
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
9 février 2017
-
 js09130 -
Bonjour,
Je désire trouver la dernière cellule NON VIDE et numérique d'une colonne :
- Si dans la cellule E350, la valeur de type texte est: "Chèque" alors chercher dans la colonne I la dernière cellule non vide en remontant vers le haut de la feuille, lire la cellule de type numérique, ajouter 1, inscrire le résultat en cellule I350.

Est-ce réalisable ?
Merci de vos réponses




4 réponses

Messages postés
17244
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
13 octobre 2020
4 285
Bonjour,

il est possible d'obtenir l'index ligne par formule

=RECHERCHE(9^9;A:A)

ou
=EQUIV(9^9;A:A;1)

pour avoir l'adresse de la cellule il suffit de précéder la formule par l'index colonne
="A"&RECHERCHE(9^9;A:A)
="A"&EQUIV(9^9;A:A;1)

ou encore directement
=ADRESSE(EQUIV(RECHERCHE(9^9;A:A);A1:A24;0);1;1)
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Messages postés
6960
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
13 octobre 2020
554
Bonjour,

Voici une macro qui recherche la dernière cellule non vide de la colonne A. ensuite elle vérifie si c'est du texte ou du numérique.
A adapter:

Private Sub derniereligne()
Dim Derniere
Derniere = Range("A65536").End(xlUp)
 If IsNumeric(Derniere) Then
 MsgBox "numeric"
 Else
 MsgBox "texte"
 End If
End Sub

Messages postés
40
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
9 février 2017

A l'attention de Mike-31
Merci,
- la formule =SI(D350="Chèque";RECHERCHE(9^9;H:H);"") donne un bon résultat si je place cette fonction dans la cellule D350.
- En modifiant un peu cette formule dans la cellule E350:
=SI(D350="Chèque";H350=RECHERCHE(9^9;H:H)+1;"") j'ai un retour "FAUX"

- si je place la formule : =SI(D350="Chèque";RECHERCHE(9^9;H:H)+1;"")
dans une cellule de la colonne H (H350) j'ai une erreur "Référence circulaire".
Merci de me faire savoir ou se trouve mon erreur ....
Messages postés
17244
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
13 octobre 2020
4 285
C'est normal, tu ne peux pas mettre une formule dans la cellule dont la formule fait référence à cette formule sauf cas particulier
Messages postés
40
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
9 février 2017

Merci pour ta réponse ... je reste avec mon problème ! comme je ne veux pas utiliser de macro, je vais chercher une solution différente du type "ESTERREUR". Faisable ?
J'ai résolu mon problème de la façon suivante :
- sur la cellule K350 j'ai rentré la formule :
=SI(D350="Chèque";RECHERCHE(9^9;$H$1:$H349);"")
- sur la cellule H350 j'ai entré la formule suivante :
=SI(D350="Chèque";K350+1;"")
L'astuce est dans la 1ère formule : $H$1:$H344 ! A remarquer l'absence du signe $ devant 349 qui est la cellule immédiatement supérieure et ainsi ne génère pas l'erreur de référence circulaire.
Ensuite, il ne reste plus qu'à "tirer" les deux celules vers le bas pour que s'incrémente la cette seconde partie de la matrice.
Pour la beauté de la feuille, la largeur de la colonne K est de 0 (zéro)
Bonjour

cs_Le Pivert pour avoir le numero de ligne

Private Sub derniereligne()
NumLigne = Range("A" & Rows.Count).End(xlUp).Row
If IsNumeric(Range("A" & NumLigne)) Then
MsgBox "numeric"
Else
MsgBox "texte"
End If
End Sub

A+
Maurice