supprimer ligne suivant critère

  • Initiateur de la discussion Initiateur de la discussion kauderni
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

K

kauderni

Guest
bonjour

voilà mon pb.
j'ai une feuille de calcul avec par ligne une cellule définissant la difficulté allant de 1 à 6. j'aimerai faire un tri sur une autre feuille et donc que n’apparaisse sur cette feuille que par exemple les lignes de difficulté 1 puis sur une autre les lignes de difficulté 2 et ainsi de suite..

ce que e souhaite aussi c'est que si j'aoute une ligne sur ma feuille de bas , les choses évoluent sur les autres ..

PS: je ne sais pas faire de macro et fonction....et ne connait pas le VB :-(

Merci d'avance
 
Re : supprimer ligne suivant critère

salut

j'ai bien regardé les macro et fonction sur le forum, mais je n'y comprends pas grand chose....


voilà un fichier joint. dans l'état il me va j'ai utilisé les filtres et les tris, mais ce que je souhaite est que si j'ajoute une voie dans la feuille liste, j'aimerai que les autres feuilles se mettent aussi à jour....

je peux limiter le nombre de voies à 150....


seb
 

Pièces jointes

Re : supprimer ligne suivant critère

Re,

Pour comprendre la formule matricielle il faut d'abord :

- savoir ce qu'est une matrice

- savoir ce que font les fonctions PETITE.VALEUR et INDEX (voir l'aide Excel).

Ensuite aller dans la barre de formule, sélectionner les parties dont on veut voir le résultat et appuyer sur F9.

A+
 
Re : supprimer ligne suivant critère

Bonjour kauderni, le forum,

Pour être complet il fallait quand même une solution VBA.

Cette macro dans ThisWorkbook s'exécute chaque fois qu'on active une feuille :

Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
With Sheets("liste").[A1].CurrentRegion
  If Sh.Name = "tri par relais" Then
    Application.ScreenUpdating = False
    Sh.[A1].CurrentRegion.EntireRow.Delete 'RAZ
    .Copy Sh.[A1]
    Sh.[A1].CurrentRegion.Sort Sh.[B1], Header:=xlYes  'tri sur colonne B
  End If
  If Sh.Name Like "difficulté*" Then
    Dim dif&
    dif = Val(Replace(Sh.Name, "difficulté", ""))
    Application.ScreenUpdating = False
    Sh.[A1].CurrentRegion.EntireRow.Delete 'RAZ
    .Parent.AutoFilterMode = False 'désactive le filtre s'il est en place
    .AutoFilter 3, dif 'filtre sur colonne C
    .SpecialCells(xlCellTypeVisible).Copy Sh.[A1]
    .Parent.AutoFilterMode = False
    Sh.[C:C].Delete 'facultatif
  End If
End With
End Sub
Pour aller dans ThisWorkbook => Alt+F11 et double-clic à gauche sur ThisWorkbook.

Noter que la feuille tri par relais est bien mise à jour.

Noter aussi que les cellules sont copiées avec leur format.

Fichier joint.

A+
 

Pièces jointes

Re : supprimer ligne suivant critère

Re,

Si la position de la colonne "difficulté" peut varier, on peut la paramétrer :

Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim plage As Range, col As Variant, dif&
Set plage = Sheets("liste").[A1].CurrentRegion.EntireRow
col = Application.Match("difficulté", plage.Rows(1), 0) 'repère la colonne
If IsError(col) Then
  plage.Parent.Activate
  MsgBox "Il faut une colonne ""difficulté"" en ligne liste!1:1...", 48
  End
End If
If Sh.Name = "tri par relais" Then
  Application.ScreenUpdating = False
  Sh.[A1].CurrentRegion.EntireRow.Delete 'RAZ
  plage.Copy Sh.[A1]
  Sh.[A1].CurrentRegion.EntireRow.Sort Sh.[B1], Header:=xlYes 'tri sur colonne B
End If
If Sh.Name Like "difficulté*" Then
  dif = Val(Replace(Sh.Name, "difficulté", ""))
  Application.ScreenUpdating = False
  Sh.[A1].CurrentRegion.EntireRow.Delete 'RAZ
  plage.Parent.AutoFilterMode = False 'désactive le filtre s'il est en place
  plage.AutoFilter col, dif 'filtre sur colonne col
  plage.SpecialCells(xlCellTypeVisible).Copy Sh.[A1]
  plage.Parent.AutoFilterMode = False
  Sh.Columns(col).Delete 'facultatif
End If
End Sub
Fichier (2).

A+
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour