Reinitialisation Userform

Résolu/Fermé
GermPeru Messages postés 172 Date d'inscription mercredi 7 décembre 2016 Statut Membre Dernière intervention 27 mars 2018 - 2 mars 2017 à 16:19
GermPeru Messages postés 172 Date d'inscription mercredi 7 décembre 2016 Statut Membre Dernière intervention 27 mars 2018 - 3 mars 2017 à 15:23
Bonjour a tous,

Mon probleme du jour est le suivant, au travers dúne macro je charge les données dúne feuille dans differente txtbox d´un USF, ces derniere se créé automatiquement; je passe par une maccro et pas a l'initialisation de l´usf pour créer et charger les valeur ds mes txtbox.
Lútilisateur a la possibilité dájouté des données dans la feuille source et dans ce cas je repasse par ma maccro de chargement des données et j'actualise ainsi mon usf.

Mon soucis est que ensuite je fais des calculs avec des données issu de mon usf, mais en cas de reinitialisation de mon usf je nárrive plus a recuperer les données de mes textbox. Un message dérreur míndique que les types ne coincide pas..

J´ai bien essayé des repaint dans mon code sans succés, et je ne peux pas unloader mon usf pour le relancer car a la fermeture je supprime les données de la feuille source...

Je ne sais pas si je suis trés clair dans mes explications mais je vous remercie d´avance pour vos sages conseils.

6 réponses

GermPeru Messages postés 172 Date d'inscription mercredi 7 décembre 2016 Statut Membre Dernière intervention 27 mars 2018
Modifié par GermPeru le 2/03/2017 à 17:03
Le probleme peut venir du fait du point et de la virgule, pb de compatibilité avec le clavier espagnol et excel en anglais... Je dois configurer l´affichage... Mais l´erreurde compatibilité continue ...
0
GermPeru Messages postés 172 Date d'inscription mercredi 7 décembre 2016 Statut Membre Dernière intervention 27 mars 2018
2 mars 2017 à 18:08
Je pense devoir utiliser un control.remove car il doit il y avoir ambiguité pcq j´ai utilisé deux fois les memes noms ... Je pensais qu´en appelant une nouvelle fois ma sub de création dynamique de textbox, ca allait écraser les anciens noms mais ca n´a pas l´air d´etre le cas.... Qulequún pourrait m´en dire ce qu´il en pense ?
0
GermPeru Messages postés 172 Date d'inscription mercredi 7 décembre 2016 Statut Membre Dernière intervention 27 mars 2018
2 mars 2017 à 19:25
J´allimente ls discussion au fil de mes essais sns succes
J' ai créé une autre sub pour effacer le nom de mes txtbox avant rechargement des données mais j´ai tjs la meme erreur au meme endroit..

Partie du code poour effacer les noms
For Each Ctrl In USFEt.Controls
    If TypeName(Ctrl) = "TxtFrac" Then
        For j = 2 To Nblignes
            If Ctrl.Name = "TxtFrac" & j Then
                USFEt.Controls.Remove Ctrl.Name
            End If
        Next j
    End If
Next Ctrl


Partie du code avec erreur:
FraC = Ctrl.Value


Je pense aue l´erreur est sur le ctrl.value....mais le pourquoi je ne sais pas....

Un petit coup de main SVP
0
thev Messages postés 1884 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 17 novembre 2024 691
2 mars 2017 à 19:37
Bonjour,

La partie de code fournie n'efface pas les noms mais supprime les contrôles TextBox. Difficile après d'obtenir une valeur pour le contrôle disparu...
0
GermPeru Messages postés 172 Date d'inscription mercredi 7 décembre 2016 Statut Membre Dernière intervention 27 mars 2018
2 mars 2017 à 19:56
Rebonjour Thev,

Lorsque je n´ai pas de reinitialisation de mon userform j´arrive a récuperer mes valeur de mes text box, et faire mes calculs; mais en cas de reinitialisation cela ne fonctionne plus. Je pensais que le probleme venait du fait que j´utilisais deux fois le meme nom.

Ce que je pensais faire cést effacer les noms des controles ou les controles et les reinitialiser avec les nouvelles données.

Je ne sais pas si j´arrive a bien m´expliquer....

Merci pour ton aide Thev
0
thev Messages postés 1884 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 17 novembre 2024 691
2 mars 2017 à 20:38
Bonsoir,

