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

Comment insérer des lignes vides lorsque la valeur change dans Excel?

Supposons que vous ayez une plage de données et que vous souhaitiez maintenant insérer des lignes vides entre les données lorsque la valeur change, afin de pouvoir séparer les mêmes valeurs séquentielles dans une colonne comme les captures d'écran suivantes. Dans cet article, je vais vous parler de quelques astuces pour résoudre ce problème.

Insérer des lignes vides lorsque la valeur change avec la fonction Sous-total

Insérer des lignes vides lorsque la valeur change avec des colonnes d'assistance

Insérer des lignes vides lorsque la valeur change avec le code VBA

Insérez un nombre spécifique de lignes vides lorsque la valeur change avec une fonctionnalité puissante


Insérer des lignes vides lorsque la valeur change avec la fonction Sous-total

Avec la Sous-total fonctionnalité, vous pouvez insérer des lignes vides entre les données lorsque la valeur change comme suit:

1. Sélectionnez la plage de données que vous souhaitez utiliser.

2Cliquez sur Données > Sous-total ouvrir le Sous-total boîte de dialogue et dans la Sous-total boîte de dialogue, veuillez faire les options suivantes:

1: Sélectionnez le nom de la colonne sur laquelle vous souhaitez insérer des lignes vides en fonction du changement de valeur sous A chaque changement dans la section;
2: Choisissez Compter du Utilisez la fonction la liste déroulante;
3: Cochez le nom de la colonne dans laquelle vous souhaitez insérer le sous-total dans le Ajouter un sous-total à zone de liste

3. Puis clique OK, les lignes de sous-total ont été insérées entre les différents produits, et les symboles de contour sont affichés à gauche du tableau, voir capture d'écran:

4. Et puis cliquez sur le numéro 2 en haut du symbole de plan pour afficher uniquement les lignes de sous-total.

5. Sélectionnez ensuite les données de plage de sous-total et appuyez sur Alt +; touches de raccourci pour sélectionner uniquement les lignes visibles, voir capture d'écran:

6. Après avoir sélectionné les lignes visibles uniquement, appuyez sur le bouton Supprimer sur le clavier, et toutes les lignes de sous-total ont été supprimées.

7. Cliquez ensuite sur n'importe quelle autre cellule et revenez en arrière Données > Dissocier > Effacer le contour pour supprimer les contours, voir capture d'écran:

8. Les symboles de contour ont été effacés à la fois et vous pouvez voir que des lignes vides ont été insérées entre les données lorsque la valeur change, voir capture d'écran:

9. Enfin, vous pouvez supprimer la colonne A selon vos besoins.


Insérer un saut de page, des lignes vides, une bordure inférieure ou une couleur de remplissage lorsque la valeur change rapidement

Si vous avez Kutools pour Excel's Distinguer les différences fonctionnalité, vous pouvez rapidement insérer un saut de page, des lignes vierges, une bordure inférieure ou une couleur de remplissage lorsque la valeur change selon vos besoins. Voir la démo ci-dessous.         Cliquez pour télécharger Kutools for Excel!


Insérer des lignes vides lorsque la valeur change avec des colonnes d'assistance

Avec les colonnes d'assistance, vous pouvez d'abord insérer une formule, puis appliquer le Rechercher et remplacer fonction, enfin, insérez les lignes vides entre les valeurs changeantes. Veuillez procéder comme suit:

1. Dans une cellule vide C3, veuillez entrer cette formule = A3 = A2, et dans la cellule D4 entrez cette formule = A4 = A3, voir capture d'écran:

2. Sélectionnez ensuite C3: D4 et faites glisser la poignée de recopie sur la plage à laquelle vous souhaitez appliquer ces formules, et vous obtiendrez Les véritables or Faux dans les cellules, voir capture d'écran:

3. Et puis appuyez sur Ctrl + F clés pour ouvrir le Rechercher et remplacer boîte de dialogue, dans la boîte de dialogue qui apparaît, entrez FAUX into the Trouvez ce que zone de texte sous Find onglet, et cliquez Options bouton pour développer cette boîte de dialogue et choisissez Nos valeurs du Regarder dans liste déroulante, voir capture d'écran:

4. Cliquez Trouver tout bouton, puis appuyez sur Ctrl + A pour sélectionner tous les résultats de recherche, toutes les cellules FALSE ont été sélectionnées en même temps, voir capture d'écran:

6. Fermer la Rechercher et remplacer boîte de dialogue, étape suivante, vous pouvez insérer des lignes vides en cliquant sur Accueil > insérer > Insérer des lignes de feuille, et des lignes vides ont été insérées dans les données lorsque la valeur change en fonction de la colonne A, voir les captures d'écran:

7. Enfin, vous pouvez supprimer les colonnes d'assistance C et D selon vos besoins.


Insérer des lignes vides lorsque la valeur change avec le code VBA

Si vous êtes fatigué d'utiliser les méthodes ci-dessus, voici un code qui peut également vous aider à insérer des lignes vides entre les valeurs modifiées à la fois.

