Supprimer lignes

J'ai une macro qui supprime les lignes qui ne contienne pas une certaine valeur (fonctionne très bien).

Ce que je voudrais c'est en même temps qu'elle supprime la ligne non conforme qu'elle supprime aussi une ligne au dessus.

Merci!

Sub Non_Conforme()

Application.ScreenUpdating = False

Dim LR As Long, i As Long

LR = Range("A" & Rows.Count).End(xlUp).Row

For i = LR To 2 Step -1

If Not Range("A" & i).Value Like "2018****-*****" Then Rows(i).Delete

Next i

Application.ScreenUpdating = True

End Sub

Bonjour,

voici, cependant vérifie bien que ce que tu as demandé te donne bien le résultat que tu attends. j'ai un doute.

Sub Non_Conforme()
    Application.ScreenUpdating = False
    Dim LR As Long, i As Long
    LR = Range("A" & Rows.Count).End(xlUp).Row
    While LR > 2
        If Not Range("A" & LR).Value Like "2018****-*****" Then
            Rows(LR - 1 & ":" & LR).Delete
            LR = LR - 1
        End If
        LR = LR - 1
    Wend
    Application.ScreenUpdating = True
End Sub

Salut,

Ça fonctionne uniquement pour les deux premières ligne non conforme par la suite pour le reste du fichier ça ne fonctionne pas!

Bonjour,

si tu nous mettais un fichier exemple de ce que tu as et de ce que tu veux avoir ?

Salut,

Voilà un exemple!

11exemple.xlsm (14.80 Ko)

Bonsoir,

j'ai essayé la macro proposée sur ton fichier. Il me semble que cela fonctionne.

Bonsoir

peux être comme ca si a pas de ligne vide

Sub Non_Conforme()
Application.ScreenUpdating = False
Dim LR As Long, I As Long
LR = Range("A" & Rows.Count).End(xlUp).Row
For I = LR To 2 Step -1
    If Not Range("A" & I).Value Like "2018****-*****" Then
        Rows(I - 1).Delete
        Rows(I - 1).Delete
    End If
Next I
Application.ScreenUpdating = True
End Sub

A+

Maurice

Bonjour à vous,

J'ai un autre petit problème, j'ai une macro qui effectue très bien sont travail de recherche V sur la colonne A de deux onglets et me transporte des données de colonnes adjacentes.

Ce que je voudrais c'est être en mesure de sélectionner d'autres colonnes pour effectuer la recherche V que la colonne A.

Comment faire!

Merci à vous.

Sub Test()

Dim FeSource As Worksheet

Dim FeDest As Worksheet

Dim PlgSource As Range

Dim PlgDest As Range

Dim Cel As Range

Dim Ligne As Long

'défini les feuilles

Set FeSource = Worksheets("SOURCE")

Set FeDest = Worksheets("DESTINATION")

'défini les plages

With FeSource

Set PlgSource = .Range(.Cells(3, 1), .Cells(.Rows.Count, 1).End(xlUp))

End With

With FeDest

Set PlgDest = .Range(.Cells(3, 1), .Cells(.Rows.Count, 1).End(xlUp))

End With

'parcour la plage (en colonne A) de la feuille de destination

For Each Cel In PlgDest

'gestion de l'erreur de la valeur non trouvé

On Error Resume Next

Ligne = Application.WorksheetFunction.Match(Cel.Value, PlgSource, 0) + 2 'rajoute 2 car départ de plage en ligne 3

'si pas d'erreur, récupère les valeurs en colonnes E:G et les inscrit en colonne C:E

If Err.Number = 0 Then

Cel.Offset(, 2).Resize(, 3).Value = FeSource.Cells(Ligne, 1).Offset(, 4).Resize(, 3).Value

End If

Next Cel

End Sub

Rechercher des sujets similaires à "supprimer lignes"