A priori, si ton UserForm est réinitialisé, cela signifie que tu as passé au préalable une instruction du type : "Unload  USFEt" et donc supprimé les contrôles "TextBox" créés dynamiquement.
Une instruction du type "USFEt.Hide" masquera ton formulaire tout en conservant les données.
0
GermPeru Messages postés 172 Date d'inscription mercredi 7 décembre 2016 Statut Membre Dernière intervention 27 mars 2018
2 mars 2017 à 20:53
Justement non je ne peux pas le unloader, car en ce cas est supprimé la feuille source.
Dans ma conception cést: lútilisateur rentre un N°, ce N° correnpond a un tableau excel dans une base données, je charge les données dans une nouvelle feuille de mon classeur. Mon usf travail a partir de ces données nouvellement chargées et quand je ferme mon usf je supprime cette feuille. Je ne sais pas si c´est la conception est bonne... car maintenant je suis un peu bloquer car j´ai une nouvelle contrainte qui est que lútilisateur peut rajouter des données dans la feuilles et donc je dois réinitialiser mon USF sans le unloader....
Je pensais aussi le unloader mais peut pas selon ma conception. Je pensais quíl existait peut etre une parade pour effacer les données sans unloader? Car je pense que vient de la mon erreur...
0
thev Messages postés 1884 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 17 novembre 2024 691
2 mars 2017 à 21:55
L'utilisation classique d'un formulaire, c'est de saisir ou mettre à jour des données qui restent stockées dans une feuille.
Ce que tu as l'air de dire, c 'est que la feuille contenant les données présentes dans ton formulaire, est supprimée après fermeture ou masquage du formulaire.
Je pense qu'un exemple matérialisé par un classeur joint, serait nécessaire pour illustrer ton propos.
0
GermPeru Messages postés 172 Date d'inscription mercredi 7 décembre 2016 Statut Membre Dernière intervention 27 mars 2018
Modifié par GermPeru le 2/03/2017 à 22:44
Je ne peux pas fournir le classeur tel quel, mais je vais essayer détre le plus pertinent possible dans les bouts de code.
Ps: je ne voudrais pas choquer les puristes par mon écriture de code... J´apprends sur le tas et en me confrontant aux problemes

Affichage de mon USF, au travers dúne inputbox pour chercher un code produit et verifier s´il existe

Sub ShUSFEt()
Dim MaRep As String
Dim Feuille As Worksheet, i As Integer, Nblignes As Integer
    MaRep = InputBox("Introduzca N° de lote:", "Impresión etiqueta de dispensación")
    If MaRep <> "" Then
    Abrir MaRep
        If Sheets(2).Name = MaRep Then
        Nblignes = Application.WorksheetFunction.CountA(Sheets(2).Range("$A:$A"))
        For i = 2 To Nblignes
            Cells(i, 1) = "1"
        Next i
        USFEt.Show
        Set Feuille = Nothing
        End If
    Else
    MsgBox "Ingresar N° de lote", vbInformation, "Falta dato"
    End If
End Sub


Je consulte une base de données qui me permet de voir si mon code produit existe, dans ce cas je procede a ma maccro Abrir qui va alors copier les données créer unefeuille, coller les données et fermer le fichier originel.

Sub Abrir(ByRef MaRep As String)
Application.ScreenUpdating = False
Dim Chemin As String, FichierMaRep As String, FichierActuel As String
Dim Classeur As Workbook
Chemin = "C:\Users\user\Desktop\lotes\"
On Error GoTo NoExiste
FichierActuel = ActiveWorkbook.Name
FichierMaRep = Chemin & MaRep & ".xls"
Workbooks.Open FichierMaRep, 0, False, Password:="Dispensacion"
FichierMaRep = ActiveWorkbook.Name
Workbooks(FichierMaRep).Sheets(1).Copy After:=Workbooks(FichierActuel).Sheets(1)
Workbooks(FichierMaRep).Close False
Exit Sub
NoExiste:
MsgBox "          El N° de lote introducido no existe." & Chr(10) & Chr(10) & "Asegurarse que el N° de lote está bien registrado.", vbCritical
End Sub


Ensuite a l´initialisation de mon USF:
Private Sub UserForm_Initialize()
' je charge des données ..
' et je creér de manier dynamique mes chkbox au nb de 2 et txt box au nb de 15 au travers de ma maccro init
Init
End Sub


