Suppression ligne complete selon valeur d'une cellule

NICOALBERT

XLDnaute Occasionnel
Bonjour le Forum ,

J'aimerais savoir si avec l'aide d'une Macro il y a la possibilité de supprimer une ligne complète qui ne contient pas le nom présent dans une cellule d'une autre feuille .

La dans mon exemple supprimer dans la feuille "Domicile" toutes les lignes ne comportant pas dans la colonne F le nom des 2 équipes présent dans la feuille "MDJ" en ligne 2.

cdlt Nicoalbert
 

Pièces jointes

  • Suppression ligne complete selon valeur d'une cellule.xls
    382.5 KB · Affichages: 49
  • Suppression ligne complete selon valeur d'une cellule.xls
    382.5 KB · Affichages: 35

NICOALBERT

XLDnaute Occasionnel
bonjour pierrejean ,

Un grand merci pour ta réponse qui fonctionne très bien .

j’adapterais la macro pour la feuille "Extérieur"

Par contre pour la feuille "Tête à Tête" , comme il faut que dans la colonne F et H les deux équipe y soit il faut que je modifie quel parti du code ?

cdlt Nicoalbert.
 

JBARBE

XLDnaute Barbatruc
Bonjour à tous,

Peut-être cette macro :
Code:
Option Explicit

Sub sup()
Dim i As Long, derligne As Long
Application.ScreenUpdating = False
With Sheets("Domicile")
derligne = .Range("F3").End(xlDown).Row
For i = derligne To 1 Step -1
Sheets("MDJ").Select
  If .Cells(i, 6) <> Range("C2") And .Cells(i, 6) <> Range("D2") Then
.Rows(i).Delete
  End If
Next i
End With
Sheets("Domicile").Select
Range("A1").Select
Application.ScreenUpdating = True
End Sub

Bonne journée à tous !
 

NICOALBERT

XLDnaute Occasionnel
upload_2017-2-17_15-26-43.png


Comme tu peut le voir après avoir lancé la macro les lignes 8 à 13 les jours et les mois sont inversé , comme pour les heures en lignes 4 et 5 (alors qu'il n'y a aucune formules)
 

natorp

XLDnaute Accro
Bjr Nicoalbert, Pierrejean et jbarbe

Ce sujet m'intéresse et j'ai une question pour nicoalbert, est-ce vraiment une suppression de ligne que tu souhaites ou un filtre en fonction des valeurs des cellules de la page MDJ ?
car en cas de suppression, les autres données sont effacées...

Excusez-moi pour mon intrusion..cordialement Gérard
 

NICOALBERT

XLDnaute Occasionnel
Bonjour natorp ,

Merci pour cette question , en fait ce que je cherche c'est en partant de la feuille MDJ , sortir les données par chaque match à venir des équipes à domicile , en extérieur et lorsqu'elle ont déjà jouer ensemble.

Après peut être qu'en filtrant , copiant et transférant les données ça parait plus simple.

Moi je partais sur le premier modèle car je ne voyais que cette solution.

cdlt Nicoalbert
 

debellahi

XLDnaute Nouveau
Bonjour à tous,

Peut-être cette macro :
Code:
Option Explicit

Sub sup()
Dim i As Long, derligne As Long
Application.ScreenUpdating = False
With Sheets("Domicile")
derligne = .Range("F3").End(xlDown).Row
For i = derligne To 1 Step -1
Sheets("MDJ").Select
  If .Cells(i, 6) <> Range("C2") And .Cells(i, 6) <> Range("D2") Then
.Rows(i).Delete
  End If
Next i
End With
Sheets("Domicile").Select
Range("A1").Select
Application.ScreenUpdating = True
End Sub

Bonne journée à tous !
Bonjour/Bonsoir !
Ce code m'a été d'un grand secours. Merci pour votre généreux partage.
Serait-il possible de supprimer uniquement la ligne d'un tableau (mode tableau), au lieu d'une ligne entière ?
 

JBARBE

XLDnaute Barbatruc
Bonjour/Bonsoir !
Ce code m'a été d'un grand secours. Merci pour votre généreux partage.
Serait-il possible de supprimer uniquement la ligne d'un tableau (mode tableau), au lieu d'une ligne entière ?
Bonsoir à tous, debellahi,
Cela ne supprimera pas mais effacera les lignes des colonnes choisies !
Peut-être ceci, qui effacera les lignes correspondantes à i de la colonne F ( 6) !
Modif : .Cells(i, 6).Clear en remplacement de .Rows(i).Delete

Plusieurs lignes et colonnes ( exemple : colonnes 1 à 6 ) > .Range(Cells(i,1),Cells(i,6)).Clear

VB:
Option Explicit

Sub sup()
Dim i As Long, derligne As Long
Application.ScreenUpdating = False
With Sheets("Domicile")
derligne = .Range("F3").End(xlDown).Row
For i = derligne To 1 Step -1
Sheets("MDJ").Select
  If .Cells(i, 6) <> Range("C2") And .Cells(i, 6) <> Range("D2") Then
.Cells(i, 6).Clear
  End If
Next i
End With
Sheets("Domicile").Select
Range("A1").Select
Application.ScreenUpdating = True
End Sub

Bonne nuit !
 
Dernière édition:

Discussions similaires

Réponses
22
Affichages
764

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 196
Messages
2 086 099
Membres
103 116
dernier inscrit
kutobi87