Bonsoir,
J'ai un petit problème avec une ComboBox dans un UserForm.
Cet UserForm comprend :
1° - un CommandButton qui permet de créer un client et nommer le champ avec le code suivant
Jusque la tout va bien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 Private Sub CommandButton1_Click() Worksheets("Commandes").Activate FeuilleActive = ActiveSheet.Name Application.ScreenUpdating = False NomClient = Application.InputBox("Saisir le Nom du client", ClasseurActif) If NomClient = "" Then Exit Sub Columns(1).Cells.Find("*", [A1], , , , xlPrevious).Offset(1, 0).Select 'la dernière cellule dans la colonne A + 1 ActiveCell = NomClient NomClient1 = LCase(Replace(NomClient, " ", "_")) ActiveWorkbook.Names.Add Name:=LCase(Replace(NomClient1, "-", "_")), RefersToR1C1:=Range(ActiveCell, ActiveCell.Offset(0, 9)) Worksheets("Liste noms").Activate Columns(1).Cells.Find("*", [A1], , , , xlPrevious).Offset(1, 0) = NomClient Range("A2", Selection.End(xlDown)).Select Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal Worksheets(FeuilleActive).Activate Application.ScreenUpdating = True End Sub
2° - un Combobox qui utilise RowSource «liste_noms» dans la feuille "Liste noms" et permet de supprimer un client avec le code suivant
La çà fonctionne moins bien, car si le choix du client a supprimer est «DARDAR» dans la ComboBox pour une liste comportant les noms «DARDAR, DUPONT, DURAND, DUPUIS», les noms «DARDAR» et «DUPONT» seront supprimés et pas les autres, je ne comprend pas le pourquoi et comment ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Private Sub ComboBox2_Change() NomClient2 = LCase(Replace(ComboBox2.Value, " ", "_")) NomClient3 = LCase(Replace(NomClient2, "-", "_")) 'MsgBox NomClient3 'MsgBox "phase suppression chantier" Application.ScreenUpdating = False Application.Goto Reference:="données" On Error Resume Next Range(NomClient3).Select Selection.EntireRow.Delete ActiveWorkbook.Names(NomClient3).Delete Sheets("Liste noms").Cells.Find(What:=ComboBox2, After:=ActiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False).EntireRow.Delete AppActivate "Microsoft Excel" ComboBox2 = "Supprimer un clients" Application.ScreenUpdating = True End Sub
Je n’ai pas trouvé de réponse sur internet.
Une aide et une explication seraient appréciables.
Merci d’avance.
Cordialement modus57
Partager