Maccro init pour la création dynamique de mes txtbox et chkbox, il n ´y a pas de grande pertinence de mettre toutes les txtbox car elles ont chacune des tailles ou specificité particuliere; ce n´est pas la meilleure facon de faire mais a l´epoque je ne connaissais pas le dictionnaire et donc j´ai proceder avec la classe collection... Je tiens a préciser que je ne metrise pas la classe dictionnaire meme si j´ai eu de tres bonnes explications!

Sub Init()
Dim Obj As Control
Dim Cl As Clase1
Dim i As Integer, Nblignes As Integer
Dim ctrlNumBox As Control
 Nblignes = Application.WorksheetFunction.CountA(Sheets(2).Range("$A:$A"))
    
Set CollectChk = New Collection
For i = 2 To Nblignes
USFEt.Repaint
Set Obj = USFEt.Controls.Add("forms.checkbox.1")
    With Obj
    .Name = "ChkA" & i
    .Left = 7
    .Top = 22 * i + 4
    .Width = 22
    .Height = 16
    End With
    
    Set Cl = New Clase1
    Set Cl.ChkBox = Obj
    CollectChk.Add Cl

Set Obj = USFEt.Controls.Add("forms.checkbox.1")
    With Obj
    .Name = "ChkC" & i
    .Left = 29
    .Top = 22 * i + 4
    .Width = 22
    .Height = 16
    If Cells(i, 1) = "0" Then
    .Value = True
    .Enabled = False
    End If
    End With

    Set Cl = New Clase1
    Set Cl.ChkBox = Obj
    CollectChk.Add Cl
Next i

Set CollectTxt = New Collection
For i = 2 To Nblignes
USFEt.Repaint
USFEt.Height = 70 + 22 * i
' 1 N° de lignes
' 6 cantidad practica mat pemiere
Set Obj = USFEt.Controls.Add("forms.textbox.1")
    With Obj
        .Name = "TxtCantPract" & i
        .Object.Value = Sheets(2).Range("N" & i)
        .Left = 493
        .Top = 22 * i + 4
        .Width = 61
        .Height = 16
        .TextAlign = fmTextAlignCenter
        .Enabled = False
        With .Font
        .Name = "Tahoma"
        .Size = 8
        End With
    End With
    Set Cl = New Clase1
    Set Cl.textbox = Obj
    CollectTxt.Add Cl
' 8 fraccion de chaque mat prim
Set Obj = USFEt.Controls.Add("forms.textbox.1")
    With Obj
        .Name = "TxtFrac" & i
        .Left = 592
        .Top = 22 * i + 4
        .Width = 43
        .Height = 16
        .BackColor = RGB(180, 205, 205)
        .Tag = "1"
        With .Font
        .Name = "Tahoma"
        .Size = 8
        End With
    End With
    Set Cl = New Clase1
    Set Cl.textbox = Obj
    CollectTxt.Add Cl
' 9 selladas de chaque mat prim
Set Obj = USFEt.Controls.Add("forms.textbox.1")
    With Obj
        .Name = "TxtSellada" & i
        .Left = 637
        .Top = 22 * i + 4
        .Width = 49
        .Height = 16
        .BackColor = RGB(180, 205, 205)
        .Tag = "1"
        With .Font
        .Name = "Tahoma"
        .Size = 8
        End With
    End With
    Set Cl = New Clase1
    Set Cl.textbox = Obj
    CollectTxt.Add Cl
'ajout d une derniere txt pour le calcul total des etiquetas
If i = Nblignes Then
Set Obj = USFEt.Controls.Add("forms.textbox.1")
    With Obj
        .Name = "TxtEtTot"
        .Left = 955
        .Top = 22 * (Nblignes + 1) + 4
        .Width = 49
        .Height = 16
        .Visible = False
        .BackColor = RGB(127, 255, 0)
        .Tag = "3"
        .TextAlign = fmTextAlignCenter
        With .Font
        .Name = "Tahoma"
        .Size = 9
        End With
    End With
End If
'ajout de l'objet dans la classe
 Set Cl = New Clase1
    Set Cl.textbox = Obj
    CollectTxt.Add Cl
