Afficher la dernière entrée ?

giacolove

XLDnaute Nouveau
Bnjour,

J'ai une colonnes A, d'une longueur de 100 lignes.

La colonne A contient des données non continues. C'est à dire que par exemple, la ligne 10 ne contient aucune donnée alors que la 11 en contient une.

Dans une cellule quelconque de la colonne B, je souhaite afficher la dernière valeur entrée dans la colonne A (entre la ligne 1 et 100).

Comment faire ? J'ai chercher si il existait une fonction de type last ou dernière, mais je n'ai rien trouvé !
 

mth

XLDnaute Barbatruc
Re : Afficher la dernière entrée ?

Bonsoir,

Dans ta colonne A, on trouve des chiffres? des formules? du texte?

Sans en savoir plus ... un essai VBA (en imaginant que la colonne A, même sans donnée, contient au moins un intitulé de colonne)

Code:
Sub Macro1()
Dim i As Integer
Dim a As Variant
 
i = 100 [COLOR=green]' variable i à 100 pour démarrer la boucle à partir de la ligne 100[/COLOR]
a = Sheets("Feuil1").Cells(i, 1).Value [COLOR=green]'on regarde la cellule A100 onglet Feuil1[/COLOR]
Do While a = "" [COLOR=green]'Tant que la cellule est vide, on regarde la valeur de la cellule 'du dessus'[/COLOR]
    i = i - 1
    a = Sheets("Feuil1").Cells(i, 1).Value
Loop
Sheets("Feuil1").Range("B1").Value = a [COLOR=green]'quand on a trouvé une donnée, on l'inscrit en B1 de l'onglet Feuil1[/COLOR]
 
End Sub

Bonne soirée,

mth
 

ROGER2327

XLDnaute Barbatruc
Re : Afficher la dernière entrée ?

Bonne nuit à tous !
D'abord quelques bricoles utiles :
Code:
Sub sélectionner_la_dernière_cellule_non_vide_de_la_colonne_A()
   Range(adresse_de_la_dernière_cellule_non_vide_de_la_colonne_n(1)).Select
End Sub

Sub sélectionner_la_première_cellule_vide_de_la_colonne_A()
   Range(adresse_de_la_première_cellule_vide_de_la_colonne_n(1)).Select
End Sub

Function adresse_de_la_dernière_cellule_non_vide_de_la_colonne_n(n)
   Application.Volatile
   adresse_de_la_dernière_cellule_non_vide_de_la_colonne_n = Cells(Rows.Count, n).End(xlUp).Address
End Function

Function adresse_de_la_première_cellule_vide_de_la_colonne_n(n)
   Application.Volatile
   adresse_de_la_première_cellule_vide_de_la_colonne_n = Range(IIf(IsEmpty(Cells(2, n)), Cells(1, n).Address, Cells(1, n).End(xlDown).Address)).Offset(1, 0).Address
End Function
Et pour répondre à la demande de giacolove :
Code:
Sub afficher_la_valeur_de_dernière_cellule_non_vide_de_la_colonne_A_en_B1()
   Range("B1").Value = Range(adresse_de_la_dernière_cellule_non_vide_de_la_colonne_n(1)).Value
End Sub
Si, ce qui m'étonnerait beaucoup, vous trouviez les noms des procédures et des fonctions trop longs, libre à vous de les raccourcir.​
ROGER2327
__________________

Je suppose, comme mth, que la première ligne est reservée aux intitulés.
_
 
Dernière édition:

Discussions similaires

Réponses
7
Affichages
433

Statistiques des forums

Discussions
312 609
Messages
2 090 192
Membres
104 447
dernier inscrit
Baldur