Variable commune à 2 Userform

Sujet:

Problème de recherche de date du a une erreur de format d'une réf (Texte ou Nombre)

Et

Variable commune à 2 Userform

Bonjour,

Je m'excuse par avance, il m'est impossible de mettre le fichier ci-joint.

Voila ma situation,

J'ai crée un fichier pour les suivit de Fabrication pour mon atelier,

Il est constitué de 2 user forme:

1er : début de fabrication avec 3 principales infos ( Référence, N°de Lot, Date)

Une fois le userform remplie cela crée une ligne dans une basse de donnée.

'Userforme 1 Début de FAB
'Copier les info dans la base de donnée

Sheets("SAISE").ListObjects(1).ListRows.Add
dlt = Sheets("SAISE").Range("e1048576").End(xlUp).Row     
           Sheets("SAISE").Range("e" & dlt) = ComboBox1      
'...
' Et copier aussi les infos dans un tableau de bord pour voir les encours de fabrication.                        

Je vous passe les détails du code, je met juste ce qui me parait utile pour comprendre la situation

Un fois la fabrication fini, il faut rentré les quantités ect... avec le 2 ème userform "Fin de fab" et donc reliée les informations de fin de Fab à celle de début de Fab dans la base de donnée.

Ici arrive mes difficultés,

Pour relier les données entre elle, je passe par des boucles qui retrouves les lignes de tableau des encours sur la feuille "PRODUCTION" et aussi dans la base de données feuille" SAISIE"

Private Sub Fin_de_la_fabrication_Click()

Dim reponse As Byte
Dim On_Off As Byte
Dim Encours As Long, Resultat1 As Long
Dim ref As String, lot As String

ref = ComboBox1.Value
lot = ComboBox5.Value

With Sheets("PRODUCTION")
        For Encours = 10 To .Range("B" & Rows.Count).End(xlUp).Row
            If .Range("B" & Encours) = ref And .Range("E" & Encours) = lot Then
                 Resultat1 = Encours
                 Exit For
            End If
        Next Encours

    'RECHERCHE LES LIGNES CORESPONDANTE
    

Mon bug arrive ici : Si ma Ref (Combobox1) est seulement un nombre Ex "45745" ma variable JFab ne fonction pas

mais si la Ref est "PRO45745" tout fonctionne correctement. Sans doute un problème de format.

  
   Dim Lig As Long, Resultat As Long, ligEncours As Long, dl As Long, i As Long, compteur As Long, ligP As Long
Dim JFab As Date

     With Sheets("PRODUCTION")
        For ligEncours = 11 To .Range("D" & Rows.Count).End(xlUp).Row
            If .Range("B" & ligEncours) = ComboBox1.Value And .Range("E" & ligEncours) = ComboBox5.Value Then
                 Resultat = ligEncours
                 Exit For
            End If
        Next ligEncours
    End With

    ref = ComboBox1.Value
    lot = ComboBox5.Value
    JFab = Sheets("PRODUCTION").Range("D" & ligEncours)

Msgbox JFab 'Verif si date est bonne ou 00:00:00 donc il trouve pas la ligne, alors que sur mon tableau où il cherche l'info la date est bonne. 

    With Sheets("SAISE")
        For Lig = 2 To .Range("E" & Rows.Count).End(xlUp).Row
            If .Range("E" & Lig) = ref And .Range("I" & Lig) = lot And .Range("C" & Lig) = JFab Then
                 Resultat = Lig
                 Exit For
            End If
        Next Lig
    End With

        Sheets("SAISE").Range("M" & Lig) = TextBox4.Value
....
'Ect

Autres sujet : A mon goûte il y a bien trop de boucles pour retrouve les bonne lignes pour la liaison, (çà commence déjà a mettre du temps)

Ne serai t'il pas plus simple de garde en mémoire le numéro de la ligne du userform Début de Fab?

En sachant que j'ai plusieurs encours en même temps. Et que si je met dans une cellule le N° de ligne(la var "dlt") dans le tableau des encours. Je vais devoir réglé le problème précédant avec JFab

Merci de m'avoir lu, Je pense que ça ne doit pas être facile a comprendre, car je code comme un noob.

Je début en VBA, c'est mon 1er gros projet, j'apprend sur le tas et grâce a vous.

Alors un grand merci ; )

Bonne journée !!

Rechercher des sujets similaires à "variable commune userform"