Excel Suppression de lignes avec plusieurs cr

pactoine -  
 pactoine -
Bonjour,

Dans un tableau Excel
comment supprimer par macro dans une sélection (ex : de a1 à c20) toutes les lignes ayant les criteres suivants :" #n/a" ;"papa" "maman" sans affecter les autres parties du tableau
D'avance je vous en remercie pour votre aide
Configuration: Windows XP
Firefox 3.0
A voir également:

1 réponse

Mike-31 Messages postés 19572 Date d'inscription   Statut Contributeur Dernière intervention   5 140
 
Salut,

Testes ce code s'il te convient, on verra plus tard pour l'alléger. Attention avec "#N/A", c'est un message d'erreur Excel pour l'intégrer dans le code , comme tu l'a mis dans ton post :" #n/a" avec un intervalle devant il est considéré comme texte ça marche sinon le code plantera ou remplaces ce critère par autre chose

Sub Macro3()
Dim Lig As Long
Dim LigFinA As Long
Dim Col As Integer
Dim NbrLig As Long
Const PremLig = 2 'Première ligne à traiter
Col = 1 ' traite la colonne A
LigFinA = Feuil1.Range("A65536").End(xlUp).Row + 1
With Sheets("Feuil1")
NbrLig = .Cells(65536, Col).End(xlUp).Row
For Lig = PremLig To NbrLig
If .Cells(Lig, Col).Value = "papa" Then
.Rows(Lig).Delete
LigFinA = LigFinA + 1
Lig = Lig - 1
End If

If .Cells(Lig, Col).Value = "maman" Then
.Rows(Lig).Delete
LigFinA = LigFinA + 1
Lig = Lig - 1
End If

If .Cells(Lig, Col).Value = " #N/A" Then
.Rows(Lig).Delete
LigFinA = LigFinA + 1
Lig = Lig - 1
End If
Next
End With
Col = 2 ' traite la colonne B
LigFinA = Feuil1.Range("A65536").End(xlUp).Row + 1
With Sheets("Feuil1")
NbrLig = .Cells(65536, Col).End(xlUp).Row
For Lig = PremLig To NbrLig
If .Cells(Lig, Col).Value = "papa" Then
.Rows(Lig).Delete
LigFinA = LigFinA + 1
Lig = Lig - 1
End If

If .Cells(Lig, Col).Value = "maman" Then
.Rows(Lig).Delete
LigFinA = LigFinA + 1
Lig = Lig - 1
End If

If .Cells(Lig, Col).Value = " #N/A" Then
.Rows(Lig).Delete
LigFinA = LigFinA + 1
Lig = Lig - 1
End If
Next
End With
End Sub

A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
0
pactoine
 
bonjour Mike
Ca marche super
je t'en remercie beaucoup
pactoine
0
amine69500 Messages postés 471 Statut Membre 12
 
Bonjour,

Dans un tableau Excel


comment supprimer par macro dans une sélection (ex : de a1 à a10 et de a15 à a20) toutes les lignes ayant le critere suivants :" "false" sans affecter les autres parties du tableau

merci pour votre aide
0
Mike-31 Messages postés 19572 Date d'inscription   Statut Contributeur Dernière intervention   5 140 > amine69500 Messages postés 471 Statut Membre
 
Salut Amine,

Tu aurais du ouvrir ta propre discussion pour qu'un maximum d'intervenants prennent connaissance de ton problème et avoir des réponses.

Pour ton problème, les lignes entre les lignes 10 et 15 peuvent elles contenir "false", parce que s'il est impossible qu'elles contiennent cette valeur, la même macro s'applique. Si ça ne correspond pas à tes attentes, donnes plus de précisions

Sub Macro3()
Dim Lig As Long
Dim LigFinA As Long
Dim Col As Integer
Dim NbrLig As Long
Const PremLig = 1 'Première ligne à traiter
Col = 1 ' traite la colonne A
LigFinA = Feuil1.Range("A65536").End(xlUp).Row + 1
With Sheets("Feuil1")
NbrLig = .Cells(65536, Col).End(xlUp).Row
For Lig = PremLig To NbrLig
If .Cells(Lig, Col).Value = "false" Then
.Rows(Lig).Delete
LigFinA = LigFinA + 1
Lig = Lig - 1
End If
End With
End Sub

A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
0
pactoine > Mike-31 Messages postés 19572 Date d'inscription   Statut Contributeur Dernière intervention  
 
Bonjour Mike
Ca marche super
je t'en remercie beaucoup
pactoine
0