Macro problème avec:Private Sub UserForm_Initialize()

Christian0258

XLDnaute Accro
ReBonjour,

J'aurais besoin de vos lumière

J'ai 2 "UserForm" avec la même ligne de commande, et ça plante sur cette ligne de cde


Private Sub UserForm_Initialize()
Var_Concatene = ""
With UserForm11
****
Private Sub UserForm_Initialize() ' initialisation formulaire
ComboBox1.Clear ' mise en place du combox des plats

Que dois-je modifier sur ces ligne?

à+
Christian
 

Kotov

XLDnaute Impliqué
Re : Macro problème avec:private Sub UserForm_Initialize()

Bonjour Christian,

Ton code étant incomplet, je ne comprends pas ta demande :

"Private Sub UserForm_Initialize()
Var_Concatene = ""
With UserForm11
****
Private Sub UserForm_Initialize() ' initialisation formulaire
ComboBox1.Clear ' mise en place du combox des plats
"

- Au vu de ton code, je me demande si tu n'as pas imbriqué la 2ème Private Sub UserForm_Initialize(), dans la 1ère d'où un évident bug
- Combien as-tu de UserForm ? (il t'en faut au minimum 2 vu que tu as 2 Private Sub UserForm_Initialize()

Précises ta demande STP

Bonne journée
Kotov
 

Kotov

XLDnaute Impliqué
Re : Macro problème avec:private Sub UserForm_Initialize()

Re Christian,

Désolé, ces infos sont trop incomplètes pour établir un diagnostic fiable.
Essaies de fournir au moins les 2 codes, même si c'est sur un fichier .txt

A +
Kotov
 

Christian0258

XLDnaute Accro
Re : Macro problème avec:private Sub UserForm_Initialize()

Re, le forum, Kotov,

Comme tu me l'as suggéré, ci-dessous les macros.

Private Sub UserForm_Initialize() ' initialisation formulaire
ComboBox1.Clear ' mise en place du combox des plats
ic = 0
For l = Range("baseplat").Row + 1 To Sheets("CartePlats").Cells(65536, Range("baseplat").Column).End(xlUp).Row
If Not Sheets("CartePlats").Cells(l, 2).Value = "" Then
ComboBox1.AddItem Sheets("CartePlats").Cells(l, 2).Value
If l = pos Then spl = ic ' est-ce le plat de départ ?
ic = ic + 1
End If
Next l
ComboBox1.ListIndex = spl ' position index
For k = 2 To 16 ' initialisation des denrées
Me.Controls("ComboBox" & k).Clear
Next k
c = Range("baseprod").Column ' traitement des denrées
For l = Range("baseprod").Row To Sheets("CartePlats").Cells(65536, c).End(xlUp).Row
If Not Sheets("CartePlats").Cells(l, c).Value = "" Then
For k = 2 To 16
Me.Controls("ComboBox" & k).AddItem Sheets("CartePlats").Cells(l, c).Value
Next k ' mise en place des denrées dans les 12 combobox
End If

La deuxième :
Private Sub UserForm_Initialize()
Var_Concatene = ""
With UserForm11

With ListBox1
.ColumnCount = 8
.ColumnWidths = "00;80;90;105;49;90;00;45"
End With
With .CmbB_Date
.ColumnCount = 2
.ColumnWidths = "0;1"
End With
.CmdB_Archiver.Visible = False

TestRecup

.Caption = Var_Concatene
End With
End Sub


Merci pour votre aide,
à+
Christian
Next l
Call modif ' position des valeurs
End Sub
Private Sub bouton_valider_Click() ' validation
Dim cx As String ' valeur caractère
Dim vn As Double ' valeur numérique textbox
Dim vx As String ' valeur textbox saisie
For t = 1 To 60 ' traitement des zones saisies
vx = Me.Controls("textBox" & t).Value ' zone récupérée pour traitement
If vx <> "" Then
For i = 1 To Len(vx) ' vérification numéricité
cx = Mid(vx, i, 1)
Select Case cx
Case 0 To 9, ".", ","
Case Else ' arrêt sur erreur avec message
MsgBox ("caractère non numèrique : " & vx & Chr(10) & "corrigez pour pouvoir valider")
Me.Controls("textBox" & t).SelStart = 0
Me.Controls("textBox" & t).SelLength = Len(vx)
Me.Controls("textBox" & t).SetFocus
Exit Sub ' il faut corriger l'erreur
End Select
Next i
End If
Next t
c = Range("basedenrée").Column ' colonne des denrée sur feuille
l = ComboBox1.ListIndex + Range("baseplat").Row + 1 ' ligne saisie
d = 0: t = 1
For k = 2 To 16 ' traitement des 12 denrées
ic = Me.Controls("ComboBox" & k).ListIndex ' indice combobox denrée
If ic < 0 Then
t = t + 4 ' traitement du combobox non positionné : effacement cellules
Sheets("CartePlats").Cells(l, c).Offset(0, d).ClearContents
Sheets("CartePlats").Cells(l, c + 3).Offset(0, d).Resize(1, 4).ClearContents
Else ' traitement du combobox positionné : documentation cellules
Sheets("CartePlats").Cells(l, c).Offset(0, d).Value = _
Me.Controls("ComboBox" & k).List(ic) ' denrée
For i = 3 To 6 ' valeurs associées
Sheets("CartePlats").Cells(l, c).Offset(0, d + i).NumberFormat = "0.000"
vx = Me.Controls("textBox" & t).Value
p = InStr(1, vx, ".")
If p = 0 Then p = InStr(1, vx, ",")
If p = 0 Then ' mise en numérique de la saisie
vn = Val(vx)
Else
vn = CDbl(Left(vx, p - 1) & "," & Right(vx, Len(vx) - p))
End If
Sheets("CartePlats").Cells(l, c).Offset(0, d + i).Value = vn
t = t + 1
Next i
End If
d = d + 7
Next k
End Sub
 

Discussions similaires

Réponses
7
Affichages
949
H
Réponses
3
Affichages
878
HugoB99
H

Statistiques des forums

Discussions
311 725
Messages
2 081 947
Membres
101 849
dernier inscrit
florentMIG