Next i
'limitation valeur numerique de mes txtbox
For Each ctrlNumBox In USFEt.Controls
     If TypeOf ctrlNumBox Is MSForms.textbox Then
         Select Case ctrlNumBox.Tag
            Case Is = "1", Is = "2"
                T = T + 1
                ReDim Preserve TNumBox(1 To T)
                Set TNumBox(T).NumBox = ctrlNumBox
        End Select
     End If
Next ctrlNumBox
End Sub


Donc a l´initialisation de mon usf je charge les données des txtboxs depuis ma feuille(2). J´ai laissé que le code de 3 txtboxs, une qui charge les données depuis la feuille 2 et les autres que l´utilisateur enregistre. Ceci me permettant de faire des calculs.

Avant ca sur mes chkbox j´ai un evenement dans un module de classe qui est le suivant:
With ChkBox
    For i = 2 To Nblignes
        If .Name Like "ChkC" & i Then
            If .Value = True Then
            On Error GoTo ValeurNum
            StrRep = InputBox("Nombre de fraccionamiento?", "Caso de fracionamiento irregular")
                If StrRep > 1 Then
                    CantTher = Cells(i, 13)
                    Cells(i, 1).EntireRow.Copy
                        For j = 1 To StrRep
                            Cells(Nblignes + j, 1).EntireRow.Select
                            ActiveCell.PasteSpecial (xlPasteValuesAndNumberFormats)
                            CtFrac = InputBox("Cantidad del primer fracionamiento" & Chr(10) & Cells(Nblignes + j, 10), "Caso de fracionamiento irregular")
                            Cells(Nblignes + j, 14) = CtFrac
                        Next j
                    Cells(i, 1).EntireRow.Delete
                    Application.ScreenUpdating = False
                ' a cet endroit j' ai essayé de effacer les noms de mes anciennes txtbox anavant de rappeler la nouvelle initialisation de mon USF....
                    Init
                End If
             End If
        End If
    Next i
    End With
Exit Sub
ValeurNum:
MsgBox "Solemente se puede ingresar cifras superior a 0", vbInformation, "Mensaje informmativo"


Ce qui permet au final a lútilisateur de copier n fois une certaine ligne de la feuille et de renseigner lui meme certaines données pour les calculs...

Et enfin mes calculs... Alors la c´est du grand free style, je m´en excuse d´avance, ce n´est pas propre mais ca fonctionne ... Je le laisse complet car je suis ouvert a toute forme d´optimisation !!!
Mon message dérreur survient lorsquíl cherche la premiere valeur de ma txtbox frac et que lorsque je suis passé par une réinitialisation de mon usf...

Private Sub CmdCalc_Click()
Dim i As Integer, Nblignes As Integer
Dim Ctrl As Control
Dim CT As Double, FraC As Integer, SelL As Double, FracSell As Byte
Dim CPR As Double, CPIR As Double
Dim FPR As Byte, FPIR As Byte, ET As Byte, ETtot As Byte
Dim Compteur As Byte, Verif As Double, VerifTot As Double, VerifTher As Double
Dim Reponse As String, PbLlenar As String, PbLlenar2 As String
'On Error GoTo PbLlenar
Nblignes = Application.WorksheetFunction.CountA(Sheets(2).Range("$A:$A"))
Me.Repaint
If ChkMod = False Then
'compteur de clik
Range("Y1").Value = Range("Y1").Value + 1
'1er tour de boucle
For i = 2 To Nblignes
'On Error GoTo PbLlenar
CT = Format(Cells(i, 14), "0.000")
  If Cells(i, 13).Value = CT Then
    For Each Ctrl In Me.Controls
        If Ctrl.Name Like "TxtFrac" & i Then
'***************************************************************************'
'mon message dérreur apparait a ce niveu avec msg de pb de 
'Les types ne coincide pas
        FraC = Ctrl.Value
'********************************************************
        Cells(i, 17).Value = FraC
        ElseIf Ctrl.Name Like "TxtSellada" & i Then
        SelL = Ctrl.Value
        Cells(i, 18).Value = SelL
        ElseIf Ctrl.Name Like "TxtCantSell" & i Then
        Cells(i, 19).Value = selladas(CT, FraC, SelL)
        FracSell = Cells(i, 19).Value
        Ctrl.Value = FracSell
        ElseIf Ctrl.Name Like "TxtCantPuchReg" & i Then
        Cells(i, 20).Value = Format(CantPuchoReg(CT, FraC, FracSell, SelL), "0.000")
        CPR = Cells(i, 20).Value
        Ctrl.Value = CPR
        ElseIf Ctrl.Name Like "TxtCantPuchIReg" & i Then
        Cells(i, 22).Value = Format(CantPuchoIReg(CT, FraC, SelL), "0.000")
        CPIR = Cells(i, 22).Value
        Ctrl.Value = CPIR
        End If
    Next Ctrl
   End If
