Plantage de mon USF

J

Jean P

Guest
Bonjour à tous

Suite à plusieurs recherches sur le forum, j'ai créé un USF (en reprenant les démos de Thierry principalement).

Toutefois, lorsque je l'utilise plusieurs fois de suite, il «plante» et je ne comprend pas pourquoi.

Est-ce que quelqu'un pourrait me renseigner afin que je puisse corriger le problème.

Merci d'avance pour vos commentaires et votre aide.

Bonne journée

Jean P.
 

Pièces jointes

  • jean-004.zip
    34.4 KB · Affichages: 24
S

salim

Guest
Bonsoir Jean P et le Forum

Jean P, je pense que le plantage est du a la ligne en gras dans le code ci dessous, remplace la constante que tu as mis par celle que je te propose entre guillemets et ça devrait aller, parceque je crois que xlCellTypeVisible fait tourner ton Tabc(i) = Cell.Value dans le vide ce qui provoque le plantage enfin je crois LOL.

Private Sub ComboBox2_Click()
Dim Cell As Range
Dim r As Range
Dim i As Variant
Dim L As Integer
TextBox3 = ""
With WS1.Range("A1")
.AutoFilter 2, ComboBox2
.AutoFilter 3
End With
L = WS1.Range("C65536").End(xlUp).Row
Set r = WS1.Range("C2:C" & L)
Set r = r.SpecialCells(xlCellTypeVisible) " xlCellTypeLastCell "
ReDim TabC(0 To r.Count - 1)
For Each Cell In r
TabC(i) = Cell.Value
i = i + 1
Next
TriTabC
DoublonTabC
End Sub

Salim
 
J

Jean P

Guest
Bonjour Salim et le forum

J'ai modifié la ligne que tu m'avais suggéré, cela a règlé mon problème de plantage et je te remercie.

Toutefois, je viens de me rendre compte que lorsque j'utilise le bouton AJOUTER, la mise a jour des combobox ne se fait pas. Je dois utiliser le bouton QUITTER pour que la mise a jour des combobox.

Toutefois, je viens de me rendre compte que lorsque j'utilise le bouton SUPPRIMER, la mise a jour des combobox ne se fait pas. Je dois utiliser le bouton QUITTER pour que la mise a jour des combobox.

Je te remercie d'avance pour tes commentaires.


Jean P.
 
S

salim

Guest
Bonsoir Jean P et le Forum

Jean P, selon la capacité de mes maigres connaissances en vba je pense que la non mise à jour des informations saisie est du au fait que l'AutoFilter reste enclenché, je pense que dans les procédures événementielles du bouton Ajouter et Quitter il faudrait faire appel à " UserForm_Initialize " un peu comme ça ( cf code en gras ci-dessous ) ce qui permettrai de mettre AutoFilter = False et voir les infos saisie je ne sais pas si c'est " propre " d'écrire de cette façon mais bon en attendant que les master comme @+Thierry, Ti, et autre Didier_mDF ne passe par ici pour corriger tout ça, si ça peu te donner une piste pour avancer tant mieux.

Private Sub CommandButton4_Click()
'Bouton AJOUTER
Dim CTRL As Control
Dim L As Integer
For Each CTRL In Me.Controls
If CTRL = "" Then MsgBox "Donnée Incomplete", vbCritical, TT: CTRL.SetFocus: Exit Sub
Next CTRL
L = WS1.Range("A65536").End(xlUp).Row + 1
With WS1
.Range("A" & L) = ComboBox1
.Range("B" & L) = ComboBox2
.Range("C" & L) = TextBox3
End With
UserForm_Initialize
Combo
End Sub

Salim
 

Statistiques des forums

Discussions
312 979
Messages
2 094 117
Membres
105 940
dernier inscrit
aftag