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 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
| Option Compare Database
Public Sub PreparationTest()
'Déclaration de la variable
Dim spdTableau As OWC10.Spreadsheet
' Affectation de la variable
Set spdTableau = Me.Spreadsheet_Test.Object
'Préparation de l'aspect
With spdTableau
.DisplayToolbar = False ' on désactive la barre d'outils
With .Windows(1)
.DisplayHorizontalScrollBar = False ' on désactive la barre de défilement horizontale
.DisplayWorkbookTabs = False ' on désactive la visualisation des onglets
.DisplayColumnHeadings = False ' on désactive les entêtes de colonnes
.DisplayRowHeadings = False ' on désactive les entêtes de lignes
End With
End With
End Sub
Public Sub RemplirFeuille()
'Déclaration des variables
Dim spdTableau As OWC10.Spreadsheet
Dim Rcdset As DAO.Recordset
Dim strSQL As String
Dim i As Integer
'Affectation des variables
Set spdTableau = Me.Spreadsheet_Test.Object
strSQL = "SELECT Table_Product.Product, Table_Size.Size, Table_BSEN.[BS EN Specification]" & _
"FROM Table_Size INNER JOIN (Table_BSEN INNER JOIN Table_Product ON" & _
"Table_BSEN.[No BS EN] = Table_Product.[Code BS EN]) ON Table_Size.[No Size] = Table_Product.[Code Size];"
Set Rcdset = CurrentDb.OpenRecordset(strSQL)
'On vide la feuille de toute données
spdTableau.Cells.Delete
spdTableau.Windows(1).FreezePanes = False
'Choix des entêtes de colonnes
With spdTableau
.Range("A1").Value = "Product"
.Range("B1").Value = "Size"
.Range("C1").Value = "BS EN Specification"
End With
'Couleur de l'entête des colonnes
spdTableau.Range("A1").Interior.Color = RGB(175, 175, 175)
spdTableau.Range("B1").Interior.Color = RGB(175, 175, 175)
spdTableau.Range("C1").Interior.Color = RGB(175, 175, 175)
'On fixe volets pour entête fixe
spdTableau.Range("A2").Select
spdTableau.Windows(1).FreezePanes = True
'Remplissage de la feuille
i = 2
While Not Rcdset.EOF
With spdTableau
.Range("A" & i).Value = Rcdset("Product")
.Range("B" & i).Value = Rcdset("Size")
.Range("C" & i).Value = Rcdset("BS EN Specification")
End With i = i + 1
Rcdset.MoveNext Wend
'Forme
With spdTableau.Range("A1" & spdTableau.Range("A1").End(xlDown).Row)
.Columns.AutoFit
.Borders.LineStyle = xlContinuous
End With
'Libération des variables
Rcdset.Close
Set Rcdset = Nothing
Set spdTableau = Nothing
End Sub
Public Sub CouleurRecordset()
' Délaration des variables
Dim spdTableau As OWC10.Spreadsheet
Dim i As Integer
' Affectation des variables
Set spdTableau = Me.Spreadsheet_Test.Object
' Condition et mise en forme
For i = 2 To spdTableau.Range("A2").End(xlDown).Row
Select Case spdTableau.Range("A" & i).Value
Case "EN 1600"
spdTableau.Range("A" & i).Interior.Color = RGB(0, 255, 0) 'couleur vert
Case "EN ISO 3580"
spdTableau.Range("A" & i).Interior.Color = RGB(0, 255, 0)
Case "EN ISO 14172"
spdTableau("A" & i & ":E" & i).Interior.Color = RGB(0, 255, 0)
Case "EN ISO 14343"
spdTableau("A" & i & ":E" & i).Interior.Color = RGB(0, 255, 0)
Case "EN ISO 17633"
spdTableau("A" & i & ":E" & i).Interior.Color = RGB(0, 255, 0)
Case "EN ISO 17634"
spdTableau("A" & i & ":E" & i).Interior.Color = RGB(0, 255, 0)
Case "EN ISO 18274"
spdTableau("A" & i & ":E" & i).Interior.Color = RGB(0, 255, 0)
Case "EN ISO 21952"
spdTableau("A" & i & ":E" & i).Interior.Color = RGB(0, 255, 0)
Case Else
spdTableau("A" & i & ":E" & i).Interior.Color = RGB(255, 0, 0) 'couleur rouge
End Select
Next i
'Libération des variables
Set spdTableau = Nothing
End Sub |
Partager