Bonjour,

Ma question est un peut bête, je débute sur VBA et je n'arrive pas à faire ce que je veux ! Mon problème est le suivant :

Je suis entrain de créer un outil de gestion des stocks. Des références (FR1, FR2, etc) sont achetées neuves et sont rangées dans la feuille "MIF". Une fois usées, on les envois en "regarnissage". Elles sont transférées dans la feuilles "MIR". Ce que j'aimerais, c'est que quand on envoie une ref en regarnissage, soit :
- si elle n'a jamais été envoyée en regarnissage et donc une nouvelle ligne se créer dans mon tableau (çà j'y arrive !)
- si elle a déjà été envoyée en regarnissage, alors dans mon tableau page "MIR" le nombre de fois qu'elle est passée en regarnissage apparait (mon problème est la !!)

Mon fichier est en pièce jointe.
Gestion fraise pcd 4.xls

Les lignes de codes qui me posent problème sont situées dans l'userform "USF_A" :

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
Private Sub B_valid4_Click()
Date_mod = Range("base!C1").Value
Dim NbR As Long
 
 
  '--- Suppression fraise dans MIF
 
  '--- Transfert Formulaire dans MIF
   Sheets("MIF").Cells(ligne, 1) = Me.TextBox6
   Sheets("MIF").Cells(ligne, 4) = CDbl(Me.TextBox4)
   Sheets("MIF").Cells(ligne, 7) = UCase(Me.TextBox3)
   Sheets("MIF").Cells(ligne, 2) = UCase(Me.TextBox8)
   Sheets("MIF").Cells(ligne, 3) = UCase(Me.TextBox9)
   Sheets("MIF").Cells(ligne, 9) = CDbl(Me.TextBox2)
   Sheets("MIF").Cells(ligne, 10).FormulaR1C1 = "=RC[-6]-RC[-1]"
   xQ = Sheets("MIF").Cells(ligne, 10).Value
   Sheets("MIF").Cells(ligne, 4) = xQ
   Me.TextBox4 = Sheets("MIF").Cells(ligne, 4)
   Me.TextBox5 = Sheets("MIF").Cells(ligne, 8)
   Sheets("MIF").Cells(ligne, 9).ClearContents
   Sheets("MIF").Cells(ligne, 10).ClearContents
 
   '--- Ajout fraise dans MIR
 
Dim Tablo_Nb_Regarnie
    Tablo_Nb_Regarnie = Sheets("MIR").Range(Cells(2, 1), Cells(Rows.Count, 2).End(xlUp))
        For i = LBound(Tablo_Nb_Regarnie, 1) To UBound(Tablo_Nb_Regarnie, 1)
 
            If TextBox6.Text = Sheets("MIR").Cells(i, 1) Then
 
                NbR = NbR + TextBox2.Value
                Sheets("MIR").Cells(i, 9).Value = NbR
 
            Else '--- Positionnement dans la base MIR
                ligne = Sheets("MIR").[A65000].End(xlUp).Row + 1
                '--- Transfert Formulaire dans MIR
                Sheets("MIR").Cells(ligne, 1) = Me.TextBox6
                Sheets("MIR").Cells(ligne, 2) = UCase(Me.TextBox8)
                Sheets("MIR").Cells(ligne, 3) = UCase(Me.TextBox9)
                Sheets("MIR").Cells(ligne, 4) = UCase(Me.TextBox2)
                Sheets("MIR").Cells(ligne, 5) = UCase(Me.TextBox7)
                Sheets("MIR").Cells(ligne, 7) = UCase(Me.TextBox3)
                Sheets("MIR").Cells(ligne, 8) = Date_mod
                Sheets("MIR").Cells(ligne, 9) = TextBox2.Value
 
            End If
        Next i
   Call Tri
 
  End Sub
Ne vous occupez pas de la petite fenêtre qui apparait au lancement, vous pouvez la fermer directement.

Si vous avez des petits Tips pour améliorer mon fichier, je suis preneur. Bien-sûr, j'y travail toujours dessus, il n'est pas terminé !
Merci pour votre aide !

PS : les valeurs dans mes tableaux sont fausses, vous pouvez les modifier comme vous voulez.