Menu

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

Messages postés
40
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
9 février 2017
- - Dernière réponse :  js09130 - 6 nov. 2014 à 15:40
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




Afficher la suite 

4 réponses

Messages postés
6100
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
17 juin 2019
370
0
Merci
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
16904
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
14 juin 2019
3491
0
Merci
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)
Messages postés
40
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
9 février 2017
0
Merci
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 ....
Mike-31
Messages postés
16904
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
14 juin 2019
3491 -
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
js09130
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)
0
Merci
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