Boucle afin de supprimer des colonnes

Bonjour,

Je cherche une boucle pour supprimer certaines colonnes.

mon idée est de rechercher le nom de l’entête des colonnes, une fois trouver, sélectionner et supprimer cette colonne

Ma macro de base :

Cells.Find(What:="SupplierReference").Activate

ActiveCell.EntireColumn.Select

Selection.Delete

Maintenant que j'ai trouvé ma macro je voudrais en faire une boucle qui chercherait tout les noms de colonne que j'aurais pre-défini et qui les supprimerais

Ma problématique c'est que j'ai a traiter cette extraction pour plusieurs filiales de ma société, que les colonnes sont pas toujours au même endroit (c'est pourquoi que je part sur l'idée de chercher par rapport au nom de l’entête) que sur certain fichier j'ai des noms de colonnes que d'autres non pas.

J'attache a mon poste le fichier, les colonne a supprimer sont en jaune.

je suis sous Excel 2016.

Merci de votre aide

Eddie

bonjour,

Pas top... Tu peux pas faire une liste des en-têtes de colonnes à supprimer ?

A+

oui, voici la liste des entêtes de colonnes à supprimer :

SupplierReference

SIPP

SIPPGroup

Product

LocationFrom

LocationTo

Customer

CustomerAge

Extras

FlightNo

BookingName

FCHCharge

CommissionRate

FCHAmount

vendorcurrency

vendorcharge

CID

AgentRef

AddedDriver

InvoiceNo

Receipts

Merci de votre aide

Eddie

Bonjour,

Une proposition

A+

Hello,

Tu peux faire une boucle simple du style et inclure le nom des colonnes à supprimer.

Sub test()

For i = 1 To 100
    If Cells(1, i).Value = "dd" Then
    Columns(i).Delete
    End If
Next i

End Sub
87qboullier.xlsm (12.82 Ko)

Merci Frangy ça marche super bien.

Je comprend pas trop les lignes mais il faut que je me penche dessus afin de comprendre et par la suite ne pas bloquer la dessus.

Merci encore


Merci nonesofar13,

Ta proposition est intéressante mais que je comprenne, dans ta macro on ne supprime qu’une seul colonne, on peux l'adapter pour plusieurs colonnes ?

Merci

Hello,

La proposition de Frangy est bien plus complète. Grace à la feuille source cela permet d'eviter de rentrer tous les cas dans le code.

En effet ma macro est juste une piste il faut bien entendu taper tout les cas pour chaque colonnes à supprimer.

If Cells(1, i).Value = "SIPPGroup"

If Cells(1, i).Value = "LocationFrom"

If Cells(1, i).Value = "LocationTo"
'
'
'
'
etc

Du coup c'est une solution qui est plus lourde et moins élégante que celle de Frangy!!

Bonne soirée.

Merci de l'explication.

Vous m'avez bien aidé.

Bonne journée a vous tous.

Eddie

Rechercher des sujets similaires à "boucle afin supprimer colonnes"