KutoolsforOffice — Une solution unique, cinq outils puissants.Faire plus avec moins d'efforts.Soldes de mars : 20 % de réduction

Comment rechercher et renvoyer la valeur située à l’avant-dernière position d’une ligne ou d’une colonne donnée dans Excel ?

AuteurSiluvia Date de modification

Lorsque vous travaillez avec de grandes feuilles Excel, il est souvent essentiel non seulement d’identifier la dernière valeur d’une ligne ou d’une colonne, mais surtout la valeur située en avant-dernière position. Par exemple, comme le montre la capture d’écran ci-dessous, dans la plage A1:E16, vous pourriez avoir besoin d’extraire l’avant-dernière valeur de la 6ᵉ ligne ou de la colonne B. Ce type de besoin revient fréquemment lors du suivi des modifications récentes, de l’analyse de séries chronologiques ou encore de l’examen des entrées les plus récentes — sans être la toute dernière — d’un jeu de données. Contrairement à la recherche simple de la dernière valeur, repérer l’avant-dernière peut s’avérer moins évident, notamment en présence de cellules vides ou lorsque les données sont régulièrement mises à jour. Cet article vous propose des solutions claires et détaillées, étape par étape, pour accomplir cette tâche efficacement et éviter les erreurs courantes.

Capture d’écran d’un tableau dans Excel affichant des données en lignes et en colonnes


Rechercher et renvoyer la valeur en avant-dernière position dans une ligne ou une colonne donnée à l’aide de formules

Comme le montre la capture d’écran ci-dessus, pour rechercher et renvoyer la valeur située en avant-dernière position — que ce soit dans la 6ᵉ ligne ou dans la colonne B au sein de la plage A1:E16 — les formules Excel offrent une solution à la fois dynamique et efficace. Elles s’avèrent particulièrement utiles lorsque vos données sont régulièrement mises à jour ou que la position de l’avant-dernière valeur est susceptible de changer à la suite d’ajouts ou de suppressions. Contrairement aux méthodes manuelles, les formules assurent une mise à jour automatique de votre résultat en fonction de la dernière entrée disponible.

Rechercher et renvoyer la valeur en avant-dernière position dans la colonne B

1. Sélectionnez une cellule vide où vous souhaitez afficher la valeur en avant-dernière position. Saisissez la formule matricielle suivante dans la barre de formule, puis appuyez sur Ctrl + Maj + Entrée (pour les versions antérieures d’Excel) pour la valider en tant que formule matricielle. Sous Excel 365 ou Excel 2021, il suffit d’appuyer sur Entrée, car les formules matricielles sont désormais gérées automatiquement.

=INDEX(B:B,LARGE(IF(B:B<>"",ROW(B:B)),2))

Capture d’écran d’une formule permettant de trouver la valeur avant-dernière dans une colonne dans Excel

Remarque : dans cette formule, B:B fait référence à la colonne B. Si vous avez besoin de la valeur en avant-dernière position dans une autre colonne, remplacez simplement B:Bpar la référence de colonne souhaitée (par exemple, modifiez-la en)C:C pour la colonne C). Cette méthode fonctionne pour des plages contenant ou non des cellules vides, mais si des valeurs masquées ou exclues par un filtre sont présentes, veillez à tenir compte des écarts possibles. Vérifiez toujours vos plages de données si le résultat attendu n’apparaît pas.

Rechercher et renvoyer la valeur en avant-dernière position dans la ligne 6

Sélectionnez une cellule vide pour afficher le résultat correspondant à la 6ᵉ ligne, puis saisissez la formule suivante dans la barre de formule et appuyez sur Entrée pour la valider.

=OFFSET($A$6,0, COUNTA(6:6)-2,1,1)

Capture d’écran d’une formule permettant de trouver la valeur avant-dernière dans une ligne dans Excel

Remarque : dans la formule ci-dessus, $A$6 est la première cellule de la ligne 6, et 6:6désigne la ligne entière 6. Ajustez ces références si vous ciblez d’autres lignes. La formule compte dynamiquement le nombre de cellules non vides dans la ligne 6, puis effectue un décalage à partir de la cellule de départ pour localiser l’avant-dernière cellule remplie. Si votre ligne contient des formules renvoyant des chaînes vides ()""), NBVAL peut néanmoins les comptabiliser comme non vides, ce qui pourrait fausser le résultat. Pour les plages combinant constantes et formules, vérifiez attentivement les résultats afin d’éviter toute erreur.

