Bonjour tous le monde,
J'ai ce code qui marche très bien pour lire un fichier fermé
Option Explicit
Sub MonLecteurDeFichierFermes()
Dim FileToRead As Variant
Dim SheetToWrite As Worksheet
Dim SheetToRead As String
Dim FileName As String, PathString As String
Dim y As Integer, X As Integer
Dim Cell As Variant
Set SheetToWrite = ThisWorkbook.Worksheets("Facture")
ChDir "G:\code exemple excell\MonLecteurdeFichierFermes\Archive_devis"
FileToRead = Application.GetOpenFilename("Classeurs Excel,*.xls")
If FileToRead = False Then Exit Sub
y = Len(FileToRead)
For X = y To 1 Step -1
If Mid(FileToRead, X, 1) <> Chr(92) Then
FileName = Mid(FileToRead, X, 1) & FileName
Else
Exit For
End If
Next X
PathString = Left(FileToRead, Len(FileToRead) - Len(FileName))
' ici toutes les cellules a copier si j'ajoute la cellule "g15" il affiche le chemin du fichier
For Each Cell In Array("E12", "H12", "E13", "E14", "G14", "E15", "G15", "D18", "E18", "K18", _
"D19", "E19", "K19", "D20", "E20", "K20", "d21", "e21", "k21", _
"d22", "e22", "k22", "d23", "e23", "k23", "d24", "e24", "k24", _
"d25", "e25", "k25")
On Error GoTo Out
SheetToWrite.Range(Cell) = "='" & PathString & "[" & FileName & "]" & SheetToRead & "'!" & Cell
Next Cell
SheetToWrite.Range("L13") = "='" & PathString & "[" & FileName & "]" & SheetToRead & "'!L4"
Windows("classeur1.xls").Activate
Sheets("facture").Select
Range("l13").Select
Exit Sub
Out:
MsgBox "Opération Annulée"
End Sub
Je voudrais ajouter une cellule à copier, mais ce n'est pas le contenu de la cellule qui est copiée mais le chemin du fichier.
Si une bonne ame peut jeter un oeil et me dire ce qui ne vas pas je serais content
Merci d'avance
J'ai ce code qui marche très bien pour lire un fichier fermé
Option Explicit
Sub MonLecteurDeFichierFermes()
Dim FileToRead As Variant
Dim SheetToWrite As Worksheet
Dim SheetToRead As String
Dim FileName As String, PathString As String
Dim y As Integer, X As Integer
Dim Cell As Variant
Set SheetToWrite = ThisWorkbook.Worksheets("Facture")
ChDir "G:\code exemple excell\MonLecteurdeFichierFermes\Archive_devis"
FileToRead = Application.GetOpenFilename("Classeurs Excel,*.xls")
If FileToRead = False Then Exit Sub
y = Len(FileToRead)
For X = y To 1 Step -1
If Mid(FileToRead, X, 1) <> Chr(92) Then
FileName = Mid(FileToRead, X, 1) & FileName
Else
Exit For
End If
Next X
PathString = Left(FileToRead, Len(FileToRead) - Len(FileName))
' ici toutes les cellules a copier si j'ajoute la cellule "g15" il affiche le chemin du fichier
For Each Cell In Array("E12", "H12", "E13", "E14", "G14", "E15", "G15", "D18", "E18", "K18", _
"D19", "E19", "K19", "D20", "E20", "K20", "d21", "e21", "k21", _
"d22", "e22", "k22", "d23", "e23", "k23", "d24", "e24", "k24", _
"d25", "e25", "k25")
On Error GoTo Out
SheetToWrite.Range(Cell) = "='" & PathString & "[" & FileName & "]" & SheetToRead & "'!" & Cell
Next Cell
SheetToWrite.Range("L13") = "='" & PathString & "[" & FileName & "]" & SheetToRead & "'!L4"
Windows("classeur1.xls").Activate
Sheets("facture").Select
Range("l13").Select
Exit Sub
Out:
MsgBox "Opération Annulée"
End Sub
Je voudrais ajouter une cellule à copier, mais ce n'est pas le contenu de la cellule qui est copiée mais le chemin du fichier.
Si une bonne ame peut jeter un oeil et me dire ce qui ne vas pas je serais content
Merci d'avance