Note: The other languages of the website are Google-translated. Back to English

Comment insérer des nombres ou des lignes pour les numéros séquentiels manquants dans Excel?

Supposons que vous ayez une liste de nombres séquentiels dans une feuille de calcul, mais qu'il y ait des nombres manquants dans la séquence, et que vous devez maintenant insérer les nombres manquants ou les lignes vides pour vous assurer que la séquence est complète (illustrée par les captures d'écran suivantes). Comment pourriez-vous résoudre rapidement ce problème dans Excel?

doc-insert-numéro-manquant1 -2 doc-insert-numéro-manquant2

Insérer les numéros manquants pour la séquence avec la fonction Trier et supprimer les doublons

Insérer les numéros manquants pour la séquence avec le code VBA

Insérer des lignes vides pour la séquence manquante avec le code VBA

Insérer des nombres manquants ou des lignes vides pour la séquence avec Kutools for Excel


flèche bleue bulle droite Insérer les numéros manquants pour la séquence avec la fonction Trier et supprimer les doublons

Vous pouvez peut-être trouver les numéros manquants un par un, puis les insérer, mais il vous est difficile d'identifier l'emplacement des numéros manquants s'il y a des centaines de numéros séquentiels. Dans Excel, je peux utiliser la fonctionnalité Trier et supprimer les doublons pour gérer cette tâche.

1. À la fin de la liste de séquences, entrez un autre numéro de séquence de 2005023001 à 2005023011. Voir capture d'écran:

doc-insert-numéro-manquant3

2. Sélectionnez ensuite la plage des deux numéros de séquence et cliquez sur Données > Trier de A à Z, voir capture d'écran:

doc-insert-numéro-manquant4

3. Et les données sélectionnées ont été triées comme suit:

doc-insert-numéro-manquant5

4. Ensuite, vous devez supprimer les doublons en cliquant Données > Supprimer les doublons, et dans le sauté Supprimer les doublons boîte de dialogue, vérifiez le Colonne nom que vous souhaitez supprimer les doublons, voir les captures d'écran:

doc-insert-numéro-manquant6 -2 doc-insert-numéro-manquant7

5. Puis clique OK, les doublons dans Colonne A a été supprimé et les numéros manquants dans la liste de séquences ont été insérés, voir capture d'écran:

doc-insert-numéro-manquant8


flèche bleue bulle droite Insérer les numéros manquants pour la séquence avec le code VBA

Si vous pensez qu'il y a tant d'étapes avec les méthodes ci-dessus, le code VBA peut également vous aider à résoudre ce problème. Veuillez procéder comme suit:

1. Maintenez le ALT + F11 clés, et il ouvre le Microsoft Visual Basic pour applications fenêtre.

2Cliquez sur insérer > Moduleet collez le code suivant dans le Module fenêtre.

VBA: insérer les nombres manquants pour la séquence

Sub InsertValueBetween()
'Updateby Extendoffice
Dim WorkRng As Range
Dim Rng As Range
Dim outArr As Variant
Dim dic As Variant
Set dic = CreateObject("Scripting.Dictionary")
'On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
num1 = WorkRng.Range("A1").Value
num2 = WorkRng.Range("A" & WorkRng.Rows.Count).Value
interval = num2 - num1
ReDim outArr(1 To interval + 1, 1 To 2)
For Each Rng In WorkRng
    dic(Rng.Value) = Rng.Offset(0, 1).Value
Next
For i = 0 To interval
    outArr(i + 1, 1) = i + num1
    If dic.Exists(i + num1) Then
        outArr(i + 1, 2) = dic(i + num1)
    Else
        outArr(i + 1, 2) = ""
    End If
Next
With WorkRng.Range("A1").Resize(UBound(outArr, 1), UBound(outArr, 2))
    .Value = outArr
    .Select
End With
End Sub

3. Puis appuyez F5 clé pour exécuter ce code, et une boîte de dialogue apparaîtra, veuillez sélectionner la plage de données dans laquelle vous souhaitez insérer les nombres manquants (ne sélectionnez pas la plage de titre), voir capture d'écran:

doc-insert-numéro-manquant9

4. Et puis cliquez OK, les numéros manquants ont été insérés dans la liste de séquences. Voir les captures d'écran:

doc-insert-numéro-manquant1 -2 doc-insert-numéro-manquant2

flèche bleue bulle droite Insérer des lignes vides pour la séquence manquante avec le code VBA