Conseils pour l’utilisation des formules :

  • Avec de grands jeux de données, l’utilisation de références complètes de colonne (par exemple,)B:B) peut ralentir les performances. Dans la mesure du possible, restreignez la plage à la zone strictement nécessaire (par exemple, B1:B100).
  • Si vos données contiennent des lignes masquées ou filtrées, les formules prennent néanmoins en compte les cellules masquées ou exclues par le filtre. Pour les données filtrées, privilégiez l’utilisation de fonctions SOUS.TOTAL dédiées ou de colonnes auxiliaires.
  • Si toutes les valeurs d’une ligne ou d’une colonne cible sont vides, ces formules peuvent générer une erreur ou un résultat inattendu ; veillez à ce que vos données contiennent au moins deux valeurs non vides.

Code VBA – Utiliser une macro pour trouver la valeur en avant-dernière position dans une ligne ou une colonne spécifiée

Pour les utilisateurs qui doivent fréquemment récupérer la valeur située en avant-dernière position dans des plages variables ou volumineuses, automatiser cette tâche à l’aide d’une macro VBA permet de gagner un temps considérable, notamment avec des tableaux dynamiques ou complexes. Les macros s’avèrent particulièrement utiles lorsque la taille de votre jeu de données fluctue et que vous souhaitez éviter de modifier manuellement vos formules, ou encore lorsque vous devez extraire des valeurs issues de positions différentes selon une même logique. Ci-dessous, une solution en code VBA vous invite à indiquer la ligne ou la colonne cible, puis renvoie automatiquement la valeur en avant-dernière position — sans comptage ni ajustement manuel.

1. Accédez aux Outils de développement dans le ruban Excel, cliquez sur Visual Basic pour ouvrir l’éditeur VBA. Dans l’éditeur, cliquez sur Insertion > Module. Collez ensuite le code VBA suivant dans le module nouvellement créé :

Sub GetSecondToLastValue()
    Dim rng As Range
    Dim arr As Variant
    Dim values As Collection
    Dim i As Long
    Dim secondLast As Variant
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set rng = Application.InputBox("Select the row or column range to analyze", xTitleId, Selection.Address, Type:=8)
    If rng Is Nothing Then Exit Sub
    
    arr = rng.Value
    Set values = New Collection
    
    If rng.Rows.Count = 1 Then
        For i = 1 To rng.Columns.Count
            If arr(1, i) <> "" Then
                values.Add arr(1, i)
            End If
        Next i
    ElseIf rng.Columns.Count = 1 Then
        For i = 1 To rng.Rows.Count
            If arr(i, 1) <> "" Then
                values.Add arr(i, 1)
            End If
        Next i
    Else
        MsgBox "Please select a single row or single column range.", vbExclamation
        Exit Sub
    End If
    
    If values.Count < 2 Then
        MsgBox "There are less than two non-blank values in the selected range.", vbInformation
        Exit Sub
    End If
    
    secondLast = values(values.Count - 1)
    MsgBox "The second-to-last value is: " & secondLast, vbInformation
End Sub

2. Après avoir saisi le code, retournez dans Excel et exécutez la macro en cliquant sur le bouton Bouton Exécuter Exécuter, ou en appuyant sur Alt + F8 puis en sélectionnant GetSecondToLastValue dans la liste. Une invite s’affichera pour vous demander de choisir une plage correspondant soit à une seule ligne, soit à une seule colonne (par exemple B1:B16 pour une colonne ou A6:E6 pour une ligne). Dès validation de votre sélection, la macro affichera la valeur située en avant-dernière position dans une boîte de dialogue.

Remarques :

  • Cette macro compte uniquement les cellules non vides, en ignorant automatiquement les cellules vides de la ligne ou de la colonne sélectionnée.
  • Si votre sélection contient moins de deux valeurs non vides, un message d’avertissement s’affiche et aucune valeur n’est renvoyée.
  • La macro est conçue pour des sélections sur une seule ligne ou une seule colonne. Si vous sélectionnez plusieurs lignes et colonnes en même temps, elle vous invitera à ajuster votre sélection.
  • Pour encore plus d’automatisation, vous pouvez modifier le code afin qu’il copie directement le résultat dans une cellule précise de votre feuille de calcul, sans passer par une boîte de dialogue.

Cette solution VBA s’avère particulièrement avantageuse pour les utilisateurs de tableaux dynamiques ou de jeux de données fréquemment mis à jour, car elle élimine les erreurs manuelles et automatise les tâches répétitives.


Autres méthodes intégrées d’Excel – Filtrer toutes les cellules vides et identifier manuellement la valeur en avant-dernière position

Bien que les formules et les macros offrent des méthodes automatisées pour identifier la valeur en avant-dernière position, une approche visuelle rapide s’avère parfois préférable — notamment avec des données irrégulières ou non contiguës, ou lorsque vous n’avez besoin de vérifier cette valeur qu’occasionnellement. Les outils de filtrage intégrés d’Excel vous permettent alors de masquer temporairement les cellules vides ou non pertinentes, facilitant ainsi l’identification visuelle de la valeur recherchée, sans modifier ni écrire la moindre formule.

