Bonjour,

Je ne programme pas souvent en vb sous excel.
Si quelqu'un pouvait venir à mon aide, cela serait sympa.
Je dois avoir un problème avec les champs numériques ou caractères.
J'ai simulé quelques lignes dans un fichier excel :
Sur ma première feuille, j'ai des données de num OF avec ls différents étapes de fabrication M1 M2 M3 ainsi que le poids correspondant P1 P2 P3 et sur le deuxième le détail pour l'of avec les différentes machines et pour chque le détail des productions.
Première feuille : Feuil1
OF M1 M2 M3 P1 P2 P3
000000001 PR5 BO2 PES 1000 800 700
000000002 FM3 S18 PES 2000 1800 1500
000000003 FM3 S18 PES 900 800 700
000000004 FM3 S21 PES 1000 950 900
000000005 FM3 S18 PES 700 650 600

Deuxième feuille : Feuil2
OF OPE MACH DATE SAISIE POSTE SAISIE POIDS
000000001 3 PES 11/12/2012 1 DATACOLL 2000
000000001 3 PES 11/12/2012 2 TINTIN 10000
000000001 3 PES 11/12/2012 3 TOTO 3000
000000001 3 PES 12/12/2012 2 TOTO 400
000000001 3 PES 12/12/2012 3 DATACOLL 5000

Je sélectionne le PES de la 1ère ligne et j'appuie sur le bouton recherche qui pointe sur une macro :

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
Sub Macro1()
    Dim tableau()
    Dim y, compteur As Long
    Dim L, C, v1
 
 Dim v2
    Dim Liste, NL As String
 
   Worksheets("Feuil1").Activate
 
    MsgBox ActiveCell.Value
 
    L = ActiveCell.Row
    C = ActiveCell.Column
    v1 = Cells(L, 1)
    v2 = Cells(L, C)
 
  Worksheets("Feuil2").Activate
 
    For y = 1 To Cells(Rows.Count, 1).End(xlUp).Row
 
    If Cells(y, 1) = v1 And Cells(y, 3) = v2 Then
            compteur = compteur + 1
 
 
     ReDim Preserve tableau(20, compteur)
            tableau(1, compteur) = Cells(y, 4)
            tableau(2, compteur) = Cells(y, 5)
            tableau(3, compteur) = Cells(y, 6)
            tableau(4, compteur) = Cells(y, 7)
 
        End If
    Next y
 
    NL = Chr(10) & Chr(13)
  ''  For y = 1 To UBound(tableau)
    For y = 1 To compteur
        Liste = Liste & tableau(1, y) & "     " & tableau(2, y) & "           " & tableau(3, y) & "           " & tableau(4, y) & NL
    Next y
    Worksheets("Feuil1").Activate
    MsgBox "Nbre de Saisie : " & compteur & "  Pour l'OF : " & v1 & NL & "Date            Poste          User       Pds     " & NL & Liste
End Sub
Et le résultat s'affiche sur la première feuille :
Petite fenêtre Microsoft EXcel Msg Box :

Nbre de Saisie : 5 Pour l'OF : 000000001
Date Poste User Pds
11/12/2012 1 DATACOLL 2000
11/12/2012 2 TINTIN 10000
11/12/2012 3 TOTO 3000
12/12/2012 2 TOTO 400
12/12/2012 3 DATACOLL 5000

Cela fonctionne bien sauf que mes poids ne sont pas alignés.
D'autre part si je veux rechercher mon of et le numéro de mon étape qui correspond à la cellule active -1 cela ne fonctionne pas.

Merci pour votre aide