Supprimer des colonnes

Résolu
Momo -  
Theo.R Messages postés 575 Date d'inscription   Statut Membre Dernière intervention   -
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

PapyLuc51 Messages postés 4519 Date d'inscription   Statut Membre Dernière intervention   1 486
 
Bonsoir,

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

Cordialement
0
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
PapyLuc51 Messages postés 4519 Date d'inscription   Statut Membre Dernière intervention   1 486
 
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
MomoAbou > PapyLuc51 Messages postés 4519 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
PapyLuc51 Messages postés 4519 Date d'inscription   Statut Membre Dernière intervention   1 486
 
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
MomoAbou Messages postés 18 Date d'inscription   Statut Membre Dernière intervention  
 
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
PapyLuc51 Messages postés 4519 Date d'inscription   Statut Membre Dernière intervention   1 486 > MomoAbou Messages postés 18 Date d'inscription   Statut Membre Dernière intervention  
 
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
MomoAbou Messages postés 18 Date d'inscription   Statut Membre Dernière intervention  
 
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
Theo.R Messages postés 575 Date d'inscription   Statut Membre Dernière intervention   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
MomoAbou Messages postés 18 Date d'inscription   Statut Membre Dernière intervention  
 
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
Theo.R Messages postés 575 Date d'inscription   Statut Membre Dernière intervention   31 > MomoAbou Messages postés 18 Date d'inscription   Statut Membre Dernière intervention  
 
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
PapyLuc51 Messages postés 4519 Date d'inscription   Statut Membre Dernière intervention   1 486
 
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
Theo.R Messages postés 575 Date d'inscription   Statut Membre Dernière intervention   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
MomoAbou Messages postés 18 Date d'inscription   Statut Membre Dernière intervention  
 
ç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