1. Maintenez le ALT + F11 clés pour ouvrir le Fenêtre Microsoft Visual Basic pour Applications.

2Cliquez sur insérer > Moduleet collez le code suivant dans le Fenêtre du module.

Code VBA: insérer des lignes vides lorsque la valeur change

Sub InsertRowsAtValueChange()
'Update by Extendoffice
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
For i = WorkRng.Rows.Count To 2 Step -1
    If WorkRng.Cells(i, 1).Value <> WorkRng.Cells(i - 1, 1).Value Then
        WorkRng.Cells(i, 1).EntireRow.Insert
    End If
Next
Application.ScreenUpdating = True
End Sub

3. Puis appuyez F5 clé pour exécuter ce code, et une boîte de dialogue apparaîtra pour vous permettre de sélectionner une colonne de données que vous souhaitez insérer des lignes vides lorsque la valeur change sur laquelle vous vous basez, voir capture d'écran:

4. Et puis cliquez OK, les lignes vides ont été insérées entre les données lorsque la valeur change en fonction de la colonne A.


Insérez un nombre spécifique de lignes vides lorsque la valeur change avec une fonctionnalité puissante

Si vous êtes essayé avec les méthodes gênantes ci-dessus, ici, je vais vous présenter un outil utile, Kutools pour Excel's Distinguer les différences peut vous aider à insérer un saut de page, des lignes vides, une bordure inférieure ou une couleur de remplissage lorsque la valeur de la cellule change rapidement et facilement.

Conseils:Appliquer cette Distinguer les différences fonctionnalité, tout d'abord, vous devez télécharger le Kutools pour Excel, puis appliquez la fonction rapidement et facilement.

Après l'installation de Kutools pour Excel, veuillez faire comme ceci:

1Cliquez sur Kutools > Format > Distinguer les différences, voir capture d'écran:

2. Dans le Distinguer les différences par colonne clé boîte de dialogue, veuillez effectuer les opérations suivantes:

  • Sélectionnez la plage de données que vous souhaitez utiliser, puis choisissez la colonne clé sur laquelle vous souhaitez insérer des lignes vides;
  • Puis vérifier Ligne vide Option de Options section et entrez le nombre de lignes vides que vous souhaitez insérer.

3. Puis clique Ok bouton, et le nombre spécifique de lignes vides a été inséré dans les données si la valeur de la cellule change, voir les captures d'écran:

Cliquez pour télécharger Kutools pour Excel et un essai gratuit maintenant!


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 (15)
Pas encore de notes. Soyez le premier à évaluer!
Ce commentaire a été minimisé par le modérateur sur le site
J'ai une colonne avec les chiffres 5,4,3,2 et 1 (BEAUCOUP d'entre eux) et je veux séparer les Fives des autres, comme : 5 5 5 4 3 2 1 5 5 5 5 5 4 3 2 1 Les nombres sont dans l'ordre desc et il y a toujours quatre en dessous de cinq, alors j'ai essayé: Sub InsertRowsAtValueChange() 'Update 20140716 Dim Rng As Range Dim WorkRng As Range On Error Resume Next xTitleId = "KutoolsforExcel" Set WorkRng = Application.Selection Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8) Application.ScreenUpdating = False For i = WorkRng.Rows.Count To 2 Step -1 If WorkRng.Cells(i, 1). Value = 5 And WorkRng.Cells(i - 1, 1).Value = 4 Then WorkRng.Cells(i, 1).EntireRow.Insert End If Next Application.ScreenUpdating = True End Sub Mais cela n'a pas fonctionné. Pouvez-vous m'aider?
Ce commentaire a été minimisé par le modérateur sur le site
La formule fonctionne très bien, mais il y a quelques exemples où elle ne reconnaît pas
Ce commentaire a été minimisé par le modérateur sur le site
Merci beaucoup, j'ai regardé partout et c'était la seule solution qui fonctionnait pour moi et qui était également en anglais courant. Tous les autres sites Web de didacticiels Excel ne l'ont pas décomposé étape par étape, comme vous l'avez fait, merci beaucoup. salutations : )
Ce commentaire a été minimisé par le modérateur sur le site
Merci beaucoup d'avoir décrit plusieurs solutions au problème. J'ai utilisé celui de Visual Basic et changé [quote]WorkRng.Cells(i, 1).EntireRow.Insert[/quote] avec [quote]With WorkRng.Cells(i, 1).EntireRow.Borders(xlEdgeTop) .LineStyle = xlContinuous .ColorIndex = xlAutomatic .TintAndShade = 0 .Weight = xlMedium End With[/quote] Cela tracera des lignes entre les lignes avec des valeurs changeantes au lieu de lignes vides.
Ce commentaire a été minimisé par le modérateur sur le site
Où dans le code devrais-je modifier pour inclure plus d'une ligne, je dois en ajouter 10 après chaque pause... Merci
Ce commentaire a été minimisé par le modérateur sur le site
Salut à tous merci !! c'est génial, pouvez-vous aussi me dire comment insérer 2 lignes lorsque la valeur change dans VBA ou via Excel.
Ce commentaire a été minimisé par le modérateur sur le site
Salut, Ceux-ci sont presque utiles! La première méthode ne fonctionne pas pour moi car lorsque je suis les étapes explicitement, les données que je supprime dans les volets de sous-total suppriment toutes les colonnes que j'ai triées. Dans la deuxième méthode, lorsque j'arrive à l'étape où j'insère des lignes de feuille, les lignes sont insérées AU-DESSUS des cellules FAUX qui décomposent les données, mais la dernière sélection de chaque groupe est ensuite ajoutée au groupe ci-dessous. Aucun conseil???
Ce commentaire a été minimisé par le modérateur sur le site
[quote]Salut à tous merci !! c'est génial, pouvez-vous aussi me dire comment insérer 2 lignes lorsque la valeur change dans VBA ou via Excel.Par Hudson[/quote] Veuillez me faire savoir comment insérer plus d'une ligne.
Ce commentaire a été minimisé par le modérateur sur le site
J'utilise ma propre solution depuis un certain temps.
1. Insérez une colonne d'assistance dans la colonne A
2. Dans A2, tapez "si(B2=B1,A1,A1+1)"
3. Copiez cette formule jusqu'à la dernière ligne
4. Copiez toutes les cellules remplies dans la colonne A et collez spécial (valeurs) dessus
5. Copiez à nouveau toutes les cellules et collez-les dans la colonne A de la première cellule non remplie (par exemple, si vous avez 104 lignes de données plus une ligne d'en-tête, vous collerez dans la cellule A106)
6. Cliquez sur Données et Supprimer les doublons (uniquement sur les cellules que vous venez de coller à l'étape 5 ; pas sur toutes les lignes)
7. Trier toute la colonne A
8. Supprimer la colonne A

Cela ressemble à beaucoup d'étapes mais ne prend que quelques secondes.
Ce commentaire a été minimisé par le modérateur sur le site
Le code VBA a fonctionné la première fois et a fait exactement ce que j'essayais de faire. Merci beaucoup!
Ce commentaire a été minimisé par le modérateur sur le site
RE : insérer des lignes vides lorsque la valeur change avec le code vba
Existe-t-il un moyen de sauvegarder la plage et de ne pas avoir à la sélectionner à chaque fois que je l'exécute ?
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour,
Est-ce très utile au cas où j'aurais besoin d'insérer 1 ligne, mais si j'ai besoin d'insérer 145 lignes à chaque fois que les données changent dans une colonne spécifique, comment puis-je le faire ?
Ce commentaire a été minimisé par le modérateur sur le site
Salut Hassan,
Pour insérer plusieurs lignes vides lorsque la valeur change dans une colonne spécifique, vous devez appliquer le code VBA suivant :

Remarque : dans le code ci-dessous, vous devez modifier le nombre 99 selon vos besoins, par exemple, lorsque vous insérez 145 lignes vides, vous devez modifier le nombre 99 en 144. Veuillez l'essayer, j'espère que cela pourra vous aider !

Sous InsertRowsAtValueChange()
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Définir WorkRng = Application.Selection
Définir WorkRng = Application.InputBox("Plage", xTitleId, WorkRng.Address, Type :=8)
Application.ScreenUpdating = Faux
For i = WorkRng.Rows.Count To 2 Step -1
Si WorkRng.Cells(i, 1).Value <> WorkRng.Cells(i - 1, 1).Value Alors
Plage(WorkRng.Cells(i, 1).EntireRow, WorkRng.Cells(i + 99, 1).EntireRow).Insérer
Si fin
Suivant
Application.ScreenUpdating = True
End Sub
Ce commentaire a été minimisé par le modérateur sur le site
Très utile. Le code que skyyang montre ci-dessus a parfaitement fonctionné. Assurez-vous simplement que les données ne contiennent pas déjà d'espaces.

Je ne comprends pas VBA, mais je pense que si vous vouliez ajouter plus de lignes sous des données qui avaient déjà l'espacement, il devrait y avoir un moyen d'ignorer les espaces.

Une ligne peut-elle être ajoutée pour ignorer ou ignorer les lignes vides ? Cela pourrait rendre ce code plus universel et reproductible si nécessaire. De plus, une fonction de suppression similaire à celle-ci peut être utile, l'annulation n'est donc pas nécessaire.
Ce commentaire a été minimisé par le modérateur sur le site
La méthode VBA peut-elle être adaptée pour ignorer les cellules vides ? J'ai un fichier dans lequel je dois insérer des lignes en fonction de deux colonnes différentes, mais lorsque j'exécute la macro sur la deuxième colonne, je me retrouve avec trois lignes vides où la première macro exécute des lignes insérées.
Ou peut-il fonctionner sur deux colonnes en même temps ?
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