Next
'2ieme tour de boucle pour calcul
For i = 2 To Nblignes
'On Error GoTo PbLlenar
CT = Format(Cells(i, 14), "0.000")
  If Cells(i, 13).Value = CT Then
    For Each Ctrl In Me.Controls
        If Ctrl.Name Like "TxtPuchReg" & i Then
        Cells(i, 21).Value = FracPuchoReg(Cells(i, 20), Cells(i, 17))
        FPR = Cells(i, 21).Value
        Ctrl.Value = FPR
        ElseIf Ctrl.Name Like "TxtPuchIReg" & i Then
        Cells(i, 23) = FracPuchoIReg(Cells(i, 22), Cells(i, 17))
        FPIR = Cells(i, 23).Value
        Ctrl.Value = FPIR
        End If
    Next Ctrl
  End If
Next
'condition si le calcul a deja été effectué
If Range("Y1").Value > 1 Then
Reponse = MsgBox("Desea recalcular?" & Chr(10) & Chr(10) & "En caso de varias fracciones y varios N° de lote del mismo producto, se debe llenar los campos manuelmente", vbYesNo, "Confirmación")
    If Reponse = vbYes Then
    For i = 2 To Nblignes
'    On Error GoTo PbLlenar2
    CT = Format(Cells(i, 14), "0.000")
        If Cells(i, 13).Value <> CT Then
            For Each Ctrl In Me.Controls
                If Ctrl.Name Like "TxtFrac" & i Then
                    If Ctrl.Value <> "" Then
                    Cells(i, 17).Value = Ctrl.Value
                    Else
                    GoTo PbLlenar2
                    End If
                ElseIf Ctrl.Name Like "TxtSellada" & i Then
                    If Ctrl.Value <> "" Then
                    Cells(i, 18).Value = Ctrl.Value
                    Else
                    GoTo PbLlenar2
                    End If
                ElseIf Ctrl.Name Like "TxtCantSell" & i Then
                    If Ctrl.Value <> "" Then
                    Cells(i, 19).Value = Ctrl.Value
                    Else
                    GoTo PbLlenar2
                    End If
                ElseIf Ctrl.Name Like "TxtCantPuchReg" & i Then
                    If Ctrl.Value <> "" Then
                    Cells(i, 20).Value = Ctrl.Value
                    Else
                    GoTo PbLlenar2
                    End If
                ElseIf Ctrl.Name Like "TxtPuchReg" & i Then
                    If Ctrl.Value <> "" Then
                    Cells(i, 21).Value = Ctrl.Value
                    Else
                    GoTo PbLlenar2
                    End If
                ElseIf Ctrl.Name Like "TxtCantPuchIReg" & i Then
                    If Ctrl.Value <> "" Then
                    Cells(i, 22).Value = Ctrl.Value
                    Else
                    GoTo PbLlenar2
                    End If
                ElseIf Ctrl.Name Like "TxtPuchIReg" & i Then
                    If Ctrl.Value <> "" Then
                    Cells(i, 23).Value = Ctrl.Value
                    Else
                    GoTo PbLlenar2
                    End If
               End If
            Next Ctrl
        End If
    Next
    ElseIf Reponse = vbNo Then
    Exit Sub
    End If
End If

For i = 2 To Nblignes
'On Error GoTo PbLlenar
CT = Format(Cells(i, 14), "0.000")
    For Each Ctrl In Me.Controls
        If Ctrl.Name Like "TxtEt" & i Then
        'calcul de la qtté tot d´etiquettes
        Cells(i, 24).Value = Cells(i, 19) + Cells(i, 21) + Cells(i, 23)
        ET = Cells(i, 24)
        Ctrl.Value = ET
        ETtot = ETtot + ET
        'calcul de la somme de poids selon fraccionement
        Verif = Format(Cells(i, 18) * Cells(i, 19) + Cells(i, 20) * Cells(i, 21) + Cells(i, 22) * Cells(i, 23), "0.000")
        Cells(i, 25) = Verif
        'verif
            If Cells(i, 14).Value = Cells(i, 25) Then
            Ctrl.BackColor = RGB(0, 205, 0)
            Else
            Ctrl.BackColor = RGB(255, 69, 0)
            End If
        VerifTot = VerifTot + Verif
        'calcul somme des poids theorique
        VerifTher = VerifTher + Cells(i, 14)
        ElseIf Ctrl.Name Like "TxtEtTot" Then
        Cells(i + 1, 24).Value = ETtot
        Ctrl.Value = ETtot
        Cells(i + 1, 25) = VerifTher
        Cells(i + 1, 26) = VerifTot
        End If
    Next Ctrl
