Problème userform

Bonjour à tous,

Je viens à nouveau sur le forum car je rencontre un problème lié à l'utilisation d'userform.

En effet, je possède un fichier dans lequel j'utilise un Userform composé deux deux combobox liées permettant le trie par catégories et sous-catégories.

Lorsque je lance l'userform, pas de soucis le tout marche au poil. Cependant, lorsque je l'utilise à plusieurs reprises ou bien après un certain laps de temps Excel crash .......

Je ne vois pas d'où cela peut provenir.

Voici le code des boutons de l'UF :

Option Explicit

Dim Ws As Worksheet

Private Sub ComboBox1_Change()
' Catégorie
Dim J As Long
Dim Colonne As Integer

  Me.ComboBox2.Clear
  If Me.ComboBox1.ListIndex = -1 Then Exit Sub
  Colonne = Me.ComboBox1.ListIndex + 2
  For J = 3 To Ws.Cells(Rows.Count, Colonne).End(xlUp).Row
    Me.ComboBox2.AddItem Ws.Cells(J, Colonne)
  Next J

End Sub

Private Sub ComboBox2_Change()
' Sous catégorie
  Me.TextBox1 = ""
  If Me.ComboBox2.ListIndex = -1 Then Exit Sub
  Me.TextBox1 = Me.ComboBox2
End Sub

Private Sub CommandButton1_Click()
' Valider
 Dim selection As Range
Set selection = Application.InputBox("Sélectionnez la cellule où vous désirez inserer le matériel ", Type:=8)
  If Me.ComboBox2.ListIndex = -1 Then Exit Sub
  selection = Me.TextBox1

End Sub

Private Sub CommandButton2_Click()
' Annulez
  Unload Me
End Sub

Private Sub CommandButton3_Click()

'S'assurer que l'user possede toute les infos

Dim verif As String
verif = MsgBox("Pour ajouter du matériel vous devez avoir connaissance :" & Chr(10) & Chr(10) & "- Du prix d'un poste" & Chr(10) & "- De la consomation en fuel par poste (si le matériel en nécessite)" & Chr(10) & Chr(10) & "Possédez-vous ces deux infomations ?", vbYesNo, "Important")
If verif = vbNo Then Exit Sub

' ajouter_mat Macro
Sheets("Matériel").Select
    Rows("283:284").Select
    selection.Copy
    Rows("288:288").Select
    selection.Insert Shift:=xlDown

 ' Nom du mat
    Dim nommer As String

    nommer = InputBox("Saisir la Désignation du matériel à ajouter", "nouveau") 'La variable reçoit la valeur entrée dans l'InputBox
    Range("B288") = nommer
    Range("B289") = nommer

 ' Prix du mat pour un poste

    Dim prix As String

    prix = InputBox("Saisir le prix pour un poste (sans unité)", "nouveau") 'La variable reçoit la valeur entrée dans l'InputBox
    Range("D288") = prix

 ' Conso fuel en litre

    Dim fuel As String

    fuel = InputBox("Saisir la consomation de fuel pour un poste (sans unité)" & Chr(10) & Chr(10) & Chr(10) & "NOTA: Si le  matériel n'est pas concerné laissez le champ vide et validez)", "nouveau") 'La variable reçoit la valeur entrée dans l'InputBox
    Range("I288") = fuel

    ' Insertion dans la BDD

    Sheets("Datas").Range("L" & Rows.Count).End(xlUp).Offset(1, 0) = nommer
    Sheets("planning").Select

End Sub

Private Sub UserForm_Initialize()
Dim I As Integer

  Set Ws = Sheets("Datas")
  With Me.ComboBox1
    For I = 2 To Ws.Range("B2").End(xlToRight).Column
      .AddItem Ws.Cells(2, I)
    Next I
  End With

End Sub

En PJ la structure de l'UF

Merci par avance et bonne journée.

image 1

Bonjour

J'ai cliqué plusieurs sur l'image et sur le code et je n'ai pas eu de plantage

Peut-être que je ne fais pas les choses dans les règles

Peut-être que le problème vient de mon PC je vais tester sur un autre micro ..... je vais voir cela !

Merci d'avoir regardé en tout cas !

Bonjour

C'était de l'humour (non compris)

Je veux dire qu'avec des images c'est très dur de trouver une solution quand le problème survient lors de l'utilisation du programme

A la place de ton images envoies le fichier en expliquant ce que tu fais pour obtenir le plantage

Oula je suis pas fino sur ce coup la ......

Voici un fichier ! désolé je suis au travail en même temps, j'ai pas réfléchis bien loin

Merci en tout cas.

38forum.xlsm (111.02 Ko)

Bonjour

C'est un bon début

Toi tu connais ton fichier, tu sais ce qu'il faut faire

Nous ne le savons pas

Alors expliques les démarches à faire/refaire pour planter le programme

parce que à 1ère vue cela fonctionne

En réalité, j'utilise le fichier et au bout d'un certain temps le fichier plante je ne sais pas pourquoi ! Par contre, tant que je n'utilise pas l'US aucun plantage .......

L'US se lance par le biais du bouton "Choix du mat" .....

Bonjour

J'ai fait plusieurs essais sans plantage

Tant que tu n'auras pas déterminé les actions à faire pour planter le programme, cela ne va pas être évident

Quelqu'un d'autre peut-être ?

Rechercher des sujets similaires à "probleme userform"