bgan
Messages postés12Date d'inscriptionjeudi 27 novembre 2008StatutMembreDernière intervention23 juin 2009
-
22 juin 2009 à 14:10
cs_Joh76
Messages postés47Date d'inscriptiondimanche 16 mars 2008StatutMembreDernière intervention14 octobre 2009
-
23 juin 2009 à 17:16
Bonjour,
Mon probleme est simple je désire récupéré la valeur de différentes cellules qui se trouvent dans les fichiers excel du répertoire courant.
J'ai écrit du code mais il plante au moment d'écrire dans le fichier courant: Subscript out of range.
je ne sais pas d'où vient l'erreur si quelqu'un pourrait m'aider.
Merci d'avance je met le code
Private Sub CommandButton2_Click()
Dim fso As Object, Dossier As Object, NomDossier
Dim Files As Object, File As Object, i As Integer
i = 7
Set fso = CreateObject("Scripting.FileSystemObject")
NomDossier = ThisWorkbook.Path
If NomDossier = "" Then Exit Sub
Set Dossier = fso.getfolder(NomDossier)
Set Files = Dossier.Files
If Files.Count <> 0 Then
'Sheets.Add
For Each File In Files
i = i + 1
cs_Joh76
Messages postés47Date d'inscriptiondimanche 16 mars 2008StatutMembreDernière intervention14 octobre 20093 23 juin 2009 à 17:16
Bonjour, pour ouvrir puis fermer un classeur tu peux procéder comme suit:
Public Classeur As Excel.Workbook
Workbooks.Open "C:\...\MonClasseur.xls"
Set Classeur = Workbooks("MonClasseur.xls")
Classeur.Close
set Classeur=Nothing
cs_Joh76
Messages postés47Date d'inscriptiondimanche 16 mars 2008StatutMembreDernière intervention14 octobre 20093 22 juin 2009 à 17:16
Bonjour,
Quand tu utilises la méthode range, la variable qui est entre ses parenthèse doit être du type string.
Essaye ça:
Dim strCell1 as string
Dim strCell2 as string
.../...
For Each File In Files
i = i + 1
strCell1="I" & i
strCell2="H" & i
ThisWorkbook.Sheets("Rapport").Range(strCell1).Value = Workbooks(File.Path).Sheets("Rapport").Range("E4").Value
Sheet3.Range(strCell2).Value = Workbooks(File.Path).Worksheet("Rapport").Range("C2").Value
Next