Méthode par filtrage :

  • Sélectionnez la plage de données correspondant à votre colonne ou ligne : pour les colonnes, choisissez les cellules B1:B16 ; pour les lignes, sélectionnez A6:E6 dans votre feuille de calcul.
  • Dans le ruban Excel, cliquez sur Données > Filtrer pour activer les flèches de filtre. Dans l’en-tête de la colonne ou à côté de votre sélection, cliquez sur la liste déroulante du filtre.
  • Décochez (Vides) pour masquer les cellules vides. La liste affichée ne contient désormais que les valeurs non vides.
  • Pour une colonne, faites défiler jusqu’en bas de la liste filtrée et repérez la valeur située en avant-dernière position. Pour une ligne (après filtrage, si possible), comptez à partir de la droite afin d’identifier la deuxième valeur non vide depuis la fin.

Remarques et conseils :

  • Le filtrage est la méthode la plus rapide pour les listes de petite ou moyenne taille, ou lorsque vous souhaitez confirmer visuellement la position des valeurs.
  • Si votre jeu de données est très volumineux, le filtrage peut nuire aux performances et n’est ni adapté à l’automatisation ni recommandé pour une utilisation répétée.
  • Lorsque des filtres sont appliqués, veillez à toujours tenir compte du bon contexte (les listes filtrées peuvent ignorer les lignes ou colonnes masquées).
  • Pour supprimer les filtres, cliquez sur Effacer dans l’onglet Données.

Cette méthode se prête moins bien à une analyse dynamique continue ou à de grands jeux de données, mais elle permet une vérification manuelle transparente de l’avant-dernière valeur non vide, ce qui peut s’avérer utile pour un dépannage rapide ou une validation ponctuelle.


Articles associés :

Meilleurs outils de productivité Office

🤖Kutools IA Aide: Révolutionnez Analyse des données grâce à :Exécution intelligente   |  Générez du code|  Créez formules personnalisées  |  Analysez des données et générez des graphiques|  Appelez Fonctions améliorées
Fonctionnalités populaires:Rechercher, mettre en surbrillance ou Marquer les doublons   |  Supprimer les lignes vides   |  Combinez les colonnes ou cellules sans perdre de données   |   Arrondi sans utiliser de formule...
Super RECHERCHEV:RechercheValeurs avec critères multiples  |  RechercheValeurs avec valeurs multiples  |   RechercheValeurs dans plusieurs feuilles   |   Correspondance floue....
Liste déroulante avancée:Créez rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante à sélection multiple....
Gestionnaire de colonnes:Ajouter un nombre précis de colonnes|Déplacer des colonnes|Basculer la visibilité des colonnes masquées|Comparer des plages et des colonnes...
Fonctionnalités vedettes:Mise au point de la grille   |  Vue de conception   |Barre de formule améliorée   | Gestionnaire de classeurs et de feuilles   |  Bibliothèque de ressources(Texte automatique)|  Sélecteur de date   |  Consolider les feuilles de calcul  |  Chiffrer/Déchiffrer les cellules   | Envoyer des e-mails par liste   |  Super Filtre   |   Filtre spécial(Filtrer les cellules avec une police en gras/italique/barré...) ...
… et bien plus encore… et plus encore:(,)Supprimer des caractères spécifiques, ...)|   50+Typesde graphiques(, ...)|   40+ Formules pratiques(Calculer l'âge en fonction de la date de naissance, ...)|   19 Outils d’insertion(,Insérer une image depuis un chemin , ...)|   de conversion (Convertir en mots,Conversion de devises, ...)|Fusionner et scinder   (Fusion avancée des lignes,Diviser les cellules , ...)|, ...)   |
Utilisez Kutools dans la langue de votre choix – disponible en anglais, espagnol, allemand, français, chinois et 40+ autres langues !

Boostez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée.Kutools pour Excel propose plus de 300 fonctionnalités avancées pour améliorer votre productivité et Gagner du temps.Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...


Office Tab apporte une interface à onglets à Office et rend votre travail bien plus facile

  • Activez l’édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50 % et vous fait économiser des centaines de clics de souris chaque jour !

Tous les compléments Kutools. Un seul installateur

Kutools for Office regroupe les compléments pour Excel, Word, Outlook et PowerPoint, ainsi que Office Tab Pro, ce qui en fait le choix idéal pour les équipes travaillant à travers les applications Office.

ExcelWordOutlookTabsPowerPoint
  • Suite tout-en-un— Compléments Excel, Word, Outlook et PowerPoint + Office Tab Pro
  • Un seul installateur, une seule licence— installation en quelques minutes (compatible MSI)
  • Fonctionne mieux ensemble— productivité optimisée dans toutes les applications Office
  • Essai gratuit de 30 jours avec toutes les fonctionnalités— aucune inscription, aucune carte bancaire
  • Meilleur rapport qualité-prix— économisez par rapport à l’achat de compléments individuels