Bonjour à tous et bonne année 2015

J'ai un petit problème sur lequel je cale

En effet, j'ai un userform qui me sert à valider des données.

Une fois les vérifications effectuées, je recopie les contrôles de mon userform sur la première ligne libre d'une feuille de calcul.

le reste des vérifs se trouvent dans le userform même

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
 
Private Sub validerarticle_Click()
Dim j As Integer
'vérifications si prix d'achat > 0
If naprixachat > 0 Then
    'vérifications si pv1/2/3 ne sont pas vides
    If napv1 > 0 Then
        If napv2 > 0 Then
            If napv3 > 0 Then
            Else
                MsgBox "Le prix de vente 3 ne peut être égal à 0"
                napv3.SetFocus
            End If
        Else
            MsgBox "Le prix de vente 2 ne peut être égal à 0"
            napv2.SetFocus
        End If
    Else
        MsgBox "Le prix de vente 1 ne peut être égal à 0"
        napv1.SetFocus
    End If
Else
    MsgBox "Le prix d'achat ne peut être égal à 0"
    naprixachat.SetFocus
End If
'MsgBox nacatégorie
j = Workbooks("nouvelle_facture.xlsm").Worksheets("fencours").[A65000].End(xlUp).Row + 1
 
Workbooks("nouvelle_facture.xlsm").Worksheets("fencours").Cells(j, 1) = nacodebarre.Value
Workbooks("nouvelle_facture.xlsm").Worksheets("fencours").Cells(j, 2) = naquantité.Value
Workbooks("nouvelle_facture.xlsm").Worksheets("fencours").Cells(j, 3) = nacatégorie.Value
Workbooks("nouvelle_facture.xlsm").Worksheets("fencours").Cells(j, 4) = namarque.Value
Workbooks("nouvelle_facture.xlsm").Worksheets("fencours").Cells(j, 5) = namodèle.Value
Workbooks("nouvelle_facture.xlsm").Worksheets("fencours").Cells(j, 6) = naserialnumber.Value
Workbooks("nouvelle_facture.xlsm").Worksheets("fencours").Cells(j, 7) = naprixachat.Value
Workbooks("nouvelle_facture.xlsm").Worksheets("fencours").Cells(j, 8) = narecupel.Value
Workbooks("nouvelle_facture.xlsm").Worksheets("fencours").Cells(j, 9) = nabebat.Value
Workbooks("nouvelle_facture.xlsm").Worksheets("fencours").Cells(j, 10) = naauvibel.Value
Workbooks("nouvelle_facture.xlsm").Worksheets("fencours").Cells(j, 11) = nareprobel.Value
Workbooks("nouvelle_facture.xlsm").Worksheets("fencours").Cells(j, 12) = newfacture.grossiste
Workbooks("nouvelle_facture.xlsm").Worksheets("fencours").Cells(j, 13) = newfacture.numfacture
Workbooks("nouvelle_facture.xlsm").Worksheets("fencours").Cells(j, 14) = newfacture.datefacture
Workbooks("nouvelle_facture.xlsm").Worksheets("fencours").Cells(j, 15) = nagarantie.Value
Workbooks("nouvelle_facture.xlsm").Worksheets("fencours").Cells(j, 16) = nacodearticle.Value
Workbooks("nouvelle_facture.xlsm").Worksheets("fencours").Cells(j, 17) = napv1.Value
Workbooks("nouvelle_facture.xlsm").Worksheets("fencours").Cells(j, 18) = napv2.Value
Workbooks("nouvelle_facture.xlsm").Worksheets("fencours").Cells(j, 19) = napv3.Value
'newfacture.articlesrestants = newfacture.articlesrestants - naquantité
Unload encodagearticles
laRecherche.Show
End Sub
Les cellules se remplissent correctement sauf la colonne 3

Je fais un MSGBOX juste avant et il m'affiche correctement la catégorie

Parfois, c'est la colonne 4 qui ne se remplit pas

A noter que je vois dans le userform la bonne valeur et que je ne la modifie même pas (listbox)

j'ai essayé sans les .value et ça me donne la même chose (soit colonne 3 ou 4 qui ne se remplit pas)

Parfois, dans le MSGBOX, j'ai un texte vide comme si je perdais la valeur du contrôle alors que je vois à l'écran

qu'ai je loupé ?

Merci d'avance

update

lors des 5 derniers tests, c'est toujours la colonne 4 qui ne se remplit pas