Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Supprimer à partir d'un userform

2 réponses
Avatar
PAT
Bonjour, etant débutant j'ai quelques difficultés pour arrivé à résoudre mon
probléme.
j'ai créer un userform (avec une textbox une combobox et un bouton) qui me
permet sur la commande d'un bouton de remplir un liste dans une colonne
(A)et (B) d'une feuille. ci dessous le code
Private Sub CommandButton1_Click()
Dim lignesuivante As Long
If TextBox1.Value = "" Then
MsgBox ("Saisir le nom d'un appareil")
Exit Sub
End If

If ComboBox1.Value = "" Then
MsgBox ("Selectionner un type d'appareil")
Exit Sub
End If

'verification de la feuille formulaire est active
Sheets("Feuil1").Activate

'determination de la prochaine ligne
lignesuivante = Application.WorksheetFunction. _
CountA(Range("A:A")) + 1
Cells(lignesuivante, 1) = TextBox1.Text
Cells(lignesuivante, 2) = ComboBox1.Text

TextBox1.Value = ""
ComboBox1.Value = ""
Exit Sub
End Sub


Je voudrais pouvoir retirer grace à un second userform un des éléments de la
liste qui se trouve sur la feuille aprés l'avoir selectionner dans un
combobox ou listbox.

Merci de votre aide

2 réponses

Avatar
anonymousA
Pour le fun, à mettre dans le module du userform et en supposant que ton
combobox qui te sert à repérer les valeurs à supprimer se nourrit de la
colonne A et que d'autre part ce combobox n'a pas de propriété rowsource
en dur dans la fenêtre propriétés du combobox.
Ici, quand tu cliqueras sur une valeur, si tu vexu la supprimer, il te
suffit de double cliquer dans le combobox. C'est bien sur adaptable si
tu ne veux pas supprimer la ligne entière.
Pas testé tous les cas cependant, donc surement améliorable.

Dim toto As Long

Private Sub ComboBox1_Click()

toto = Me.ComboBox1.ListIndex

End Sub

Private Sub ComboBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

With Me.ComboBox1
Range(.RowSource).Cells(toto + 1).EntireRow.Delete
valtexte = Split(.RowSource, ":")(1)


longtexte = Len(valtexte)
If IsNumeric(Mid(valtexte, 2, 1)) Then
bornesup = Left(valtexte, 1) & Right(valtexte, longtexte - 1) - 1
Else
bornesup = Left(valtexte, 2) & Right(valtexte, longtexte - 2) - 1
End If

.RowSource = Split(.RowSource, ":")(0) & ":" & bornesup

End With

End Sub
Private Sub UserForm_Initialize()

Me.ComboBox1.RowSource = "A1:A" & Range("A65536").End(xlUp).Row

End Sub

A+


Bonjour, etant débutant j'ai quelques difficultés pour arrivé à résoudre mon
probléme.
j'ai créer un userform (avec une textbox une combobox et un bouton) qui me
permet sur la commande d'un bouton de remplir un liste dans une colonne
(A)et (B) d'une feuille. ci dessous le code
Private Sub CommandButton1_Click()
Dim lignesuivante As Long
If TextBox1.Value = "" Then
MsgBox ("Saisir le nom d'un appareil")
Exit Sub
End If

If ComboBox1.Value = "" Then
MsgBox ("Selectionner un type d'appareil")
Exit Sub
End If

'verification de la feuille formulaire est active
Sheets("Feuil1").Activate

'determination de la prochaine ligne
lignesuivante = Application.WorksheetFunction. _
CountA(Range("A:A")) + 1
Cells(lignesuivante, 1) = TextBox1.Text
Cells(lignesuivante, 2) = ComboBox1.Text

TextBox1.Value = ""
ComboBox1.Value = ""
Exit Sub
End Sub


Je voudrais pouvoir retirer grace à un second userform un des éléments de la
liste qui se trouve sur la feuille aprés l'avoir selectionner dans un
combobox ou listbox.

Merci de votre aide




Avatar
PAT
Merci de votre aide, j'ai fait une petite modif avec ma feuille, c'est tout
bon

"anonymousA" a écrit dans le message de news:
472debdc$0$21145$
Pour le fun, à mettre dans le module du userform et en supposant que ton
combobox qui te sert à repérer les valeurs à supprimer se nourrit de la
colonne A et que d'autre part ce combobox n'a pas de propriété rowsource
en dur dans la fenêtre propriétés du combobox.
Ici, quand tu cliqueras sur une valeur, si tu vexu la supprimer, il te
suffit de double cliquer dans le combobox. C'est bien sur adaptable si tu
ne veux pas supprimer la ligne entière.
Pas testé tous les cas cependant, donc surement améliorable.

Dim toto As Long

Private Sub ComboBox1_Click()

toto = Me.ComboBox1.ListIndex

End Sub

Private Sub ComboBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

With Me.ComboBox1
Range(.RowSource).Cells(toto + 1).EntireRow.Delete
valtexte = Split(.RowSource, ":")(1)


longtexte = Len(valtexte)
If IsNumeric(Mid(valtexte, 2, 1)) Then
bornesup = Left(valtexte, 1) & Right(valtexte, longtexte - 1) - 1
Else
bornesup = Left(valtexte, 2) & Right(valtexte, longtexte - 2) - 1
End If

.RowSource = Split(.RowSource, ":")(0) & ":" & bornesup

End With

End Sub
Private Sub UserForm_Initialize()

Me.ComboBox1.RowSource = "A1:A" & Range("A65536").End(xlUp).Row

End Sub

A+


Bonjour, etant débutant j'ai quelques difficultés pour arrivé à résoudre
mon probléme.
j'ai créer un userform (avec une textbox une combobox et un bouton) qui
me permet sur la commande d'un bouton de remplir un liste dans une
colonne (A)et (B) d'une feuille. ci dessous le code
Private Sub CommandButton1_Click()
Dim lignesuivante As Long
If TextBox1.Value = "" Then
MsgBox ("Saisir le nom d'un appareil")
Exit Sub
End If

If ComboBox1.Value = "" Then
MsgBox ("Selectionner un type d'appareil")
Exit Sub
End If

'verification de la feuille formulaire est active
Sheets("Feuil1").Activate

'determination de la prochaine ligne
lignesuivante = Application.WorksheetFunction. _
CountA(Range("A:A")) + 1
Cells(lignesuivante, 1) = TextBox1.Text
Cells(lignesuivante, 2) = ComboBox1.Text

TextBox1.Value = ""
ComboBox1.Value = ""
Exit Sub
End Sub


Je voudrais pouvoir retirer grace à un second userform un des éléments de
la liste qui se trouve sur la feuille aprés l'avoir selectionner dans un
combobox ou listbox.

Merci de votre aide