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
|
Function Ouvre(CheminClasseur As String) As Workbook
Dim ClasseurSource As Workbook, ClasseurCible As Workbook
Ouvre = Null
If VerifOuvertureClasseur(CheminClasseur) Then
MsgBox "Classeur " & CheminClasseur & " déja ouvert." 'Que faire si déjà ouvert?
Else
Set ClasseurSource = Application.Workbooks.Open(CheminClasseur)
Application.DisplayAlerts = False
Ouvre = ClasseurCible
End If
End Function
Function VerifOuvertureClasseur(Fichier As String) As Boolean
Dim x As Integer
On Error Resume Next
x = FreeFile()
Open Fichier For Input Lock Write As #x 'préciser les options d'accès au fichier, ici verouillé en écriture...
Close x
If Err.Number = 0 Then VerifOuvertureClasseur = False
If Err.Number = 70 Then VerifOuvertureClasseur = True
On Error GoTo 0
End Function
Sub CopierCellule(FichierSource As String, NbLigneSource As Integer, NbColonneSource As Integer, NbLigneDest As Integer, NbColonneDest As Integer)
Dim valeur As Integer
Dim classeur As Workbook
classeur = Ouvre(FichierSource)
classeur.Worksheets(1).Activate 'j active la page ICI EST LE PB
valeur = Workbooks(FichierSource).Sheets("XXX").Cells(NbLigneSource, NbColonneSource).Value ' je cherche dans longlet XXX la valeur de la cellule
Workbooks("sortie.xls").Worksheets("XXX").Cells(NbLigneDest, NbColonneDest).Value = valeur
Workbooks("sortie.xls").close
End Sub
' Recherche des éléments nécessaires dans le fichier Excel d'analyses
Sub OnCopie()
' ici on essaie de copier différents fichier1 dans sortie.xls mon fichier courant qui contient la macro
Call CopierCellule("fichier1.xls", 5, 5, 2, 5)
Call CopierCellule("fichier2.xls", 5, 5, 3, 8)
End Sub |
Partager