bonsoir
je voudrais améliore mon code,je m'explique le code se trouve dans me feuille
j'ai associe a cette macro un bouton "cela fonctionne bien ,mais pour que cela soit plus visible et qu'il ne puisse pas être modifier je voudrais pouvoirs

  1. que la ligne 1 "titre des colonne"de la feuille reste figer et que lors de mon import je colle a partir de la ligne 2

  1. mettre en couleur gris de la colonne A a F en gris clair (colonne non modifiable ) et en orange la colonne G qui recoit des valeur via un userform et de H a T en gris

  1. que le feuille soit protéger en écriture des lors que mon userform est valider

merci de votre aide sur des bouts de codes que je pourrais exploiter,de plus je n'arrive pas a crée un export du même fichier en .csv

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
Sub Tst()
Dim Fichier As Variant
    ChDir ThisWorkbook.Path
    Fichier = Application.GetOpenFilename("Text Files (*.csv), *.csv")
    If Fichier <> False Then
        Lire Fichier
    End If
End Sub
 
Sub Lire(ByVal NomFichier As String)
 
Dim Chaine As String
Dim Ar() As String
Dim I As Long
Dim iRow As Long, iCol As Long
Dim NumFichier As Integer
Dim Separateur  As String * 1
 
    '  Séparateur Point Virgule
    Separateur = ";"
 
    Cells.Clear
    Application.ScreenUpdating = False
    NumFichier = FreeFile
    iRow = 1
 
    Open NomFichier For Input As #NumFichier
        Do While Not EOF(NumFichier)
            iCol = 1
            Line Input #NumFichier, Chaine
            Ar = Split(Chaine, Separateur)
            For I = LBound(Ar) To UBound(Ar)
                Ar(I) = Replace(Ar(I), "M-", "")
                Cells(iRow, iCol) = Ar(I)
                iCol = iCol + 1
            Next
 
            Select Case Cells(iRow, 1)
                Case Is = Cells(iRow, 2)
 
        End Select
 
            iRow = iRow + 1
        Loop
    Close #NumFichier
 
    Application.ScreenUpdating = True
End Sub
merci par avance