Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Suppression conditionnelle de lignes

Yannanou

XLDnaute Nouveau
Bonjour à tous,

j'ai un peit probléme, j'ai une plage de données sur une vingtaine de colonne et environs 10 000 lignes, mais dans ces données je ne veux garder que les lignes qui comportent une cellule de la forme PxAxxx... (x étant une variable non définie). Or je n'arrive pas a créer le macro adéquoite.
Donc si quelq'un à une idée, je la recevraiavec plaisir.
Si je n'ai pas été assez clair et que vous pensée pouvoir m'aider n'hésité pas à me poser des questions.

Merci d'avance pour votre interet.

Yann
 

Catrice

XLDnaute Barbatruc
Re : Suppression conditionnelle de lignes

Bonjour,

voir l'exemple dans le fichier joint
 

Pièces jointes

  • Classeur1.xls
    31 KB · Affichages: 81
  • Classeur1.xls
    31 KB · Affichages: 65
  • Classeur1.xls
    31 KB · Affichages: 78

Yannanou

XLDnaute Nouveau
Re : Suppression conditionnelle de lignes

D'accrod merci, j'ai essayer et ça me supprime tout, y a-t-il dans votre macro une spécificité pour l'embracement des termes de la formes PxAxxx?

Meci

Yann
 

Catrice

XLDnaute Barbatruc
Re : Suppression conditionnelle de lignes

Bonjour,

Mon fichier "tel que" ne fonctionne pas ?
Quelqu'un peut il le tester sur un Excel 2003 ?
Ma version est Excel 2002 et ça fonctionne sans pb ...
 

Yannanou

XLDnaute Nouveau
Re : Suppression conditionnelle de lignes

Pardon je me suis mal exprimé, le fichier en lui-même marche. Mais dès lors que je le modifie pour l'adapter à mon document celle-ci ne marche pas.

Que puis-je faire?


Yann
 

Excel_lent

XLDnaute Impliqué
Re : Suppression conditionnelle de lignes

Salut à tous et aux autres,

Catrice, ta proposition ne permet de supprimer des lignes qu'en testant la première colonne. C'est peut-être ce qui gêne Yannanou.
J'ai une solution pour tous les cas mais il faut relancer la macro plusieurs fois.
Je n'ai pas trouvé de boucle simple et efficace pour réussir ce travail d'un seul coup et surtout rapidement.
 

Pièces jointes

  • SuppLigneCelluleAS.xls
    46 KB · Affichages: 48

pierrejean

XLDnaute Barbatruc
Re : Suppression conditionnelle de lignes

bonjour Yannanou
Salut Catrice
Salut Excel_lent

3 petites macros a executer successivement (pour voir) et regrouper ensuite

Code:
Sub note()
For Each cel In Sheets("Feuil1").UsedRange
  If cel.Value Like "P?A*" Then
    Rows(cel.Row).Interior.ColorIndex = 3
  End If
Next cel
End Sub
 
Sub efface()
For n = Range("A65536").End(xlUp).Row To 1 Step -1
  If Range("A" & n).Interior.ColorIndex = xlNone Then
     Rows(n).Delete
  End If
Next n
End Sub
 
Sub decolore()
For Each cel In Sheets("Feuil1").UsedRange
    Rows(cel.Row).Interior.ColorIndex = xlNone
Next cel
End Sub

et en y regardant de plus pres ....

la macro d'Excel_lent lègèrement modifiée et du coup
très efficace

Code:
Sub test()
Application.ScreenUpdating = False
  For li = Range("A65536").End(xlUp).Row To 1 Step -1
     For col = 1 To 12
       If Cells(li, col).Value Like "P?A*" Then
         oui = True
         Exit For
       End If
     Next col
  If oui = False Then Cells(li, col).EntireRow.Delete
  oui = False
  Next
Application.ScreenUpdating = True
End Sub
 
Dernière édition:

Catrice

XLDnaute Barbatruc
Re : Suppression conditionnelle de lignes

Bonsoir à tous,

ci-joint une variante :

Sub Test2()
Application.ScreenUpdating = False
For i = ActiveSheet.Range("A65536").End(xlUp).Row To 1 Step -1
For Each X In Range(Cells(i, 1), Cells(i, 256).End(xlToLeft))
If X.Value Like "P?A*" Then GoTo Etiquette1
Next
Cells(i, 1).EntireRow.Delete
Etiquette1:
Next
Application.ScreenUpdating = True
End Sub
 

Pièces jointes

  • Classeur1.xls
    32.5 KB · Affichages: 43
  • Classeur1.xls
    32.5 KB · Affichages: 52
  • Classeur1.xls
    32.5 KB · Affichages: 61

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…