Next
End If

For Each Ctrl In Me.Controls
      Select Case Ctrl.Tag
            Case Is = "2", Is = "3"
                Ctrl.Visible = True
      End Select
Next Ctrl

Exit Sub
PbLlenar2:
MsgBox "En caso de varias fracciones y varios N° de lote del mismo producto" & Chr(10) & "Llenar los campos manualmente", 32, "Mensaje Innformativo"
Exit Sub
PbLlenar:
MsgBox "Llenar todos los campos", 16, "Mensaje de error"
Exit Sub
PbLlenarModA:
MsgBox "Modula A no esta bien llenado", 16, "Mensaje de error"
End Sub


Je ne sais pas si quelquún va lire jusqu´a la fin mais je le felicite pour sa perseverance et sa determination! Et je m´excuse pour le mal de tete que j´ai pu occasionné par mon "style" d´ecriture de code!

Merci pour l´aide, je suis presque a la fin de mon projet et il ne me manque que cette partie pour faire mes essais!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751
3 mars 2017 à 07:57
Bonjour,

Je t'avais laissé avec un exemple d'Userform qui utilisais une ListBox multicolonnes plutôt qu'une multitude de textbox créés dynamiquement.
Qu'as tu fait de mon exemple?

Si tu l'avais conservé, il n'y avait rien de plus simple pour vider et remplir tes contrôles.
0
GermPeru Messages postés 172 Date d'inscription mercredi 7 décembre 2016 Statut Membre Dernière intervention 27 mars 2018
3 mars 2017 à 13:48
Bonjour Pijaku,

Lors de la conception de ma maccro l´utilisateur n´avait la possibilité de changer les valeur dans un cas seulement, maintenant avec ma nouvelle contrainte, l´utilisateur doit pouvoir ajouter ou mdifier les valeurs dans tous les cas . Donc si dans l´heure qui suit je n' arrive a arranger mes problemes. Je vais repartir non pas de zero mais avec la conception listbox; qui me permetra de rajouter/supprimer des lignes sans avoir besoi de réinitialiser le code. Concernant ton code avec list box je l´ai bien sur garder précieusement.

Merci
0
GermPeru Messages postés 172 Date d'inscription mercredi 7 décembre 2016 Statut Membre Dernière intervention 27 mars 2018
3 mars 2017 à 15:23
Je m' avoue vaincu avec les textbox et je repars avec ton idée de listbox et repenser la conception... affichage, impression, calcul.... J´en ai pour un petit moment.
0
thev Messages postés 1884 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 17 novembre 2024 691
Modifié par thev le 3/03/2017 à 13:26
Bonjour,

'***************************************************************************'
'mon message dérreur apparait a ce niveu avec msg de pb de
'Les types ne coincide pas
FraC = Ctrl.Value
'********************************************************

"Ctr.value" est une TextBox remplie par l'utilisateur. C'est donc a priori du caractère. "FraC" est de type nombre entier. Il faut donc faire une conversion
FraC = Val(Ctrl.Value)

 
0
GermPeru Messages postés 172 Date d'inscription mercredi 7 décembre 2016 Statut Membre Dernière intervention 27 mars 2018
3 mars 2017 à 13:54
Cela ne fonctionne malheureusement dans le cas ou je rajoute des lignes dans mon classeur; je pense que je dois unloader mon usf et le relancer; il y aurait bien la bidouillle de copier les données dans une nouvelle feuille et relancer mon usf depuis cette feuille... Ca fait vraiment bidouille. si je ne trouve pas mieux je vais repenser la conception depuis le debut avec la notion de listbox et non pas de txtbox comme me la suggérer Pijaku....
0