Suppression de colonnes sous conditions

Bonsoir à tous,

J'ai besoin de votre aide svp

J'ai un tableau que je joins en PJ.

Il est simplifié bien sûr et peut comporter des milliers de lignes

Je n'ai besoin que des colonnes avec l'intitulé "VMM" sur la ligne 2

Dans le fichier test, j'ai donc besoin de la colonne F et K.

Pourriez vous me dire comment écrire la condition pour supprimer les colonnes inutiles svp ?

Si sur la ligne 2, et à partir de C2 se trouve les mentions "CA", "QTE", "PX" et "DN" alors supprime la colonne entière

Je vous remercie d'avance et vous souhaite une bonne soirée

Bonjour,

as-tu essayé le filtre élaboré ?

P.

Bonjour à tous

Un essai à tester.Te convient-il ?

Bye !

Bonjour à vous,

Merci pour ces réponses

Patrick, désolé mais je ne connais pas le filtre élaboré...

Gmb, merci pour le code. Ca fonction après plusieurs clics. Serait-il possible de tout supprimer d'un seul clic ?

Merci d'avance pour vos nouvelles réponses

Bonjour,

Bonjour gmb,

La même mais différente.

Public Sub DeleteColumns()
Dim lastCol As Long, J As Long
    Application.ScreenUpdating = False
    lastCol = Cells(2, Columns.Count).End(xlToLeft).Column
    For J = lastCol To 3 Step -1
        Select Case Cells(2, J)
            Case "VMM"
                '
            Case "CA", "DN", "PX", "QTE"
                Cells(2, J).EntireColumn.Delete
            Case Else
                '
        End Select
    Next J
End Sub

Bonjour,

en modifiant un peu le code de GMB

Option Explicit

Dim dercol&, j&

Sub RéduireLesColonnes()
dercol = Cells(1, Columns.Count).End(xlToLeft).Column
For j = dercol To 3 Step -1
  If Cells(2, j) <> "VMM" Then
    Columns(j).Select
    Selection.Delete shift:=xlToLeft
  End If
Next j
End Sub

oups pas rafraichi ... Hello à Jean Eric

Bonjour Patrick et Jean Eric,

Merci beaucoup !!!

Ça fonctionne, c'est parfait !

Tout a l'air si simple en vous voyant répondre si rapidement ...

Dernière petite question, et je ne vous embête plus

Je souhaite diviser toutes les cellules à partir de C4 par 4. Impossible de trouver le code, j'ai pourtant cherché

Pouvez vos m'éclairer svp ?

Venste13 a écrit :

Je souhaite diviser toutes les cellules à partir de C4 par 4. Impossible de trouver le code, j'ai pourtant cherché

Pouvez vos m'éclairer svp ?

Si tu veux diviser le montent de chaque cellule tu fais ceci :

tu mets le chiffre 4 dans une cellules en dehors de ton tableau

CTRL-C pour mettre en mémoire ce 4

Tu sélectionnes la ou les cellules à diviser

Clic droit / collage spécial/division

P.

Patrick,

Oui c'est ce que je fais manuellement actuellement.

J'aurai voulu que tout le retravail de ma base se fasse en un clic.

Mais peut être ne faut-il pas abusé de l'automatisation ..

re,

en partant de ton fichier d'exemple:

Option Explicit
Sub diviser()
Dim a, i, t(), col, Li
a = Range(Cells(3, 3), Cells(12, 12)).Value
ReDim t(1 To UBound(a), 1 To 10)
Li = 1
For col = 1 To 10
For i = LBound(a) To UBound(a)
     t(Li, col) = (a(i, col) / 4)  ' données du tableau dans tableau provisoire T
     Li = Li + 1
Next i
Li = 1
Next col
[C16].Resize(UBound(t), 10) = t
End Sub

P.

Rechercher des sujets similaires à "suppression colonnes conditions"