Problème MACRO suppresion ligne sur 2 champs

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

P

PhilippeC13

Guest
Bonjour,

Dans mon fichier j'ai des lignes en colonne "A" qui commence par RTC et d'autres par EXP.
Par une macro, J'aimerai supprimer toutes les lignes commençant par EXP ayant le même numéro de client et le même numéro de série que la ligne RTC.

Merci de votre aide

Philippe
 

Pièces jointes

Re : Problème MACRO suppresion ligne sur 2 champs

Bonjour Philippe,

un essai

Code:
Sub test()
Dim i As Long, j As Long, Client As String
    Application.ScreenUpdating = False
    For i = 2 To Range("A65536").End(xlUp).Row
        If Range("A" & i).Value = "RTC" Then
            Client = Range("B" & i).Value
            For j = Range("A65536").End(xlUp).Row To 2 Step -1
                If Range("A" & j).Value = "EXP" And Range("B" & j).Value = Client Then
                    Range("A" & j).EntireRow.Delete
                End If
            Next j
        End If
    Next i
    Application.ScreenUpdating = True
End Sub
 
Re : Problème MACRO suppresion ligne sur 2 champs

Merci beaucoup pour ta réponse, mas si j'exécute ta macro, il me surprime toutes les lignes avec mon numéro de client j'aimerai une variable supplémentaire, le numéro de série.
Et je suis désolé mais mes connaissance en excel sont limités,

Merci.
 
Re : Problème MACRO suppresion ligne sur 2 champs

Re,

Oups, j'avais mal lu...

VB:
Sub test()
Dim i As Long, j As Long, Client As String, NumSerie as String
    Application.ScreenUpdating = False
    For i = 2 To Range("A65536").End(xlUp).Row
        If Range("A" & i).Value = "RTC" Then
            Client = Range("B" & i).Value
            NumSerie = Range("D" & i).Value
            For j = Range("A65536").End(xlUp).Row To 2 Step -1
                If Range("A" & j).Value = "EXP" And Range("B" & j).Value = Client And Range("D" & j).value = NumSerie Then
                    Range("A" & j).EntireRow.Delete
                End If
            Next j
        End If
    Next i
    Application.ScreenUpdating = True
End Sub
 
- 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

Réponses
4
Affichages
312
  • Question Question
Microsoft 365 problème d'index
Réponses
19
Affichages
496
Réponses
2
Affichages
240
Réponses
6
Affichages
327
Retour