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

Comment supprimer des colonnes entières en fonction de la valeur d'en-tête dans Excel?

Dans de nombreux cas, vous devrez peut-être supprimer les colonnes entières en fonction de la valeur d'en-tête dans Excel. Par exemple, vous devez supprimer toutes les colonnes qui contiennent la valeur «old» dans l'en-tête. Dans ce didacticiel, nous allons vous montrer les méthodes de suppression de colonnes entières en fonction de la valeur d'en-tête dans les détails.

Supprimer des colonnes entières en fonction de la valeur d'en-tête avec le code VBA
Supprimer des colonnes entières en fonction de la valeur d'en-tête avec Kutools for Excel


Supprimer des colonnes entières en fonction de la valeur d'en-tête avec le code VBA

Vous pouvez supprimer des colonnes entières en fonction de la valeur d'en-tête avec le code VBA. Veuillez faire comme suit.

1. presse autre + F11 touches simultanément pour ouvrir le Application Microsoft Visual Basic fenêtre.

2. dans le Application Microsoft Visual Basic fenêtre, cliquez sur insérer > Module. Et puis copiez et collez le code ci-dessous dans la fenêtre Module.

Code VBA: supprimer des colonnes entières en fonction de la valeur d'en-tête

Sub DeleteSpecifcColumn()
	Set MR = Range("A1:D1")
	For Each cell In MR
		If cell.Value = "old" Then cell.EntireColumn.Delete
	Next
End Sub

Notes:

1) dans le code, "Seniors»Est la valeur d'en-tête sur laquelle vous souhaitez supprimer toute la colonne. Veuillez modifier manuellement la valeur de votre en-tête. Et A1: D1 est la plage de colonnes que vous souhaitez utiliser.
2) Ce code est sensible à la casse.

3. appuie sur le F5 pour exécuter le code, la colonne entière avec un en-tête égal au texte spécifié sera immédiatement supprimée.


Supprimer des colonnes entières en fonction de la valeur d'en-tête avec Kutools for Excel

Avec Kutools pour Excel's Sélectionnez des cellules spécifiques utilitaire, vous pouvez facilement sélectionner toutes les colonnes qui contiennent d'abord la certaine valeur d'en-tête, puis supprimer ces colonnes sélectionnées à la fois. Veuillez faire comme suit.

Avant d'appliquer Kutools pour Excel, S'il vous plaît téléchargez et installez-le d'abord.

1. Sélectionnez la plage contenant les colonnes à supprimer, puis cliquez sur Kutools > Sélectionnez > Sélectionnez des cellules spécifiques. Voir la capture d'écran:

2. dans le Sélectionnez des cellules spécifiques boîte de dialogue, sélectionnez le Colonne entière option dans la Type de sélection section, et dans la Type spécifique liste déroulante, sélectionnez Équivaut à option, puis tapez la valeur d'en-tête dans la zone suivante. Et enfin cliquez sur le OK bouton. Voir la capture d'écran:

3. Cliquez sur l' OK dans une autre boîte de dialogue contextuelle, les colonnes contenant la valeur d'en-tête spécifiée sont sélectionnées immédiatement.

4. Cliquez avec le bouton droit sur l'en-tête de colonne de la colonne sélectionnée, puis cliquez sur Supprimer dans le menu contextuel. Ensuite, toutes les colonnes sélectionnées sont supprimées en même temps.

  Si vous souhaitez bénéficier d'un essai gratuit (30 jours) de cet utilitaire, veuillez cliquer pour le télécharger, puis passez à appliquer l'opération selon les étapes ci-dessus.


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 (12)
Pas encore de notes. Soyez le premier à évaluer!
Ce commentaire a été minimisé par le modérateur sur le site
Désolé si cela semble super basique mais c'est la première fois que j'essaie vba. En utilisant ceci, comment pourrais-je l'appliquer pour supprimer plusieurs en-têtes de colonne. J'essaie en fait de ne conserver que certaines colonnes d'en-tête et de supprimer le reste d'une liste changeante.
Ce commentaire a été minimisé par le modérateur sur le site
Dans le premier code, copiez simplement la 4ème ligne et changez "l'ancien" dans le nom de la deuxième colonne et cela fonctionnera
Ce commentaire a été minimisé par le modérateur sur le site
Hé! Cela fonctionne bien jusqu'à ce que vous ayez deux colonnes contiguës avec le même en-tête. Supposons que votre plage soit A1: A5 et que A2 et A3 aient l'en-tête "ancien". Il supprimera A2, mais ensuite l'A3 se déplacera à la place qu'occupait A2, et le code l'ignorera, car il regardera le nouveau A3, la prochaine cellule de sa plage.
Ce commentaire a été minimisé par le modérateur sur le site
Salut Elias,
Comme vous l'avez mentionné, A2 et A3 ont le même en-tête "ancien". Mais ils sont dans la même colonne, après application du code, toute la colonne A sera immédiatement supprimée.
Je ne suis pas sûr de comprendre votre point de vue. Ce serait bien si vous pouviez fournir une capture d'écran de ce que vous essayez de faire.
Ce commentaire a été minimisé par le modérateur sur le site
Salut, est-il possible de le faire avec plusieurs noms de colonnes ?
Ce commentaire a été minimisé par le modérateur sur le site
Salut Mark,
Essayez le code ci-dessous. Dans la huitième ligne, veuillez entourer chaque nom de colonne de guillemets doubles et les séparer par des virgules. J'espère que je peux aider. Merci.

