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

Comment numéroter automatiquement les lignes lorsque la cellule adjacente n’est pas vide dans Excel ?

AuteurXiaoyang Date de modification
numérotation automatique des lignes si la cellule adjacente n’est pas vide

Dans Excel, utiliser la poignée de recopie pour créer manuellement une série de nombres est une méthode courante afin de générer des numéros de série ou des index pour des listes. Toutefois, il arrive fréquemment que vous souhaitiez numéroter les lignes uniquement lorsqu’une cellule adjacente spécifique contient des données. Par exemple, vous voudrez peut-être définir automatiquement le nombre de lignes dans une liste tout en omettant la numérotation lorsque les cellules adjacentes sont vides. De plus, vous pourriez souhaiter que ces numéros soient mis à jour instantanément dès qu’une donnée est saisie ou supprimée, garantissant ainsi une séquence toujours à jour sans aucune intervention manuelle.

Numéroter automatiquement les lignes si la cellule adjacente n’est pas vide à l’aide d’une formule

Numéroter automatiquement les lignes si la cellule adjacente n’est pas vide à l’aide d’un code VBA


flèche bleue vers la droite avec bulleNuméroter automatiquement les lignes si la cellule adjacente n’est pas vide à l’aide d’une formule

Une méthode efficace pour obtenir une numérotation dynamique des lignes en fonction des valeurs des cellules adjacentes consiste à utiliser une formule Excel. Avec cette approche, le numéro de ligne n’apparaît que si la cellule adjacente contient une valeur. Dès que vous ajoutez ou supprimez des données dans ces cellules, la numérotation s’ajuste automatiquement. Voici une méthode pratique à appliquer :

1. Sélectionnez la cellule où vous souhaitez que la numérotation commence (par exemple,)A2 si vos données commencent en B2). Saisissez la formule suivante :

=IF(B2<>"",COUNTA($B$2:B2),"")
Astuce: Cette formule vérifie si la cellule B2n’est pas vide. Si des données sont présentes en B2, elle compte toutes les cellules non vides depuis B2jusqu’à la ligne actuelle, créant ainsi une séquence continue pour les lignes contenant des valeurs. Si B2est vide, la formule renvoie une cellule vide.

2. Ensuite, faites glisser la poignée de recopie vers le bas, le long de vos données, pour appliquer cette formule aux autres lignes. La numérotation s’ajuste automatiquement, en affichant des numéros uniquement pour les lignes dont la colonne B contient des données.

numérotation automatique si non vide avec formule

Remarque: Cette méthode est particulièrement utile pour les listes où de nouvelles données peuvent être insérées, supprimées ou modifiées à tout moment, car la séquence restera toujours exacte sans nécessiter de renumérotation ou de recalcul manuel. Cependant, veillez à ce que, si des cellules vides font partie intégrante de vos données (par exemple, des espaces intentionnels), ces lignes resteront non numérotées.

Si vous constatez que les numéros ne se mettent pas à jour comme prévu, vérifiez que la formule a bien été copiée sur toutes les lignes concernées et qu’il n’y a ni Fusionné ni validation de données interférant avec votre plage. N’oubliez pas que les formules reposent sur des références exactes et peuvent être perturbées par des modifications structurelles apportées à la feuille de calcul.


flèche bleue vers la droite avec bulleNuméroter automatiquement les lignes si la cellule adjacente n’est pas vide à l’aide d’un code VBA

Pour les utilisateurs plus avancés, ou lorsque vous préférez éviter d’appliquer des formules partout dans votre feuille de calcul — notamment si vous avez besoin que la numérotation s’adapte automatiquement lors de collages de données, de suppressions de blocs ou de modifications fréquentes — une macro VBA s’impose comme une alternative particulièrement efficace. Grâce au VBA, vous pouvez mettre à jour automatiquement le nombre de lignes dans une colonne chaque fois que la cellule adjacente est modifiée, sans utiliser la moindre formule. Cette solution est idéale pour les formulaires de saisie, les journaux d’importation ou les listes de tâches dont la structure évolue régulièrement.

1. Appuyez sur Alt + F11 pour ouvrir la fenêtre de l’éditeur Visual Basic pour Applications. Dans l’Explorateur de projets, localisez votre classeur, puis double-cliquez sur la feuille concernée (par exemple, « Feuil1 ») sous « Microsoft Excel Objects ».

2. Dans la fenêtre de code qui s’ouvre, collez le code suivant. Cet exemple suppose que vous souhaitez numéroter les lignes de la colonne A selon que la colonne B ne soit pas vide ; adaptez les références à votre plage spécifique :

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim chk As Range
    Set chk = Intersect(Target, Me.Columns("B"))
    If chk Is Nothing Then Exit Sub
    
    Application.EnableEvents = False
    Call RenumberNonBlank(Me, "B", "A", 2)
    Application.EnableEvents = True
End Sub
Sub RenumberNonBlank(ws As Worksheet, _
                    keyCol As String, _
                    numCol As String, _
                    firstDataRow As Long)
    Dim lastRow As Long
    Dim r As Long
    Dim seq As Long
    lastRow = ws.Cells(ws.Rows.Count, keyCol).End(xlUp).Row
    seq = 1
    For r = firstDataRow To lastRow
        With ws
            If Trim(.Cells(r, keyCol).Value) <> "" Then
                .Cells(r, numCol).Value = seq
                seq = seq + 1
            Else
                .Cells(r, numCol).ClearContents
            End If
        End With
    Next r
End Sub

3. Sauvegardez et fermez l’éditeur VBA. Désormais, chaque fois que vous ajouterez, modifierez ou supprimerez du contenu dans la colonne B, la colonne A sera automatiquement renumérotée pour refléter la présence (ou l’absence) de données. La numérotation s’ajustera dynamiquement en montant ou en descendant au fur et à mesure que vous ajouterez ou supprimerez des entrées dans la colonne B.

Remarques et précautions : Cette macro doit impérativement être placée dans la fenêtre de code de la feuille de calcul concernée (et non dans un module standard ni dans ThisWorkbook) pour réagir aux modifications des cellules. Vérifiez également que les macros sont activées dans les paramètres d’Excel afin que le code s’exécute correctement. Si votre « Plage de données » est déplacée vers d’autres colonnes que A et B, mettez à jour en conséquence les références suivantes :Set chk = Intersect(Target, Me.Columns("B")) et Call RenumberNonBlank(Me, "B", "A", 2).

Dépannage : Si la numérotation ne se met pas à jour, vérifiez attentivement que vous modifiez bien la feuille de calcul appropriée et que le code se trouve dans la fenêtre de code correspondante. Assurez-vous également d’avoir enregistré votre classeur au format prenant en charge les macros (.xlsm). En cas d’erreurs inattendues, veillez à ne pas avoir modifié la structure de votre feuille de calcul, notamment en ce qui concerne les cellules fusionnées ou les données présentes dans les lignes d’en-tête.


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