'Dim LigneActive As Long 'dans la feuille à lire
'Dim DerniereLigne As Long 'dans la feuille à lire
Dim FileDir As String
Dim Filenumber As String
Const MotdePasse = "moustike"
'--------remarque skoobi: ligne suivante pour mes tests
'Const FilePath = "F:\VBA\VBA excel\Forum Excel-Download"
Const FilePath = "C:\Documents and Settings\JEAN_MICHEL\Bureau\" '<<< Change this to your directory
Const FileOri = "C:\Documents and Settings\JEAN_MICHEL\Bureau\" '<<< Change this to your directory
Sub Macro4()
'déclararion des variables
Dim ShSource As Worksheet, ShSuivi As Worksheet, LineNbr As Range, TrouveLineNbr As Range, Lig As Long
Set ShSuivi = ThisWorkbook.Sheets("General")
'--------remarque skoobi: pourquoi? le fichier n'est pas modifié à l'ouverture
' ActiveWorkbook.Save
FileDir = FilePath & "Chine\" & "Bill.xls"
'--------remarque skoobi: ligne suivante pour mes tests
' FileDir = FilePath & "\Bill.xls"
Workbooks.Open Filename:= _
FileDir, Password:="OCH12W"
'--------remarque skoobi: ligne suivantes inutiles
' Sheets(Array("General")).Select
'
' Range("A2").Select
' While ActiveCell.value <> Empty
' LigneActive = ActiveCell.Row 'n° de la ligne "à lire"
' If Cells(LigneActive, 5).value = "BILL" Then
' DerniereLigne = LigneActive
'écriture dans la feuille "General"
' With Workbooks("SUIVI COMPLET.xls").Sheets("General")
Set ShSource = ActiveWorkbook.Sheets("General")
With ShSource
'on déprotège la feuille
.Unprotect "moustike"
'pour chaque "Line NBRE" visible
For Each LineNbr In .Range("A2", .[A65536].End(xlUp)).SpecialCells(xlCellTypeVisible)
'on récupère la ligne
LigSource = LineNbr.Row
'on cherche ce "Line NBRE" dans le fichier "suivi"
Set TrouveLineNbr = ShSuivi.Range("B2", ShSuivi.[B65536].End(xlUp)).Find(LineNbr, LookIn:=xlValues, lookat:=xlWhole)
'si ce "Line NBRE" est trouvé
If Not TrouveLineNbr Is Nothing Then
'on récupère la ligne sur laquelle les données seront collées
Lig = TrouveLineNbr.Row
'et là le copier/coller des colonnes souhaitées
.Cells(LigSource, 24).Copy ShSuivi.Cells(Lig, 25)
.Cells(LigSource, 26).Copy ShSuivi.Cells(Lig, 27)
.Cells(LigSource, 28).Copy ShSuivi.Cells(Lig, 29)
.Range(.Cells(LigSource, 30), .Cells(LigSource, 33)).Copy ShSuivi.Cells(Lig, 31)
.Cells(LigSource, 35).Copy ShSuivi.Cells(Lig, 36)
.Cells(LigSource, 37).Copy ShSuivi.Cells(Lig, 38)
.Cells(LigSource, 39).Copy ShSuivi.Cells(Lig, 40)
.Cells(LigSource, 41).Copy ShSuivi.Cells(Lig, 42)
.Cells(LigSource, 43).Copy ShSuivi.Cells(Lig, 44)
.Cells(LigSource, 45).Copy ShSuivi.Cells(Lig, 46)
.Cells(LigSource, 47).Copy ShSuivi.Cells(Lig, 48)
.Range(.Cells(LigSource, 49), .Cells(LigSource, 51)).Copy ShSuivi.Cells(Lig, 50)
.Range(.Cells(LigSource, 53), .Cells(LigSource, 60)).Copy ShSuivi.Cells(Lig, 54)
End If
Next
'on protège la feuille
.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="moustike"
End With
' End If
' ActiveCell.Offset(1, 0).Activate
' Wend
Workbooks("Bill.XLS").Close SaveChanges:=False
ShSuivi.Cells.EntireColumn.AutoFit
End Sub