Comment supprimer des lignes à l’aide d’un userform

mordious

XLDnaute Occasionnel
Bonjour
Je souhaite dans un userform que si la date saisie est déjà présente dans la Feuil2
Toutes les lignes de cette date soient supprimées dans la Feuil2
ci-joint fichier
Cordialement
 

Pièces jointes

  • ClasseurTest 1.xlsm
    23.8 KB · Affichages: 23

mordious

XLDnaute Occasionnel
Re : Comment supprimer des lignes à l’aide d’un userform

Bonjour Jean-Marcel

Merci fonctionne

mais dans la Feuil 2 il y a plusieurs ligne de date identique
Donc je souhaite que : la date saisie supprime toutes les lignes de la même date en un seul coup

Cordialement
 

mordious

XLDnaute Occasionnel
Re : Comment supprimer des lignes à l’aide d’un userform

c'est bon j'ai trouvé
voici le code

Code:
Set doublon = Sheets("Feuil2").Range("C2:C" & Sheets("Feuil2").Range("C65536").End(xlUp).Row).Find(What:=CDate(TextBox1.Text), LookIn:=xlValues, LookAt:=xlWhole)
If Not doublon Is Nothing Then
Select Case MsgBox("la Date existe déjà  la supprimer OUI ou NON ?", vbYesNo)
Case vbYes
Dim l As Long
Sheets("Feuil2").Select
For l = Cells.SpecialCells(xlCellTypeLastCell).Row To 1 Step -1
If Cells(l, 3).Value = TextBox1.Text Then Cells(l, 3).EntireRow.Delete
Next l
Case vbNo
TextBox1 = ""
TextBox1.SetFocus

Exit Sub
End Select

End If
 

Staple1600

XLDnaute Barbatruc
Re : Comment supprimer des lignes à l’aide d’un userform

Bojour à tous


mordious
A titre d'information
Depuis Excel 2007, il y a la fonctionnalité native d'Excel: Supprimer les doublons

Et si vraiment il faut en passer par VBA, c'est nettement plus court ;)
Code:
Sub Macro1()
ActiveSheet.Range("$C$1:$C$12").RemoveDuplicates Columns:=1, Header:=xlYes
End Sub
oui nettement plus court ;)
Code:
Sub Macro1b()
Columns(3).RemoveDuplicates 1, 1
End Sub

PS: On bénéficie de plus d'infos quand on fait cette opération manuellement .
(notamment un MsgBox qui indique combien de doublons ont été trouvés)
 

mordious

XLDnaute Occasionnel
Re : Comment supprimer des lignes à l’aide d’un userform

bonjour Staple 1600

je cherche à supprimer dans la feuil2 les lignes doublons en fonction d'une valeur "date" saisie dans un userform
en gros :si la date saisie est déjà présente dans la feuil2
=MsgBox: "voulez vous supprimer toute les lignes de la date saisie dans TexBox1 présente dans la feuil2"

le formulaire est composé de :
TextBox1 pour la date puis de plusieurs Textbox pour les données
si les TestBox "donnée" ne sont pas vide alors les données sont copier dans Feuil 2 précédée de la date saisie dans la TestBox1

et le Nbr de lignes est aléatoire "en fonction des TextBox saisie"
 

Discussions similaires

Statistiques des forums

Discussions
312 177
Messages
2 085 971
Membres
103 073
dernier inscrit
MSCHOE16