Aide VBA pour suppression partielle de données

Bonjour,

je sollicite votre aide afin de créer une macro me permettant de supprimer, dans un tableau de 26 colonnes par 4815 lignes, des valeurs toutes différentes situées dans les colonnes F à P.

Et pour aider je ne peux pas supprimer toutes les lignes.....sinon je m'en serais sorti

La ligne une = les titres des colonnes

Ligne 2 = début des données

Je veux garder les données ligne 2 de toutes les colonnes, supprimer les données ligne 3 et 4 des colonnes F à P, garder les données ligne 5 de toutes les colonnes, supprimer les données ligne 6 et 7 des colonnes F à P, et ainsi de suite....

J’appelle donc à l'aide toutes les bonnes âmes ayant des connaissances vba, siouplait

d'avance merci

Bonjour,

Envoi ton fichier ou un fichier fictif de même structure et colore les données à supprimer car, pour ma part, je n'ai pas bien compris le patron de suppression...

Bonjour, Salut Pedro !

Essaie ceci :

Sub EffacerDonnées()
    Dim n&, i&, PlgEff As Range
    With ActiveSheet
        n = .Range("A1").CurrentRegion.Rows.Count
        If n < 3 Then Exit Sub
        Set PlgEff = .Range("F3:P4")
        Application.ScreenUpdating = False
        For i = 0 To n Step 3
            PlgEff.Offset(i).ClearContents
        Next i
    End With
End Sub

Cela devrait coller si ton tableau commence en A...

Cordialement.

Bonjour,

merci pour l'envie d'aider, désolé pour le flou des explications...

une capture ecran d'un tableau "anonymisé"

En jaune les données des colonnes F à P que je veux supprimer.

Une ligne me convient, les deux suivantes non, etc....

sur cet exemple toutes les données sont identiques mais en réalité aucune ne l'est...ou très exceptionnellement.

captur

Autre proposition :

Sub SupprPartielle()

Dim N As Long

With ActiveSheet
   For N = 2 To .UsedRange.Rows.Count Step 3
        .Range("F" & N & ":P" & N + 1).ClearContents
   Next N
End With

Sub

Bonjour MFerrand,

Merci pour le code ! cela semble marcher

merci bcp

OK ! J'allais poser la question de l'essai, car ton image correspond aux présupposés du code...

Cordialement.

ça fonctionne merci beaucoup.

Toutefois est-il possible d' ajouter une fonction à cette macro :

Par rapport au tableau exemple, toujours au niveau des lignes en jaune, peut-on supprimer les valeurs des cellules C3 à E4 seulement si la cellule est à 0 ? et comme pour la première macro, que cela se répète.

car même avec l'option "ne pas afficher les zéros", dans mon tableau croisé ces zéros ressortent

Sub SupprPartielle()

Dim N As Long, Col As Byte

With ActiveSheet
   For N = 2 To .UsedRange.Rows.Count
      For Col = 3 To 5
         If .Cells(N, Col) = 0 Then .Cells(N, Col).ClearContents
      Next Col
   Next N
   For N = 2 To .UsedRange.Rows.Count Step 3
        .Range("F" & N & ":P" & N + 1).ClearContents
   Next N
End With

Sub

Re,

Sub EffacerDonnées()
    Dim n&, i&, PlgEff As Range, PlgAdd As Range, c As Range
    With ActiveSheet
        n = .Range("A1").CurrentRegion.Rows.Count
        If n < 3 Then Exit Sub
        Set PlgEff = .Range("F3:P4")
        Application.ScreenUpdating = False
        For i = 0 To n Step 3
            PlgEff.Offset(i).ClearContents
            For Each c In PlgAdd.Offset(i)
                If c = 0 Then c.ClearContents
            Next c
        Next i
    End With
End Sub

à nouveau merci pour votre aide

Rechercher des sujets similaires à "aide vba suppression partielle donnees"