Parfois, il vous suffit de localiser l'emplacement des nombres manquants et d'insérer des lignes vides entre les données, afin de pouvoir saisir les informations dont vous avez besoin. Bien sûr, le code VBA suivant peut également vous aider à résoudre ce problème.

1. Maintenez la touche ALT + F11 clés, et il ouvre un Microsoft Visual Basic pour applications fenêtre.

2Cliquez sur insérer > Moduleet collez le code suivant dans le Module fenêtre.

VBA: insérer des lignes vides pour la séquence manquante

Sub InsertNullBetween()
'Updateby Extendoffice
Dim WorkRng As Range
Dim Rng As Range
Dim outArr As Variant
Dim dic As Variant
Set dic = CreateObject("Scripting.Dictionary")
'On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
num1 = WorkRng.Range("A1").Value
num2 = WorkRng.Range("A" & WorkRng.Rows.Count).Value
interval = num2 - num1
ReDim outArr(1 To interval + 1, 1 To 2)
For Each Rng In WorkRng
    dic(Rng.Value) = Rng.Offset(0, 1).Value
Next
For i = 0 To interval
    If dic.Exists(i + num1) Then
        outArr(i + 1, 1) = i + num1
        outArr(i + 1, 2) = dic(i + num1)
    Else
        outArr(i + 1, 1) = ""
        outArr(i + 1, 2) = ""
    End If
Next
With WorkRng.Range("A1").Resize(UBound(outArr, 1), UBound(outArr, 2))
    .Value = outArr
    .Select
End With
End Sub

3. Puis appuyez F5 clé pour exécuter ce code, et une boîte de dialogue s'affiche, puis sélectionnez la plage de données que vous souhaitez insérer des lignes vides pour la séquence manquante (ne sélectionnez pas la plage de titre), voir capture d'écran:

doc-insert-numéro-manquant9

4. Et puis cliquez OK, les lignes vides ont été insérées pour la liste des séquences manquantes. Voir les captures d'écran:

doc-insert-numéro-manquant1 -2 doc-insert-numéro-manquant10

flèche bleue bulle droite Insérer des nombres manquants ou des lignes vides pour la séquence avec Kutools for Excel

Ici, je vais vous présenter un outil simple et pratique- Kutools pour Excel, Avec son Rechercher un numéro de séquence manquant , vous pouvez insérer rapidement le numéro de séquence manquant ou des lignes vides entre la séquence de données existante.

Kutools pour Excel : avec plus de 300 compléments Excel pratiques, essai gratuit sans limitation en 30 jours

Si vous avez installé Kutools pour Excel, procédez comme suit:

1. Sélectionnez la séquence de données dans laquelle vous souhaitez insérer les nombres manquants.

2Cliquez sur Kutools > insérer > Rechercher un numéro de séquence manquant, voir capture d'écran:

3. Dans le Rechercher un numéro de séquence manquant boîte de dialogue, cochez Insertion d'un numéro de séquence manquant pour insérer les nombres manquants ou jensertion de lignes vides lors de la rencontre de numéros de séquence manquants pour insérer des lignes vides selon vos besoins. Voir la capture d'écran:

doc-insert-numéro-manquant10

4. Et puis cliquez OK bouton, et les numéros de séquence manquants ou les lignes vides ont été insérés dans les données, voir les captures d'écran:

doc-insert-numéro-manquant10 2 doc-insert-numéro-manquant10 2 doc-insert-numéro-manquant10

Téléchargez et essayez gratuitement Kutools for Excel Now!


flèche bleue bulle droite  Démo: insérer des nombres manquants ou des lignes vides pour la séquence avec Kutools for Excel

Kutools pour Excel: avec plus de 300 compléments Excel pratiques, essai gratuit sans limitation dans 30 jours. Téléchargez et essayez gratuitement maintenant!

Article connexe:

Comment identifier la séquence de nombres manquants dans Excel?


Les meilleurs outils de productivité de bureau

Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtréeplus
  • Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammesplus
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellulesplus
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDFplus
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
onglet kte 201905

Office Tab apporte une interface à onglets à Office et simplifie considérablement votre travail

  • Activer 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 réduit des centaines de clics de souris chaque jour!
