recherche et supression de ligne dynamiquement

scamanto024

XLDnaute Nouveau
Bonjour,
je suis débutant en VBA, et j'aimerai faire une petite manip sur excel via VBA:
j'ai 2 feuilles, la 1ere contient une liste(exhaustive) des alarmes, et la 2eme contient une liste d'alarmes à ignorer; donc chercher les alarmes de la Feuil2 sur Feuil1 et supprimer la ligne contenant la fausse alarme.
merci pour votre support

HTML:
Sub RechercheAlarme()
Dim Var As String
Dim i As Integer
On Error Resume Next
Var = Sheets("liste").Columns(1).Range("A1").Value
For Each cellule In Sheets("alarme").Columns(1).Range("A" & i)
If Abs(cellule.Value) = Var Then
Set MotTrouvé = Cells.Find(What:=Var)
MotTrouvé.Select
ActiveCell.EntireRow.Select
Selection.Delete Shift:=xlUp
End If
'Var = Sheets("liste").Columns(1).Range("A1").Value
'If Var = "" Then Exit Sub
'Set MotTrouvé = Cells.Find(What:=Var)
'If Not MotTrouvé Is Nothing Then
Next
'Wend
End Sub
 

Staple1600

XLDnaute Barbatruc
Re : recherche et supression de ligne dynamiquement

Bonjour scamanto024 et bienvenue sur XLD

scamanto024
Ce serait plus simple avec un fichier exemple, non ?
(Pour t'en convaincre, relire la charte du forum)

EDITION: Bonjour bb38 , désolé pour la collision ;)
 
Dernière édition:

bbb38

XLDnaute Accro
Re : recherche et supression de ligne dynamiquement

Bonjour scamanto024, le forum,
Si tu pouvais joindre un petit fichier d’exemple (normalement, quelques lignes suffisent, sans données confidentielles), nous pourrions tester les solutions envisagées.
Cordialement,
Bernard

Bonjour Staple 1600,
Quelques secondes de retard....
 
Dernière édition:

scamanto024

XLDnaute Nouveau
Re : recherche et supression de ligne dynamiquement

reBonjour,
je vous remercie d'avance,
en fet l'idée c'est de pouvoir supprimer certaines alarmes qui sont fréquentes et informatives (Feuille liste),je me suis bloké surtt pr définir la boucle pour ke le compteur passe à l'alarme suivante de la feuille 'liste' :confused:
 

Pièces jointes

  • alarmes.xlsm
    21 KB · Affichages: 54
  • alarmes.xlsm
    21 KB · Affichages: 66
  • alarmes.xlsm
    21 KB · Affichages: 68

Robert

XLDnaute Barbatruc
Repose en paix
Re : recherche et supression de ligne dynamiquement

Bonjour le fil, bonjour le forum,

Peut-être comme ça :
Code:
Public Sub SupprAlarme()
Dim ol As Worksheet 'déclare la variable ol (Onglet Liste)
Dim oa As Worksheet 'déclare la variable oa (Onglet Alarme)
Dim pl As Range 'déclare la variable pl (PLage)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim r As Range 'déclare la variable r (Recherche)
Dim pa As String 'déclare la variable pa (Première Adresse)
Dim tbl() As Long 'déclare le tableau de variables indexées tbl (TaBLeau)
Dim x As Long 'déclare la variable x (incrément)
 
Set ol = Sheets("liste") 'définit l'onglet liste
Set oa = Sheets("alarme") 'définit l'onglet alarme
Set pl = oa.Range("A1:A" & oa.Cells(Application.Rows.Count, 1).End(xlUp).Row) 'définit la plage pl
For Each cel In pl 'boucle 1 : sur toutes les cellules éditées cel de la plage pl
    Erase tbl 'vide le tableau tbl
    x = 0 'initialise la variable x
    Set r = ol.Columns(1).Find(cel.Value, , xlValues, xlWhole) 'définit la recherche r
    If Not r Is Nothing Then 'condition : si il existe au moins un occurrence dans trouvée dans la colonne 1 de l'onglet "liste"
        pa = r.Address 'définit la première adresse
        Do 'exécute
            ReDim Preserve tbl(x) 'redimentionne le tableau tbl
            tbl(x) = r.Row 'attribue une variable indexée au tableau tbl (la ligne de l'occurrence trouvée)
            x = x + 1 'incrément x
            Set r = ol.Columns(1).FindNext(r) 'redéfinit la recherche r (recherche suivant)
        Loop While Not r Is Nothing And r.Address <> pa 'boucle tant qu'il existe des occurrences ailleurs qu'en pa
        For x = UBound(tbl, 1) To LBound(tbl, 1) Step -1 'boucle 2 : inversée sur toutes les variables du tableau tbl
            Rows(tbl(x)).Delete 'suprime la ligne de la variable
        Next x 'prochaine variable de la boucle 2
    End If 'fin de la condition
Next cel 'prochaine cellule cel de la boucle 1
End Sub
 

Discussions similaires

Réponses
2
Affichages
153

Statistiques des forums

Discussions
312 277
Messages
2 086 715
Membres
103 378
dernier inscrit
phdrouart