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

Comment trouver le premier ou le dernier nombre positif ou négatif dans Excel ?

AuteurXiaoyang Date de modification

Lorsque vous travaillez avec une colonne de nombres comprenant à la fois des valeurs positives et négatives, il vous arrive souvent de devoir repérer rapidement le premier ou le dernier nombre positif ou négatif dans la plage. Cette capacité s’avère particulièrement utile pour l’analyse de données, la détection de tendances ou l’identification précise de points d’entrée dans de grands ensembles de données. S’appuyer sur une inspection manuelle devient vite inefficace et source d’erreurs dès que les volumes augmentent. Heureusement, Excel propose plusieurs méthodes pratiques pour simplifier cette tâche, vous permettant d’extraire exactement les valeurs recherchées grâce à des formules ou à l’automatisation. Vous trouverez ci-dessous différentes solutions adaptées à divers scénarios, y compris des approches avancées idéales pour des opérations répétitives ou à grande échelle.

Trouver le premier / dernier nombre positif / négatif avec une formule matricielle

Trouver le dernier / premier nombre positif / négatif avec une formule matricielle

Macro VBA pour trouver le premier / dernier nombre positif / négatif


flèche bleue vers la bulle droite Trouver le premier / dernier nombre positif / négatif avec une formule matricielle

Pour extraire le premier nombre positif ou négatif d’une série de valeurs, vous pouvez utiliser les formules matricielles d’Excel. Cette méthode convient aux utilisateurs recherchant une solution rapide pour des plages de taille modérée et maîtrisant déjà les formules, notamment dans des environnements où les compléments ou macros supplémentaires sont interdits. L’approche matricielle se met automatiquement à jour dès que vos données sources changent, ce qui la rend idéale pour les listes dynamiques. Voici comment l’implémenter :

1. Sélectionnez une cellule vide et saisissez la formule matricielle suivante pour obtenir le premier nombre positif :

=INDEX(A2:A18,MATCH(TRUE,A2:A18>0,0))

Ici, A2:A18 fait référence à la liste de données que vous souhaitez parcourir. Cette formule identifie la première cellule de la plage dont la valeur est supérieure à 0, puis renvoie son contenu. Consultez la capture d’écran suivante :

Capture d’écran montrant un jeu de données pour trouver le premier nombre positif dans Excel

2. Après avoir saisi la formule, appuyez simultanément sur Ctrl + Maj + Entrée au lieu de simplement appuyer sur Entrée. Cette combinaison exécute correctement la formule matricielle et renvoie le premier nombre positif de votre liste, comme illustré dans l’exemple ci-dessous :

Capture d’écran montrant le résultat du premier nombre positif à l’aide d’une formule matricielle dans Excel

Astuce :Pour récupérer à la place le premier nombre négatif, utilisez simplement cette formule (n’oubliez pas d’appuyer sur)Ctrl + Maj + Entréeaprès la saisie) :

=INDEX(A2:A18,MATCH(TRUE,A2:A18<0,0))

Dans les deux formules, modifier la condition ()>0 pour les positifs, <0 pour les négatifs) vous permet de cibler précisément le type de nombre recherché. Attention : les formules matricielles ne prennent pas en charge les références à des cellules vides. Veillez donc à ce que votre plage de données soit exempte de cellules vides pour garantir des résultats fiables. Si tous les nombres sont exclusivement positifs ou négatifs, la formule risque de générer une erreur — pensez à intégrer la fonction SIERREUR pour masquer ces erreurs et afficher un message personnalisé à la place.

Remarque : Dans les versions récentes d’Excel (Office 365, Excel 2021 et ultérieures), il se peut que vous n’ayez plus besoin d’utiliser Ctrl + Maj + Entrée ; appuyer simplement sur Entrée peut suffire grâce à la prise en charge des tableaux dynamiques.


flèche bleue vers la bulle droite Trouver le dernier / premier nombre positif / négatif avec une formule matricielle

Si votre objectif est d’identifier la dernière valeur positive ou négative d’une colonne, vous pouvez utiliser une autre formule matricielle. Cette approche est idéale pour repérer rapidement les tendances récentes ou localiser la donnée la plus récente d’un type spécifié. Notez que cette méthode s’adapte automatiquement aux mises à jour des données, ce qui s’avère particulièrement utile lorsque vous ajoutez régulièrement de nouveaux nombres à la liste.

1. Sélectionnez une cellule vide à côté de votre colonne de données et saisissez cette formule matricielle pour identifier le dernier nombre positif :

=LOOKUP(9.99999999999999E+307, IF($A$2:$A$18 >0, $A$2:$A$18))

Cette formule fonctionne en exploitant le comportement de RECHERCHEV, qui renvoie la dernière correspondance numérique trouvée lorsqu’on lui fournit un nombre extrêmement élevé. Ici, SI($A$2:$A$18 >0 ; $A$2:$A$18) filtre uniquement les nombres positifs, et RECHERCHEV renvoie alors la dernière occurrence. Voir l’illustration ci-dessous :

Capture d’écran montrant la formule matricielle permettant de trouver le dernier nombre positif dans Excel

2. Validez la formule en appuyant sur Ctrl + Maj + Entrée (sauf si votre version d’Excel prend en charge les tableaux dynamiques). Le résultat affichera la dernière valeur positive présente dans la plage limitée, comme illustré ci-dessous :

Capture d’écran montrant le résultat du dernier nombre positif à l’aide d’une formule matricielle dans Excel

Pour renvoyer le dernier nombre négatif, utilisez plutôt la formule matricielle suivante, également avec Ctrl + Maj + Entrée:

=LOOKUP(9.99999999999999E+307, IF($A$2:$A$18 <0, $A$2:$A$18))

