Supprimer colonne ne contenant pas

Résolu/Fermé
mat91_92 - 18 avril 2016 à 17:08
 mat91_92 - 19 avril 2016 à 10:01
Bonjour a tous,

J'aimerais supprimer toutes les colonnes de ma feuille excel dont les titres (noms des colonnes sur la ligne 1) ne sont pas "link", "title", "pagemappersonlocation", "pagemapPersonRole", "Pagemappersonorg"

Je n'arrive pas à trouver la bonne macro ni adapter celle qui s'y rapprochent.

Merci d'avance!

M.
A voir également:

3 réponses

jordane45 Messages postés 38169 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 8 mai 2024 4 659
18 avril 2016 à 17:16
Bonjour,

Tu fais une boucle sur tes colonnes (en parant de la dernière)
 ' Boucle de la colonne  nbColonnes  jusqu'à la colonne N°1
 ' nbColonnes  = Nombre de colonnes de ton tableau.
 for i=1 to nbColonnes Step -1
  '// la suite du code


  Next 'Fin de la boucle

et pour chaque colonne tu regardes si le titre est égale à une des valeurs que tu veux supprimer.
If titre = "link" or titre="title" ...  Then

Si oui... tu supprime la colonne
   Columns(i).EntireColumn.Delete
0
Salut Jordane,

Tout d'abord merci pour ta réponse. Peux être que je ne suis pas clair. J'ai un document avec enormement de colonne et je veux en garder que 5. Je voudrais pouvoir, via une macro, supprimer toutes les colles SAUF celles ayant pour titre "link", "title", "pagemappersonlocation", "pagemapPersonRole", "Pagemappersonorg"
0
ccm81 Messages postés 10855 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 29 avril 2024 2 404
18 avril 2016 à 17:21
Bonjour

Un exemple à adapter
http://www.cjoint.com/c/FDspu1gx7SQ

Cdlmnt
0
ccm81 Messages postés 10855 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 29 avril 2024 2 404
Modifié par ccm81 le 18/04/2016 à 18:29
Je voudrais pouvoir, via une macro, supprimer toutes les colles SAUF celles ayant pour titre "link", "title", "pagemappersonlocation", "pagemapPersonRole",
OK, tu avais une seule ligne à modifier

' liste des titres des colonnes à garder
Const listetitres = "titre2,titre4,titre8"

Const lititres = 1
Const codeb = 1

Public Sub OK()
Dim co As Long, cofin As Long
Application.ScreenUpdating = False
cofin = Cells(lititres, Columns.Count).End(xlToLeft).Column
For co = cofin To codeb Step -1
If InStr(1, listetitres, Cells(lititres, co).Value) = 0 Then Columns(co).Delete
Next co
End Sub

Cdlmnt
0
Ca fonctionne niquel! Merci!
0