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 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
| Sub panneaux1div1SAUinstrum()
'
Selection.AutoFilter Field:=17, Criteria1:="E" 'filtre sur la révision
Selection.AutoFilter Field:=65, Criteria1:="KSC0111PP-" ' filtre sur le panel
Selection.AutoFilter Field:=37, Criteria1:="SAU" ' filtre le système
Selection.AutoFilter Field:=35, Criteria1:="Div1" ' filtre sur la division
Selection.AutoFilter Field:=6, Criteria1:="instrum" ' filtre sur le type de signal
'variables
Dim a1 As Integer
Dim a2 As Integer
Dim ligne As Long
a1 = Application.Subtotal(9, [BZ:BZ]) 'total des brins de la colonne BZ des cellules filtrées
Select Case a1
Case 1, 2
Range("CA3:CA65536").SpecialCells(xlVisible).Value = 1070 ' prendre un cable 1 Paire
Range("CB3:CB65536").SpecialCells(xlVisible).Value = "1SAU11101CAM" ' écrit le numéro du câble
Case 3, 4
Range("CA3:CA65536").SpecialCells(xlVisible).Value = 1071 ' prendre un cable 2 Paires
Range("CB3:CB65536").SpecialCells(xlVisible).Value = "1SAU11101CAM" ' écrit le numéro du câble
Case 4 To 12
Range("CA3:CA65536").SpecialCells(xlVisible).Value = 1072 ' prendre un cable 6 Paires
Range("CB3:CB65536").SpecialCells(xlVisible).Value = "1SAU11101CAM" ' écrit le numéro du câble
Case 13 To 24
Range("CA3:CA65536").SpecialCells(xlVisible).Value = 1073 ' prendre un cable 12 Paires
Range("CB3:CB65536").SpecialCells(xlVisible).Value = "1SAU11101CAM" ' écrit le numéro du câble
Case 25, 26
a2 = Cells(65536, 78).End(xlUp).Value
If a2 = 1 Then
MsgBox (a2)
Range("CA3:CA65536").SpecialCells(xlVisible).Value = 1073 ' prendre 1 câble 12 paires
Range("CB3:CB65536").SpecialCells(xlVisible).Value = "1SAU11101CAM" ' écrit le numéro du câble
Cells(65536, 79).End(xlUp).Value = 1070
Cells(65536, 80).End(xlUp).Value = "1SAU11102CAM"
Else
MsgBox (a2)
Range("CA3:CA65536").SpecialCells(xlVisible).Value = 1073 'prendre un câble 12 paires
Range("CB3:CB65536").SpecialCells(xlVisible).Value = "1SAU11101CAM" 'écrit le numéro du câble
ligne = AvantDerniereLigne(Worksheets("Database").Range("BZ:BZ")) ' adaptation du code de Mercatog
Range("CA", "& ligne") = 1070 'prendre un câble 1 paire (Problème)
Range("CB", "& ligne") = "1SAU11102CAM" 'écrit le numéro du câble (Problème)
Cells(65536, 79).End(xlUp).Value = 1071 'prendre un câble 1 paire
Cells(65536, 80).End(xlUp).Value = "1SAU11103CAM" 'écrit le numéro du câble
End If
End Select
End Sub
Function AvantDerniereLigne(ByVal Rng As Range) As Long
Dim Str As String
Dim Tb
Str = Union(Rng.SpecialCells(xlCellTypeConstants), Rng.SpecialCells(xlCellTypeFormulas)).SpecialCells(xlCellTypeVisible).Address ' ligne surligné en jaune par le débogage...
Tb = Split(Str, ":")
Str = Tb(UBound(Tb))
If InStr(Str, ",") Then
Tb = Split(Str, ",")
AvantDerniereLigne = Val(Split(Tb(UBound(Tb) - 1), "$")(2))
Else
AvantDerniereLigne = Val(Split(Tb(UBound(Tb)), "$")(2)) - 1
End If
AvantDerniereLigne = Application.Max(AvantDerniereLigne, 1)
End Function |
Partager