Sous SupprimerColonneSpécifique()

Dim xFNum, xFFNum, xCount As Integer

Dim xStr As String

Dim xArrName As Variant

Dim MR, xRg As Range

On Error Resume Next

Définir MR = Plage("A1:N1")

xArrName = Array("old", "new", "get") 'entourez chaque nom de colonne de guillemets doubles et séparez-les par une virgule

xCount = MR.Count

xStr = xNomTabl(xFNum)

Pour xFFNum = xCount To 1 Step -1

Définir xRg = Cellules(1, xFFNum)

Pour xFNum = 0 Vers UBound(xArrName)

xStr = xNomTabl(xFNum)

Si xRg.Value = xStr Alors xRg.EntireColumn.Delete

XFNum suivant

Suivant

End Sub
Ce commentaire a été minimisé par le modérateur sur le site
Je pense que la ligne 12 doit être modifiée pour que le code fonctionne. Ligne originale 12 "Set xRg = Cells(1, xFFNum)" ligne modifiée 12 "Set xRg = MR(1, xFFNum)"
Sous SupprimerColonneSpécifique()
Dim xFNum, xFFNum, xCount As Integer
Dim xStr As String
Dim xArrName As Variant
Dim MR, xRg As Range
On Error Resume Next
Définir MR = Plage("A1:N1")
xArrName = Array("old", "new", "get") 'entourez chaque nom de colonne de guillemets doubles et séparez-les par une virgule
xCount = MR.Count
xStr = xNomTabl(xFNum)
Pour xFFNum = xCount To 1 Step -1
Définir xRg = MR(1, xFFNum)
Pour xFNum = 0 Vers UBound(xArrName)
xStr = xNomTabl(xFNum)
Si xRg.Value = xStr Alors xRg.EntireColumn.Delete
XFNum suivant
Suivant
End Sub
Ce commentaire a été minimisé par le modérateur sur le site
Que se passe-t-il si les en-têtes commencent à partir de la 4ème ligne ?
Ce commentaire a été minimisé par le modérateur sur le site
L'exemple VBA indique que le code supprimera toutes les colonnes dont les en-têtes CONTIENNENT "ancien". Ce n'est pas le cas. L'opérateur = supprimera uniquement les correspondances exactes. Vous devez utiliser l'opérateur LIKE avec un caractère générique.
Code fixe : Sub DeleteSpecifcColumn()
Définir MR = Plage("A1:D1")
Pour chaque cellule dans MR
Si cell.Value LIKE "old*" Alors cell.EntireColumn.Delete
Suivant
End Sub

Ce commentaire a été minimisé par le modérateur sur le site
Bonjour, merci pour votre correction et votre partage. 
Ce commentaire a été minimisé par le modérateur sur le site
Hola, tengo una hoja de excel con varios datos, digamos 4 columnas y 12 filas, me gustaría poder imprimir cada fila en un folio separado en una plantilla, es decir, tenemos una hoja con varios nombres y apellidos y teléfono, quiero imprimir tantas páginas como filas tenga la hoja de excel, he inte tado varias cosas pero no encuentro la forma. Gracias de antemano
Ce commentaire a été minimisé par le modérateur sur le site
Hi,
Si vous souhaitez imprimer chaque ligne sur une page distincte de la feuille de calcul, voici une suggestion d'insérer des sauts de page toutes les lignes, puis de les imprimer.
Les méthodes fournies dans cet article peuvent vous rendre service. Veuillez essayer. Merci.
Comment insérer un saut de page toutes les X lignes dans Excel ?[/url]
https://www.extendoffice.com/documents/excel/1774-excel-insert-page-break-every-row.html
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