bas de cabine
Commentaires (10)
Pas encore de notes. Soyez le premier à évaluer!
Ce commentaire a été minimisé par le modérateur sur le site
Merci ! Super scénario ! Comment puis-je modifier ce script si je dis que nous devons traiter non seulement la colonne ID + la colonne NAME, mais la colonne ID + la colonne NAME + la colonne NEW ? Comment puis-je ajouter de nouvelles colonnes dans ce script ?
Ce commentaire a été minimisé par le modérateur sur le site
Voici la macro modifiée pour inclure une colonne ajoutée - Un autre point important est que lorsque vous êtes invité à sélectionner la plage, vous ne devez sélectionner que la première colonne - cela m'a pris quelques heures ! j'espère faire gagner du temps aux autres

Sous InsérerValeurEntre()
'Mettre à jour par Extendoffice
Dim WorkRng As Range
Dim Rng As Range
Dim outArr As Variant
Dim comme variante
Set dic = CreateObject("Scripting.Dictionary")
Dim dic2 comme variante
Set dic2 = CreateObject("Scripting.Dictionary")

'En cas d'erreur, reprendre le suivant
xTitleId = "KutoolsforExcel"
Définir WorkRng = Application.Selection
Définir WorkRng = Application.InputBox("Plage", xTitleId, WorkRng.Address, Type :=8)
num1 = WorkRng.Range("A1").Valeur
num2 = WorkRng.Range("A" & WorkRng.Rows.Count).Value
intervalle = num2 - num1
Redim outArr(1 à intervalle + 1, 1 à 3)
Pour chaque Rng dans WorkRng
dic(Rng.Valeur) = Rng.Offset(0, 1).Valeur
dic2(Rng.Valeur) = Rng.Offset(0, 2).Valeur
Suivant
Pour i = 0 To intervalle
outArr(je + 1, 1) = je + num1
Si dic.Exists(i + num1) Alors
outArr(i + 1, 2) = dic(i + num1)
outArr(i + 1, 3) = dic2(i + num1)
autre
outArr(i + 1, 2) = ""
outArr(i + 1, 3) = ""

Si fin
Suivant
Avec WorkRng.Range("A1").Resize(UBound(outArr, 1), UBound(outArr, 2))
.Valeur = outArr
.Sélectionner
Terminer par
End Sub
Ce commentaire a été minimisé par le modérateur sur le site
cela a fonctionné et c'était très facile de terminer la tâche. Merci.
Ce commentaire a été minimisé par le modérateur sur le site
Merci beaucoup. Comment changer le script si les incréments ne sont que de 0.02 et non de 1 C'est pour le script InsertNullBetween()
Ce commentaire a été minimisé par le modérateur sur le site
Et si je veux sélectionner 6 colonnes, puis vérifier la 1ère colonne pour les dates et si les dates manquent, ajoutez une ligne (cellules vides) pour les 6 colonnes
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour, je souhaite utiliser "Insertion du numéro de séquence manquant", mais cela ne prend pas en charge si le non. des chiffres sont plus de 12 pouvez-vous aider ?
Ce commentaire a été minimisé par le modérateur sur le site
Je souhaite utiliser la fonction "Insérer un numéro de séquence manquant" mais elle ne prend pas en charge les chiffres supérieurs à 12 ? il y a beaucoup d'ensembles dans lesquels je veux insérer la séquence entre (c'est un chiffre alphanumérique) pouvez-vous aider
Ce commentaire a été minimisé par le modérateur sur le site
Et si je veux sélectionner 6 colonnes, puis vérifier la 1ère colonne pour les dates et si les dates manquent, ajoutez une ligne (cellules vides) pour les 6 colonnes
Ce commentaire a été minimisé par le modérateur sur le site
Merci incroyable
Ce commentaire a été minimisé par le modérateur sur le site
J'essaie d'utiliser le VBA pour les nombres séquentiels. J'ai plusieurs colonnes à côté des numéros dont les numéros aussi. C'est à dire
1. Compteur HL 34
2. Compteur d'eau HL 40
4. HL CO2mètre 24

Lorsque j'utilise le code, cela fonctionne pour les 3 premières colonnes, mais cela se mélange si j'inclus la 4ème colonne car elle comprend également des nombres.
Comment puis-je changer le code pour m'assurer que les chiffres de la colonne 4 restent les mêmes ?
Il n'y a pas encore de commentaires postés ici
Laisser vos commentaires
Publier en tant qu'invité
×
Évaluez cet article:
0   Personnages
Emplacements suggérés