Supprimer des colonnes

Résolu
Momo -  
Theo.R Messages postés 585 Statut Membre -
Bonjour,

Je dispose d'une classeur Excel avec 32 feuilles nommées KPI1, KPI2 jusqu'à KPI32 et chauqe feuille a les colonnes KPI1, KP2, ..KPI32. je souhaiterais faire, si on est dans la feuille KPI1, supprimer les autres colonnes KPI... KPI32 et garder uniquement la colonne KPI1 et ceci dans chaque feuille.

Est ce vous pourriez m'aider s'il vous plait.

Merci par avance.

3 réponses

  1. PapyLuc51 Messages postés 4569 Date d'inscription   Statut Membre Dernière intervention   1 511
     
    Bonsoir,

    Si toutes les feuilles sont identiques les sélectionner toutes ensembles - supprimer les colonnes sur la feuille active avant de dissocier.

    Cordialement
    0
    1. MomoAbou
       
      Bonsoir PapyLuc51

      Merci de votre retour. Je ne suis pas sûr d'avoir bien compris. Toutes les feuilles sont identiques au départ oui juste que DANS KPI1 je ne dois garder que la colonne KPI1 et supprimer les autres. La colonne à garder n'est pas toujours à la même place.
      0
    2. PapyLuc51 Messages postés 4569 Date d'inscription   Statut Membre Dernière intervention   1 511
       
      J'avais bien mis si toutes les feuilles sont identiques, ce qui n'est pas le cas. Il est donc inutile de détailler mon propos. A mon modeste niveau je n'ai pas d'autre solution à part de faire feuille par feuille, Je suis sûr que d'autres membres vont te concocter une solution.

      Il serait bon que tu envoies un exemplaire anonymisé de ton classeur en passant par cjoint
      https://www.cjoint.com/

      https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers

      Cordialement
      0
      1. MomoAbou > PapyLuc51 Messages postés 4569 Date d'inscription   Statut Membre Dernière intervention  
         
        Bonsoir,

        merci encore. voici le lien du fichier à joindre:

        http://www.cjoint.com/c/FBytzdhTK26

        Cordialement,
        0
  2. PapyLuc51 Messages postés 4569 Date d'inscription   Statut Membre Dernière intervention   1 511
     
    Bonjour
    J'ai vu ton classeur test ; et que tous tes feuillets KPI1 à KPI10 sont l'exact reflet de le l'onglet feuil1.

    Je me trompe peut-être mais je suppose que tu veux garder/voir la colonne KPI1 dans le feuillet KPI - KPI2 dans le feuillet KPI2 et ainsi de suite et que les colonnes gardent leur position (colonne B pour KPI1, C pour KPI2...) et ne travailler que sur la Feuil1 avec renvoi des valeurs.

    Si tu tiens à tout conserver, sur chaque feuille, l'une après l'autre :
    - soit tu effaces le contenu des cellules et tu masques les colonnes vides pour ramener la colonne active à la deuxième position (voir méthode ci-dessous)
    - soit tu masques les colonnes avec leur valeurs : sélectionne toutes les colonnes que tu ne veux pas voir (touche Ctrl maintenue enfoncée Clic gauche sur la lettre des colonnes à masquer pour les griser relâcher Ctrl Clic droit sur une des lettres de colonnes grisées et Masquer ;

    Ou tous simplement pour éviter d'alourdir ton classeur autant travailler uniquement sur la feuil1 et supprimer tout le reste ;

    Si je me trompe dans mes suppositions, explique clairement ce que tu veux

    Cordialement
    0
    1. MomoAbou Messages postés 20 Statut Membre
       
      Bonjour PapyLuc1,

      Oui, sur la feuille KPI1 je ne souhaite voir que la colonne KPI1 placée à la colonne B, sur KPI3 uniquement Feuille 3 mais placée toujours à la colonne B. Sur chaque Feuille Uniquement la colonne A et B doivent exister (où A est déja fixée et B varie d'une feuille à l'autre).

      Je ne connaissais pas les manipulations que tu as proposées. Je vais tester ça déjà pour voir.

      Merci beaucoup.
      0
      1. PapyLuc51 Messages postés 4569 Date d'inscription   Statut Membre Dernière intervention   1 511 > MomoAbou Messages postés 20 Statut Membre
         
        où A est déja fixée et B varie d'une feuille à l'autre

        Dans ce cas tu suis ma deuxième explication et au lieu de masquer tu cliques sur supprimer tout simplement

        Cordialement
        0
    2. MomoAbou Messages postés 20 Statut Membre
       
      Merci beaucoup PapyLuc, problème résolu maintenant aussi bien avec ta méthode que le code VBA qui m'est proposé par Théo.R
      0
  3. Theo.R Messages postés 585 Statut Membre 31
     
    Bonjour,

    je ne sais pas si vous avez déjà trouvé votre bonheur avec les autres réponses, mais si ça n'est pas le cas vous pouvez utiliser ce code dans un module :
    Sub test()

    For i = 1 To 32

    Dim A As String
    A = Sheets("KPI" & i).Cells(1, 1).Value
    Dim B As String
    B = "KPI" & i
    x = 1

    Do Until A = B
    Sheets("KPI" & i).Columns("A:A").Delete
    A = Sheets("KPI" & i).Cells(1, 1).Value
    x = x + 1
    If x = 33 Then
    MsgBox i & " " & A & " " & B
    Exit Sub
    End If
    Loop

    Dim C As String
    C = Sheets("KPI" & i).Cells(1, 2).Value

    Do Until Sheets("KPI" & i).Cells(1, 2).Value = ""
    Sheets("KPI" & i).Columns("B:B").Delete
    C = Sheets("KPI" & i).Cells(1, 2).Value
    Loop

    Next i

    End Sub
    0
    1. MomoAbou Messages postés 20 Statut Membre
       
      Bonjour Theo,

      Merciii tu me sauves la vie, c'est exactement ce que je voulais je l'ai testé et ça a marché!! dire que je me suis tapé cette opération je ne sais combien de fois (copier / Coller Supprimer autres column).

      Merci
      0
    2. Theo.R Messages postés 585 Statut Membre 31 > MomoAbou Messages postés 20 Statut Membre
       
      Pas de souci,

      Désolé du retard dans la réponse, en fait j'avais terminé hier en fin d'aprem mais j'ai eu un problème de connexion au forum, du coup j'ai dû attendre ce matin :s

      Pensez-bien à passer le sujet en Résolu si cest ok pour vous ;)

      Bonne continuation,
      0
    3. PapyLuc51 Messages postés 4569 Date d'inscription   Statut Membre Dernière intervention   1 511
       
      Tu vois je savais bien que tu allais avoir d'autres solutions. Tu as l'air satisfait du code de Théo.R - Si ça solutionne ta question n'oublie pas de cocher résolu en haute de ta question initiale.

      Cordialement
      0
    4. Theo.R Messages postés 585 Statut Membre 31
       
      Euh juste un détail sur mon code, toutes les lignes qui concernent la variable "x" ne servent à rien, je les ai mises pour identifier à quel moment mon code ne fonctionnait plus ^^'

      Bref ça ne coûte rien de les laisser non plus ;)
      0
    5. MomoAbou Messages postés 20 Statut Membre
       
      ça y est je l'ai passé en résolu!! Merci à tous les deux! Je ne suis pas encore bon en vba (j'apprends petit à petit), je pense que je vais laisser le x comme ça n’empêche pas le code de s’exécuter et que je risque de réutiliser plein de fois ce code.

      Merci :)
      0