XL 2013 UserForm initialize

mvcs

XLDnaute Nouveau
Bonjour,
J'ai un problème avec un formulaire qui ne s'ouvre pas et qui donne le message suivant :
1031279

Ca doit être le code d'initialisation qui cloche car le deuxième formulaire (FormModif) encore vierge, s'affiche correctement.
Pour mieux comprendre, je joins le fichier test. C'est le FormNouv qui bug.
Je n'arrive pas à trouver ce que j'ai mal fait.
Ne maitrisant pas encore bien ces techniques, je me suis inspiré d'un autre fichier qui faisait à peu près la même chose mais j'ai dû loupé un truc.
Merci si quelqu'un peut m'aider.
Cordialement.
 

Pièces jointes

  • DOSSIERS ADS 2019 TEST.xlsm
    79.9 KB · Affichages: 5

Hervé

XLDnaute Barbatruc
re

essaye comme ceci :

ComboBox1.List() = Array("", "PC", "DP", "PA", "PD", "MODIF", "TPA", "CU")
ComboBox1.ListIndex = 1
Set sh = Sheets(ComboBox1.Value)

de plus tu es sur que ceci est à sa place ?

Select Case ComboBox1.Value
Case "PC", "DP", "PA", "PD"
ComboBox4.AddItem sh.Range("A" & N).Value + 1
Case "MODIF", "TPA", "CU"
ComboBox4.AddItem ""
End Select

ne devrait tu pas attendre que l'utilisateur est fait son choix ?

il est bizarre ton code

a plus
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil

Copie ce code Initialize en lieu et place du tien
VB:
Private Sub UserForm_Initialize()
Application.ScreenUpdating = False
Dim N As Long, sh As Worksheet
ActiveWorkbook.Unprotect "calme"
For Each sh In Worksheets
    sh.Unprotect "calme"
Next sh
ComboBox1.List = Array("", "PC", "DP", "PA", "PD", "MODIF", "TPA", "CU")
ComboBox2.List = Array(vbNullString, "NS", "AL", "LJ", "MV")
ComboBox3.List = Array(19, 20, 21, 22, 23)
Controls("TextBox1").Visible = True: Controls("TextBox2").Visible = True
Controls("CommandButton1").Visible = True: Controls("CommandButton2").Visible = True
End Sub
ajoute également cette procédure (toujours dans l'userform)
VB:
Private Sub ComboBox3_Change()
Dim x&
Set sh = Sheets(ComboBox1.Value)
Select Case ComboBox1.Value
  Case Is = "PC", "DP", "PA", "PD"
  With sh
  x = .Cells(.Rows.Count, 2).End(3).Row
  End With
  Label9 = sh.Cells(x, 1) + 1
  Case Is = "MODIF", "TPA", "CU"
  Label9.Caption = vbNullString
End Select
End Sub
NB: Pour le testt, j'ai remplacé le ComboBox4 par un Label
(qui a pour nom Label9)

Je te laisse faire ces modifs et tester

PS: Sur mon PC, cela a fonctionné.
 

mvcs

XLDnaute Nouveau
Merci Hervé et Jm pour votre aide.
J'avais effectivement des trucs bizarres et ton code JM m'a bien débloqué.
Je vais encore essayer d'améliorer le formulaire.
Je voudrais notamment pour la date, au lieu de la saisir à la main dans une textbox, j'aimerais la choisir dans un calendrier.
Existe-t-il un contrôle de ce type pour un userform ?
Je n'ai pas trouvé et j'ai regardé dans les forums, ça me semble compliqué.
En plus je travaille sur deux versions différentes d'Excel, 2013 sur le fixe, Office 365 sur le portable. Je sais pas si l'outil calendrier est compatible
 

Discussions similaires

Réponses
4
Affichages
180

Statistiques des forums

Discussions
312 185
Messages
2 086 020
Membres
103 097
dernier inscrit
Benduch