probleme vba sur combobox

fred82700

XLDnaute Nouveau
bonjour à tous,

j ai un soucis sur un userform, "modifier fournisseur", j ai recuperer sur un autre fichier une programmation vba pour modifier des lignes par rapport a un combobox. mais je n arrive pas a le faire fonctionner dans ce fichier.


les experts d excel-downloads sont appeler a la rescouse

je joint le fichier le probleme se passe dans la programmation vba de modifier fournisseur

d avance merci a tous
 

Pièces jointes

  • mon gestionnaire.xlsm
    131.5 KB · Affichages: 56
  • mon gestionnaire.xlsm
    131.5 KB · Affichages: 62
  • mon gestionnaire.xlsm
    131.5 KB · Affichages: 61

Robert

XLDnaute Barbatruc
Repose en paix
Re : probleme vba sur combobox

Bonjour Fred, bonjour le forum,

Plusieurs erreurs dans le code :
• Quel que soit le nom de l'UserForm, la procédure d'initialisation s'écrit toujours Private Sub Userform_Initialize(). On ne peut pas remplacer UserForm par le nom que l'on a donné à celui-ci. Donc le code :
Code:
Private Sub Mod_Fournisseurs_Initialise()
n'était tout simplement pas lu...
• Pour faire référence au module de classe il faut déclarer le tableau de variable Kase()
Code:
Private kase() As New MDCCheckBox
• j'ai modifié le code pour activer le module de classe car comme il était écrit je ne comprenais pas.
• dans le module de classe il manquait un s au nom de l'UserForm Mod_Fournisseur au lieu de
Mod_Fournisseurs.

Remarques :
• J'ai aimé le code du module de classe pour masquer/afficher mais j'ai trouvé ça franchement chiant à l'utilisation...
• pour résoudre ton problème, un fichier avec, l'onglet Fournisseurs, le module de classe et l'UserForm Mod_Fournisseurs, était amplement suffisant !
Ton fichier corrigé :
 

Pièces jointes

  • Fred_v01.xls
    369.5 KB · Affichages: 46

laetitia90

XLDnaute Barbatruc
Re : probleme vba sur combobox

bonjour fred , Robert :)

a mon avis il faut simplifier... trop d'users ??? un suffit !!!! la classe inutile au contraire elle complique tout:confused:


un exemple simple a adapter beaucoup moins de lignes de code
apres il faut rajouter conditions... "bosser" sur les formats ...c 'est tout:)
 

Pièces jointes

  • combo2.xls
    54.5 KB · Affichages: 44
  • combo2.xls
    54.5 KB · Affichages: 50
  • combo2.xls
    54.5 KB · Affichages: 45

laetitia90

XLDnaute Barbatruc
Re : probleme vba sur combobox

re tous :):):)
j'ai modifier uniquement fournisseur mais tu peus le faire avec clients & articles
j'ai simplifier pas mal.... vite fait mais bon !!!

Code:
Dim t As Variant, Y As Byte
Private Sub userform_initialize()
 With Sheets("Fournisseurs")
  t = .Range("a2:k" & .Cells(Rows.Count, 1).End(xlUp).Row): c1.List = t
 End With
End Sub
Private Sub c1_Click()
 For Y = 1 To 11: Controls("T" & Y) = c1.List(c1.ListIndex, Y - 1): Next Y
 T4 = Format(T4, "00000"): T6 = Format(T6, "0# ## ## ## ##")
 T7 = Format(T7, "0# ## ## ## ##")
End Sub
Private Sub modif_Click()
 es
End Sub
Private Sub nouv_Click()
 es
 End Sub
Private Sub suppr_Click()
 es
End Sub
Private Sub cmd1_Click()
 Unload Me
End Sub
Private Sub c1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
 c1.SetFocus: c1.DropDown
End Sub
Sub es()
 With Sheets("Fournisseurs")
 If ActiveControl.Name = "nouv" Then _
 For Y = 1 To 11: .Cells(c1.ListCount + 2, Y) = Controls("T" & Y).Value: Next Y
 If ActiveControl.Name = "modif" And c1.ListIndex > -1 Then _
 For Y = 1 To 11: .Cells(c1.ListIndex + 2, Y) = Controls("T" & Y).Value: Next Y
 If ActiveControl.Name = "suppr" And c1.ListIndex > -1 Then _
 .Rows(c1.ListIndex + 2).Delete
 End With
 CreateObject("Wscript.shell").Popup " DEMANDE EFFECTUEE..... ", 1, "  CONFIRMATION!!", vbInformation
 Unload Me
End Sub

ps pas oblige d'activer une sheet pour modif

bisous a l'ami ROBERT pour le like:):)
 

Pièces jointes

  • mon gestionnaire.xlsm
    127.6 KB · Affichages: 47
  • mon gestionnaire.xlsm
    127.6 KB · Affichages: 54
  • mon gestionnaire.xlsm
    127.6 KB · Affichages: 54
Dernière édition:

grisan29

XLDnaute Accro
Re : probleme vba sur combobox

bonjour Laetitia90

comme a ton habitude, tu a des solutions miraculeuses pleins les poches:eek:

ta solution
Code:
Private Sub c1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
 c1.SetFocus: c1.DropDown
End Sub
me convient tout a fait, le dynamisme est ce qui me manquait:rolleyes:

Pascal
 

laetitia90

XLDnaute Barbatruc
Re : probleme vba sur combobox

re tous :):):):):)
éventuellement tu peus seulement écrire comme cela suffisant!!
Code:
Private Sub c1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal y As Single)
 c1.DropDown
End Sub
c'est mousemove qui donne le focus??
 
Dernière édition:

Discussions similaires

Réponses
8
Affichages
215
Réponses
15
Affichages
616
Réponses
13
Affichages
405
Réponses
4
Affichages
383

Membres actuellement en ligne

Statistiques des forums

Discussions
312 429
Messages
2 088 350
Membres
103 823
dernier inscrit
ben talha redouane