• Initiateur de la discussion Initiateur de la discussion bambi
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

bambi

XLDnaute Occasionnel
Bonjour à tous 🙂

J'ai encore besoin de votre aide car après recherche, je ne trouve pas la réponse.
Je sais rechercher la dernière cellule non vide d'une colonne ou d'une ligne mais est-il possible de rechercher la dernière cellule non vide d'une sélection de cellules non adjacentes d'une autre feuille et ceci en les parcourant dans l'ordre écrit ?

Exemple:
Rechercher la dernière cellule non vide des cellules D7;D20;D33;D46;D59;M7;M20;M33;M46;M59 de la feuille 1

Si D7, D20, D33 sont renseignées et que les autres cellules sont vides, la valeur renvoyée est celle de D33.

Je ne pense pas nécessaire de joindre un fichier mais s'il le faut, je le ferais sans probleme.

Merci d'avance de vos idées 😉
 
Re : Dernière Non vide

Bonjour,

vois si cela convient:

Code:
Sub DernièreOccupée()
    Dim i As Long, j As Long
    Dim adr As String
    With Range("D7,D20,D33,D46,D59,M7,M20,M33,M46,M59")
        For i = .Areas.Count To 1 Step -1
            For j = .Areas(i).Count To 1 Step -1
            If Not IsEmpty(.Areas(i)(j)) Then
                adr = .Areas(i)(j).Address
                Exit For
            End If
            Next j
            If adr <> "" Then
                MsgBox adr
                Exit For
            End If
        Next i
    End With
End Sub


A+
 
Dernière modification par un modérateur:
Re : Dernière Non vide

Bonjour Hasco
Merci de la rapidité de ta réponse qui me donne effectivement la dernière cellule non vide de la sélection. 🙂

Question: Crois-tu possible de récuperer la valeur de cette cellule dans une autre feuille de manière automatique (sans action sur la macro) ?
 
Re : Dernière Non vide

Toutes ces cellules sont sur une feuille 1 et sont remplies (ou pas) en cours de travail.

Sur une feuille 2, je fais des calculs en utilisant la valeur de cette dernière cellule remplie.

Par exemple sur la cellule L11 de la feuille 2, je reporte cette valeur manuellement (et je m'en sers pour des calculs automatiques) mais je voudrais qu'elle y soit d'office au fur et à me sure que je rempli ou pas les cellules en question de la feuille 1.
 
Re : Dernière Non vide

Re,

En la transformant en fonction personnalisée:
(changer le nom en rouge par le nom de la feuille qui contient les données
Code:
Function DernièreValeur() As Variant
    Dim i As Long, j As Long
    Dim adr As String
    DernièreValeur = CVErr(xlErrNA)
    With Sheets("[COLOR=red][B]Feuil1[/B][/COLOR]").Range("D7,D20,D33,D46,D59,M7,M20,M33,M46,M59")
        For i = .Areas.Count To 1 Step -1
            For j = .Areas(i).Count To 1 Step -1
            If Not IsEmpty(.Areas(i)(j)) Then
                adr = .Areas(i)(j).Address
                Exit For
            End If
            Next j
            If adr <> "" Then
                DernièreValeur = Sheets("[COLOR=red][B]Feuil1[/B][/COLOR]").Range(adr)
                Exit For
            End If
        Next i
    End With
End Function

Mais peut-être qu'un formuliste arrivera à trouver une solution par formule matricielle.


A+
 
Re : Dernière Non vide

Re,

Si tes données de la plage considérée en feuil1 sont des constantes (pas le résultat de formules), une autre fonction:

Code:
Function DernièreValeur() As Variant
 Dim plage As Range
 Dim Temp
 Application.Volatile
 On Error Resume Next
 DernièreValeur = CVErr(xlErrNA)
 With Sheets("Feuil1")
 Set plage = .Range("D7,D20,D33,D46,D59,M7,M20,M33,M46,M59").SpecialCells(xlCellTypeConstants)
 If Not plage Is Nothing Then
    Temp = Split(plage.Address, ",")
    DernièreValeur = .Range(Temp(UBound(Temp))).Value
 End If
 End With
End Function

sinon voir message précédent

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
243
Retour