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

Suppression lignes après recherche sur conditions

  • Initiateur de la discussion Initiateur de la discussion Web68
  • 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 !

W

Web68

Guest
Bonjour à tous,

je cherche une macro pour faire
rechercher et afficher sur critère
et ensuite une macro pour suppression de la ligne si critère ok

merci
 

Pièces jointes

Re : Suppression lignes après recherche sur conditions

Franchement trop top et chapeau bas 😎
merci à toi j’attendais une aide et vlà que le boulot est fait !!!

dernière question si je supprime il ne fait que vider les cellules et la ligne reste. Y a t-il une solution ou faut il que je refasse un tri ?

Merci bon week à tous
 
Re : Suppression lignes après recherche sur conditions

Bonjour Web68, le forum,

Supprime la fonction Supprimer() que t'as dans le module (Supprimeception) et remplace la par :
VB:
Sub Supprimer()
    Dim mnom As String, mprenom As String, mdate As String
    
    mdate = ThisWorkbook.Sheets("Feuil2").Range("B12").Value
    mnom = ThisWorkbook.Sheets("Feuil2").Range("C12").Value
    mprenom = ThisWorkbook.Sheets("Feuil2").Range("D12").Value
    
    For i = 1 To ThisWorkbook.Sheets("Feuil1").Range("E65536").End(xlUp).Row
        If mdate = ThisWorkbook.Sheets("Feuil1").Range("E" & i).Value And mnom = ThisWorkbook.Sheets("Feuil1").Range("F" & i).Value And mprenom = ThisWorkbook.Sheets("Feuil1").Range("G" &_      i).Value Then
            ThisWorkbook.Sheets("Feuil1").Range("E" & i).Value = ""
            ThisWorkbook.Sheets("Feuil1").Range("F" & i).Value = ""
            ThisWorkbook.Sheets("Feuil1").Range("G" & i).Value = ""
        For j = i To ThisWorkbook.Sheets("Feuil1").Range("E65536").End(xlUp).Row
            ThisWorkbook.Sheets("Feuil1").Range("E" & j).Value =_ ThisWorkbook.Sheets("Feuil1").Range("E" & j + 1).Value
            ThisWorkbook.Sheets("Feuil1").Range("F" & j).Value =_ ThisWorkbook.Sheets("Feuil1").Range("F" & j + 1).Value
            ThisWorkbook.Sheets("Feuil1").Range("G" & j).Value =_ ThisWorkbook.Sheets("Feuil1").Range("G" & j + 1).Value
        Next
        Exit For
        End If
    Next
End Sub

Bonne soirée,
WUTED

Edit : Désolé pour les 3 lignes de code qui se sont passées à la ligne, j'arrive pas à te les afficher autrement en gardant une indentation correcte...
 
Dernière édition:
Re : Suppression lignes après recherche sur conditions

Wuted si tu es encore la ... avec mes 3 critères de recherche quand je ramène le résultat sur la première feuille j'aimerai ramener 3 cellules supplémentaires qui sont à la suite de E,F,G qu'on ramène déjà par la macro, les colonnes H,I,J.
tu peux m’aiguiller ?
MERCI
 
Re : Suppression lignes après recherche sur conditions

Re, si j'ai compris ce que tu voulais, tu mets ces nouvelles fonctions à la place des autres, et tu devrais avoir ce que tu veux :
VB:
Sub Recherche()
    Dim mnom As String, mprenom As String, mdate As String
    
    mdate = ThisWorkbook.Sheets("Feuil2").Range("B8").Value
    mnom = ThisWorkbook.Sheets("Feuil2").Range("C8").Value
    mprenom = ThisWorkbook.Sheets("Feuil2").Range("D8").Value
    
    For i = 1 To ThisWorkbook.Sheets("Feuil1").Range("E65536").End(xlUp).Row
        If mdate = ThisWorkbook.Sheets("Feuil1").Range("E" & i).Value And mnom = ThisWorkbook.Sheets("Feuil1").Range("F" & i).Value And mprenom = ThisWorkbook.Sheets("Feuil1").Range("G" & i).Value Then
            ThisWorkbook.Sheets("Feuil2").Range("B12").Value = mdate
            ThisWorkbook.Sheets("Feuil2").Range("C12").Value = mnom
            ThisWorkbook.Sheets("Feuil2").Range("D12").Value = mprenom
            ThisWorkbook.Sheets("Feuil2").Range("E12").Value = ThisWorkbook.Sheets("Feuil1").Range("H" & i).Value
            ThisWorkbook.Sheets("Feuil2").Range("F12").Value = ThisWorkbook.Sheets("Feuil1").Range("I" & i).Value
            ThisWorkbook.Sheets("Feuil2").Range("G12").Value = ThisWorkbook.Sheets("Feuil1").Range("J" & i).Value
            
            Exit For
        End If
    Next
End Sub
Sub Supprimer()
    Dim mnom As String, mprenom As String, mdate As String
    
    mdate = ThisWorkbook.Sheets("Feuil2").Range("B12").Value
    mnom = ThisWorkbook.Sheets("Feuil2").Range("C12").Value
    mprenom = ThisWorkbook.Sheets("Feuil2").Range("D12").Value
    
    For i = 1 To ThisWorkbook.Sheets("Feuil1").Range("E65536").End(xlUp).Row
        If mdate = ThisWorkbook.Sheets("Feuil1").Range("E" & i).Value And mnom = ThisWorkbook.Sheets("Feuil1").Range("F" & i).Value And mprenom = ThisWorkbook.Sheets("Feuil1").Range("G" & i).Value Then
            ThisWorkbook.Sheets("Feuil1").Range("E" & i).Value = ""
            ThisWorkbook.Sheets("Feuil1").Range("F" & i).Value = ""
            ThisWorkbook.Sheets("Feuil1").Range("G" & i).Value = ""
            ThisWorkbook.Sheets("Feuil1").Range("H" & i).Value = ""
            ThisWorkbook.Sheets("Feuil1").Range("I" & i).Value = ""
            ThisWorkbook.Sheets("Feuil1").Range("J" & i).Value = ""
            Exit For
        End If
    Next
End Sub

WUTED
 
- 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

  • Question Question
XL 2021 Macro
Réponses
6
Affichages
314
  • Question Question
Microsoft 365 Analyse des offres
Réponses
10
Affichages
318
Réponses
18
Affichages
507
Réponses
18
Affichages
607
Réponses
4
Affichages
244
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…