Si aucune valeur positive ou négative n’est trouvée, la formule renvoie une erreur ()#N/A). Pour gérer ces cas avec élégance, encapsulez-la dans SIERREUR. Par exemple :

=IFERROR(LOOKUP(9.99999999999999E+307, IF($A$2:$A$18 >0, $A$2:$A$18)), "No match found")

Il est essentiel d’éviter les cellules fusionnées ainsi que les formats combinant texte et nombres dans votre plage, car ils peuvent fausser les résultats des calculs de formule. Vérifiez toujours l’intégrité de vos données avant d’utiliser ces méthodes afin de garantir une précision optimale.


flèche bleue vers la bulle droite Macro VBA pour trouver le premier / dernier nombre positif / négatif

Si vous devez fréquemment identifier le premier ou le dernier nombre positif ou négatif dans plusieurs plages ou des jeux de données très volumineux, automatiser cette tâche à l’aide d’une macro VBA peut vous faire gagner un temps considérable tout en réduisant les erreurs manuelles. Cette solution vous permet de sélectionner une plage et d’obtenir instantanément la valeur recherchée, ce qui la rend idéale pour le traitement par lots ou les tâches analytiques répétitives. L’approche VBA s’avère particulièrement utile lorsque des critères complexes ou des flux de travail personnalisés sont requis, bien qu’elle suppose une familiarité de base avec les outils de développement d’Excel.

1. Cliquez sur Développeur > Visual Basic pour ouvrir la fenêtre Microsoft Visual Basic pour Applications. Ensuite, dans l’éditeur VBA, cliquez sur Insertion > Module, puis copiez le code suivant dans le nouveau module :

Sub FindFirstOrLastPosNegNumber()
    Dim rng As Range
    Dim cell As Range
    Dim result As Variant
    Dim firstPos As Variant, firstNeg As Variant
    Dim lastPos As Variant, lastNeg As Variant
    Dim selType As String
    
    On Error Resume Next
    Set rng = Application.InputBox("Select the data range", "KutoolsforExcel", Selection.Address, Type:=8)
    
    If rng Is Nothing Then Exit Sub
    
    selType = Application.InputBox("Type 'FirstPos' for first positive, 'FirstNeg' for first negative, 'LastPos' for last positive, or 'LastNeg' for last negative:", "KutoolsforExcel", "FirstPos", Type:=2)
    
    If selType = "" Then Exit Sub
    
    firstPos = Empty
    firstNeg = Empty
    lastPos = Empty
    lastNeg = Empty
    
    ' Find first positive and first negative
    For Each cell In rng
        If IsNumeric(cell.Value) Then
            If firstPos = Empty And cell.Value > 0 Then
                firstPos = cell.Value
            End If
            If firstNeg = Empty And cell.Value < 0 Then
                firstNeg = cell.Value
            End If
            If cell.Value > 0 Then
                lastPos = cell.Value
            End If
            If cell.Value < 0 Then
                lastNeg = cell.Value
            End If
        End If
    Next cell
    
    Select Case UCase(selType)
        Case "FIRSTPOS"
            result = firstPos
        Case "FIRSTNEG"
            result = firstNeg
        Case "LASTPOS"
            result = lastPos
        Case "LASTNEG"
            result = lastNeg
        Case Else
            result = "Invalid input"
    End Select
    
    If IsEmpty(result) Then
        MsgBox "No matching value found in the selected range.", vbInformation, "KutoolsforExcel"
    Else
        MsgBox "Result: " & result, vbInformation, "KutoolsforExcel"
    End If
End Sub

2. Pour exécuter la macro, appuyez sur F5(ou cliquez sur le bouton)Bouton Exécuter Exécuter), puis suivez ces étapes :

  • Une boîte de dialogue s’ouvrira pour vous inviter à sélectionner votre plage de nombres (par exemple, A2:A18).
  • Ensuite, saisissez votre type de recherche : tapez FirstPos pour le premier nombre positif, FirstNeg pour le premier nombre négatif, LastPos pour le dernier nombre positif ou LastNeg pour le dernier nombre négatif (non sensible à la casse).
  • Après avoir saisi votre choix et confirmé, le résultat s’affichera dans une boîte de message.

Conseils :

  • Cette macro prend en charge toute plage contiguë de nombres sélectionnée par l’utilisateur, offrant ainsi une grande flexibilité dans l’organisation des données.
  • Si le type spécifié ne correspond à aucun nombre dans la plage, vous recevrez une notification plutôt qu’une erreur.
  • Assurez-vous d’avoir activé les macros dans Excel afin que le code VBA puisse fonctionner.
  • Si vos données contiennent des valeurs non numériques, la macro les ignorera automatiquement lors du traitement.

 

Dépannage et suggestions : Pour toutes les solutions, assurez-vous toujours que votre sélection couvre bien la plage souhaitée et n’inclut pas d’en-têtes. Si vous travaillez avec de grandes plages, envisagez de les réduire afin d’éviter tout ralentissement de calcul ou de performance, en particulier avec les formules matricielles ou les macros.

Si vous effectuez souvent cette tâche ou si vous recherchez davantage de personnalisation, envisagez d’intégrer plusieurs critères dans votre macro ou de créer un bouton dédié pour un accès encore plus rapide. Sauvegardez toujours votre travail avant d’essayer de nouveaux scripts VBA, et testez-les sur des copies de sauvegarde si vous débutez en programmation.


Articles associés :

Comment trouver la première ou la dernière valeur supérieure à X dans Excel ?

Comment trouver la valeur la plus élevée d’une ligne et retourner l’en-tête de sa colonne dans Excel ?

Comment trouver la valeur la plus élevée et renvoyer la valeur de la cellule adjacente dans Excel ?

Comment trouver la valeur maximale ou minimale selon des critères dans Excel ?

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