Suppression ligne en fonction contenu cellule

archimede781

XLDnaute Junior
Bonjour à tous,

Comment supprimer une ligne das plusieurs feuilles en fonctoon du contenu d'une cellule ?

Voir mon fichier exemple dont toutes les données sont bien entendu, "bidon".
Je voudrai par exemple en sélectionnant le nom BELINI de la feuille NOMS, que la ligne 5 soit supprimée dans la feuille NOMS et la ligne 9 dans la feuille TABLE.
Merci d'avance

Archi781
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Suppression ligne en fonction contenu cellule

Bonjour à tous

archimède781 [Bienvenue sur le forum]
Charge au demandeur de fournir le fichier exemple ;)
Nous, les répondeurs, on se chargera de te fournir le code VBA.

Car sans fichier, et sans plus de précision, pas sur que la macro ci-dessous tombe dans le mille ;)
Code:
Sub supprimerligneselonvaleurdanscellule()
If Range("A7").Value = 5 Then
Rows(7).Delete
End If
End Sub
 
Dernière édition:

archimede781

XLDnaute Junior
Re : Suppression ligne en fonction contenu cellule

Bonjour,

Voici mon fichier exemple dont toutes les données sont bien entendu, "bidon".
Je voudrai par exemple en sélectionnant le nom BELINI de la feuille NOMS, que la ligne 5 soit supprimée dans la feuille NOMS et la ligne 9 dans la feuille TABLE.

Est ce possible ?

Merci

Archi781
 

Staple1600

XLDnaute Barbatruc
Re : Suppression ligne en fonction contenu cellule

Re

Il semblerait que ce code fonctionne
Code:
Sub a()
Dim a_effacer&, X$, rng As Range
a_effacer = Sheets("NOMS").Cells([_filterdatabase].Offset(1).SpecialCells(12).Row, 4).Row
X = Sheets("NOMS").Cells(a_effacer, "D").Value
With Sheets("TABLE").Range("B:B")
    Set rng = .Find(What:=X, _
            After:=.Cells(.Cells.Count), _
            LookIn:=xlValues, _
            LookAt:=xlWhole, _
            SearchOrder:=xlByRows, _
            SearchDirection:=xlNext, _
            MatchCase:=False)
    If Not rng Is Nothing Then
        rng.Row).EntireRow.Delete
    Else
        MsgBox "Valeur non trouvée!", vbCritical
    End If
End With
Sheets("NOMS").ShowAllData
Sheets("NOMS").Rows(a_effacer).EntireRow.Delete
End Sub
 
Dernière édition:

camarchepas

XLDnaute Barbatruc
Re : Suppression ligne en fonction contenu cellule

Bonjour Archi,

@ Bonjour Jean Marie , ( Je vois que tu joues à saute mouton avec le tigre pour prendre le commandement de XLD)


une solution possible ,

cliques sur le sourire ......
 

Pièces jointes

  • Liste Essais.xlsm
    52.1 KB · Affichages: 41

Staple1600

XLDnaute Barbatruc
Re : Suppression ligne en fonction contenu cellule

Re, bonjour camarchepas

archimède781
J'ai testé ma macro, elle fonctionne sur ton fichier exemple
Je suis sur la feuille NOMS, j'applique un filtre automatique sur la colonne D
(en choisissant BELINI par exemple)
ensuite je lance la macro a
Les lignes sont alors supprimées sur les deux feuilles.
 
Dernière édition:

camarchepas

XLDnaute Barbatruc
Re : Suppression ligne en fonction contenu cellule

Re ,

J'ai relu l'énoncé , et oui , j'ai mangé une partie de la demande .....

Voici donc ma macro adaptée à ta demande .

Bon ça è fait tomber mon sourire , donc remplacé par un bouton orange de suppression .
 

Pièces jointes

  • Liste Essais7.xlsm
    51.3 KB · Affichages: 26

camarchepas

XLDnaute Barbatruc
Re : Suppression ligne en fonction contenu cellule

Super,

Dans ce cas , voici le code légérement simplifié et surtout commenté

ATTENTION , si l'on à 2 personnes s'appellant Martin , on supprimera le premier trouvé .......

Code:
Sub suppr()
Dim Element As String 'Variable de type chaine
Dim Trouve As Range 'Objet de type range
Element = Range("D" & ActiveCell.Row) 'affecte à la variable élément le contenu de la cellule D de la ligne sélectionnée
Rows(ActiveCell.Row).Delete 'Suppression de la ligne sélectionnée
Set Trouve = Sheets("TABLE").Cells.Find(Element, lookat:=xlWhole) ' Recherche de l'élément sélectionne dans l'onglet table
'Test du résultat de la recherche
If Not Trouve Is Nothing Then
  ' si trouvé
  Sheets("TABLE").Rows(Trouve.Row).Delete 'Suppression dans l'onglet table de la ligne trouvée
 Else
  MsgBox (Element & " non trouvé dans table") ' Message d'alerte n'étant peut être pas indispensable dans ce cas
End If
End Sub
 

archimede781

XLDnaute Junior
Re : Suppression ligne en fonction contenu cellule

Merci !

Je n'ai jamais deux personne du même nom car quand c'est un coupe je mets NOM_(Initiale Prénom).....C'est rare d'avoir un couple avec le même prénom, mais cela m'est déjà arrivé et j'arrive toujours par trouver une astuce EX: Daniel =NOM_D et Danielle =NOM_De

Ce site est vraiment convivial je pense y revenir souvent !
A781
 

Discussions similaires

Statistiques des forums

Discussions
312 452
Messages
2 088 542
Membres
103 880
dernier inscrit
rafaelredsc