Suppression avec combobox

jojo -  
Bidouilleu_R Messages postés 1209 Statut Membre -
Bonjour,
Je créé un userform avec combobox dans excel pour supprimer une cellule. J'ai créé un tableau avec une colonne contenant des noms de commerciaux. Ces derniers vont se retrouver dans la combobox de mon userform.
Je souhaite que lorsque je sélectionne un nom d'un commercial dans la combobox et que j'appuie sur le bouton supprimer du userform, la ligne de code va me permettre de sélectionner la cellule liée au nom et de la supprimer (le code n'étant pas lié au nom mais à la cellule. Ce qui veut dire que lorsque je vais modifier le nom d'un commercial dans mon tableau, ma ligne de code fonctionne toujours).

Merci de votre aide.
A voir également:

1 réponse

Bidouilleu_R Messages postés 1209 Statut Membre 295
 
je te propose quelques petites routines...


dans un module tu met ce code
puis va voir en bas


Public listetruc() As String ' définit un tableau de charactères
Public MonIndex As Variant
Sub création_article()
'*****************************************************
' cette routine génère des listes
'*****************************************************

Dim i As Integer


' ******************************
' lecture des informations sur la feuil1
' *******************************
Sheets("Feuil1").Select
Range("A3").Select 'ma liste commence en A3
nbrlig = Range("A3").CurrentRegion.Rows.Count

For i = 0 To nbrlig - 1
ReDim Preserve listetruc(i + 1)

' le tableau contient la donnée de la liste
listetruc(i) = Range("A3").Offset(i, 0).Value

Next i

' *******************************

UserForm1.Show

End Sub
'*****************************************

dans le useform tu mets ceci.
Private Sub CommandButton1_Click()
Unload Me
End Sub


Private Sub CommandButton2_Click()
MonIndex = ListBox1.ListIndex
UserForm1.ListBox1.RemoveItem (ListBox1.ListIndex)
Sheets("Feuil1").Range("A3").Offset(MonIndex, 0).Delete
End Sub



Private Sub UserForm_Initialize()
UserForm1.ListBox1.List = listetruc()
End Sub

je lis les données et je les place dans un tableau puis je l'affecte en tant que list aau listbox
quand je détruit (removeitem) un élément et une cellule (.delete) le tableau n'est pas affecté.

j'utilise cette astuce pour ceux qui vont trop vite.


il faut donc que tu ajoute un contrôle listebox
et un bouton ici commandbutton2


Quand tu sélectionneras une ligne dans le useform1
la propriété .listindex prendra une valeur.... 1,2,3,....
tu pourras rajouter un contrôle dans le bouton si monindex =-1 ( il n'y a pas de sélection )
alors on ne fait rien.

A toi d'adapter

A+
0