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

Comment rechercher la première valeur non nulle et renvoyer l’en-tête de la colonne correspondante dans Excel ?

AuteurXiaoyang Date de modification

Lorsque vous travaillez avec des données dans Excel, il est courant de devoir identifier la position de la première entrée non nulle au sein d’une ligne et d’afficher l’en-tête de colonne associé. Par exemple, dans un jeu de données où chaque ligne représente un élément ou une personne différente et les colonnes des périodes ou catégories, vous souhaiterez peut-être savoir à quel moment une valeur apparaît pour la première fois dans chaque ligne. Vérifier manuellement chaque ligne à la recherche de la première valeur non nulle peut s’avérer chronophage, surtout à mesure que la taille des données augmente. Automatiser ce processus de recherche améliore non seulement l’efficacité, mais réduit également les erreurs, rendant ainsi vos analyses plus fiables. Cet article présente plusieurs méthodes pratiques pour atteindre cet objectif, allant de l’utilisation de formules Excel polyvalentes à celle de macros VBA particulièrement utiles pour les grands jeux de données ou les rapports récurrents.

rechercher la première valeur non nulle et renvoyer l'en-tête de colonne correspondant


flèche bleue vers la droite dans une bulle Rechercher la première valeur non nulle et renvoyer l’en-tête de colonne correspondant à l’aide d’une formule

Pour identifier efficacement l’en-tête de colonne correspondant à la première valeur non nulle dans une ligne donnée, vous pouvez utiliser une formule intégrée d’Excel — une solution idéale pour les jeux de données de petite à moyenne taille, où simplicité de configuration et recalcul en temps réel sont essentiels.

1. Sélectionnez une cellule vide pour afficher le résultat ; dans cet exemple, la cellule K2 est utilisée.

=INDEX($B$1:$I$1,MATCH(TRUE,INDEX(B2:I2<>0,),0))

2. Après avoir saisi la formule, appuyez sur Entrée pour la valider. Ensuite, sélectionnez K2 et utilisez la poignée de recopie pour faire glisser la formule vers le bas afin de l’appliquer aux autres lignes selon vos besoins.

utiliser une formule pour rechercher la première valeur non nulle et renvoyer l'en-tête de colonne correspondant

Remarque : Dans la formule ci-dessus, B1:I1 fait référence à la plage des en-têtes de colonne que vous souhaitez renvoyer, et B2:I2 correspond aux données de la ligne que vous analysez pour trouver la première valeur non nulle.

Si vos données commencent dans des colonnes ou des lignes différentes, pensez à ajuster les plages de la formule en conséquence. Par ailleurs, cette formule fonctionne efficacement à condition qu’il y ait au moins une valeur non nulle dans chaque ligne analysée ; si toutes les valeurs sont nulles, la formule renverra une erreur. Dans ce cas, envisagez d’encapsuler la formule dans SIERREUR comme suit : =IFERROR(INDEX($B$1:$I$1,MATCH(TRUE,INDEX(B2:I2<>0,),0)),"No non-zero") afin de renvoyer un message personnalisé au lieu d’une erreur.

Cette solution fondée sur les formules est idéale pour obtenir des résultats dynamiques qui se mettent à jour instantanément dès que vos données d’entrée changent. Toutefois, avec des jeux de données extrêmement volumineux, les performances de calcul peuvent être ralenties ; dans ce cas, une approche VBA s’avère souvent préférable pour optimiser l’automatisation de votre flux de travail et réduire les interventions manuelles.

flèche bleue vers la droite dans une bulle Utiliser une macro VBA pour trouver et renvoyer l’en-tête de colonne de la première valeur non nulle dans chaque ligne

