tu peux masquer la colonne G à la fin du traitement
Option Base 1
Sub rafraichir()
Worksheets("Base données").Range("B1").CurrentRegion.Offset(1, 0).Clear
tablo "TableauVisHAcier", 5
tablo "TableauVisHInox", 5
tablo "TableauVisHLaiton", 4
' coloriage
With Worksheets("Base données")
For i = 2 To .Range("B" & Rows.Count).End(xlUp).Row
If .Range("G" & i) <> "" Then .Range("F" & i).Interior.Color = .Range("G" & i)
Next
End With
End Sub
Sub tablo(rng As String, depuis As Integer)
Dim f As Worksheet, resultat()
Set f = Worksheets("Vis tête H")
tbl = Range(rng).Value
matiere = Split(tbl(1, 1), Chr(10))(0)
ReDim resultat(UBound(tbl) * UBound(tbl, 2), 6)
k = 1
d = ""
For i = 3 To UBound(tbl, 2)
For j = depuis To UBound(tbl)
resultat(k, 1) = "H screw"
resultat(k, 2) = matiere
resultat(k, 3) = tbl(1, i)
If tbl(j, 2) <> "" Then
d = tbl(j, 2)
End If
resultat(k, 4) = d
resultat(k, 5) = tbl(j, i)
If tbl(j, i) <> "" Then resultat(k, 6) = Range(rng).Cells(j, i).Interior.Color
k = k + 1
Next
Next
Worksheets("Base données").Range("B" & Rows.Count).End(xlUp).Offset(1, 0).Resize(UBound(resultat), UBound(resultat, 2)) = resultat
End Sub