Si vous devez souvent effectuer cette tâche de recherche sur de nombreuses lignes ou sur de grands jeux de données, ou si vous souhaitez automatiser le processus pour gagner en efficacité, l’utilisation d’une macro VBA constitue une alternative pratique. Cette méthode est particulièrement avantageuse pour la génération périodique de rapports ou lorsque vous gérez des tableaux de données dont la taille évolue fréquemment. La macro recherchera, dans chaque ligne spécifiée, la première valeur non nulle et renverra l’en-tête de colonne correspondant dans une cellule cible.

1. Cliquez sur l’onglet Développeur > Visual Basic pour ouvrir la fenêtre Microsoft Visual Basic pour Applications. (Si l’onglet Développeur n’est pas visible, vous pouvez l’ajouter via)Fichier > Options > Personnaliser le ruban.) Dans l’éditeur VBA, cliquez sur Insertion > Module.

2.Copiez-collez le code VBA suivant dans le nouveau module :

Sub LookupFirstNonZeroAndReturnHeader()
    Dim ws As Worksheet
    Dim dataRange As Range
    Dim headerRange As Range
    Dim outputCell As Range
    Dim r As Range
    Dim c As Range
    Dim firstNonZeroCol As Integer
    Dim i As Long
    Dim xTitleId As String
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    Set ws = Application.ActiveSheet
    Set dataRange = Application.InputBox("Select the data range (excluding headers):", xTitleId, Selection.Address, Type:=8)
    If dataRange Is Nothing Then Exit Sub
    Set headerRange = ws.Range(dataRange.Offset(-1, 0).Resize(1, dataRange.Columns.Count).Address)
    For i = 1 To dataRange.Rows.Count
        Set r = dataRange.Rows(i)
        firstNonZeroCol = 0
        
        For Each c In r.Columns
            If c.Value <> 0 And c.Value <> "" Then
                firstNonZeroCol = c.Column - dataRange.Columns(1).Column + 1
                Exit For
            End If
        Next c
        
        Set outputCell = r.Cells(1, r.Columns.Count + 1)
        
        If firstNonZeroCol > 0 Then
            outputCell.Value = headerRange.Cells(1, firstNonZeroCol).Value
        Else
            outputCell.Value = "No non-zero"
        End If
    Next i
    
    On Error GoTo 0
    MsgBox "Completed! Results are in the column to the right of your data.", vbInformation, "KutoolsforExcel"
End Sub

3. Pour exécuter la macro, cliquez sur le bouton Exécuter ou appuyez sur la touche F5. Une boîte de dialogue s’ouvrira pour vous demander de sélectionner la plage de données (en excluant les en-têtes de colonne). Une fois la macro exécutée, la colonne immédiatement à droite de la plage sélectionnée sera remplie par l’en-tête correspondant à la première valeur non nulle de chaque ligne, ou par le message « Aucune valeur non nulle » si aucune valeur non nulle n’est trouvée.

Cette approche VBA se distingue par son efficacité dans les tâches répétitives et s’avère particulièrement adaptée à la gestion de grands jeux de données, réduisant considérablement les efforts manuels. Veillez toutefois à ce que les macros soient activées dans votre environnement Excel et n’oubliez jamais de sauvegarder votre classeur avant d’exécuter du code.

Remarque : en cas d’erreurs, assurez-vous que votre sélection exclut la ligne d’en-têtes et inclut uniquement les lignes de données.

une capture d’écran de kutools for excel ia

Libérez la magie d’Excel avec Kutools IA

  • Exécution intelligente : effectuez des opérations sur les cellules, analysez des données et créez des graphiques, le tout à partir de commandes simples.
  • formules personnalisées : créez des formules sur mesure pour rationaliser vos flux de travail.
  • Programmation VBA : Écrivez et implémentez du code VBA en toute simplicité.
  • Interprétation de formules : Décryptez facilement les formules complexes.
  • Traduction de texte : Franchissez les barrières linguistiques directement depuis vos feuilles de calcul.
Améliorez vos capacités Excel grâce à des outils alimentés par l’intelligence artificielle.Téléchargez dès maintenantet découvrez une efficacité inégalée !

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