fonction getobjet ??

C

celtic

Guest
BONJOUR A TOUS !!!!!

J'ai l'impression que je mis prend comme un manche...il ne reconnait pas la variable CLASSEURS, je ne sais pas si la syntaxe de getobjet est bonne ????

merci de vos réponses...


Sub OUVRIRFICHIER1()
Dim chemin As String
Dim REF As String
Dim total_heure As Integer
Dim heure As Integer
Dim trouve As Range
Dim P(7) As String
Dim i As Integer
Dim t As Integer
Dim CLASSEURS As Workbook

P(1) = Range("B2").Value
P(2) = Range("D2").Value
P(3) = Range("F2").Value
P(4) = Range("H2").Value
P(5) = Range("J2").Value
P(6) = Range("L2").Value
P(7) = Range("N2").Value

For i = 1 To 7

chemin = "\\Cfao1\Transfer\essai-bilan\" & P(i) & ".xls"
Set CLASSEURS = GetObject(chemin)
For t = 1 To 3
With CLASSEURS.Sheets("feuil(t)").Range("B10:H20")
REF = UserForm1.Label9.Caption
Set trouve = .Find(REF)
If Not trouve Is Nothing Then
trouve.Offset(0, 6).Value = heure
total_heure = total_heure + heure
End If
End With
Next t

Next i

End Sub
 
C

celtic

Guest
Bonjour et merci pour ta réponse michel...j'ai fait la modification ce n'est plus le meme message....

erreur définie par l'application ou par l'objet


With CLASSEURS.Sheets("feuil(t)").Range("B10:H20")


il ne reconnait pas CLASSEURS et je ne sais tjs pas pourkoi....on avance on avance

merci pour la réactivité
 
M

michel_m

Guest
Re

Un truc parait bizzarre:

Sheets("feuil(t)")

"t" est une variable
il faudrait donc écrire

sheets("feuil" & t)

ou plus simplement

sheets(t)

à essayer....

Et n'oublie pas à la fin d'écrire

set classeurs=nothing


En espérant que...

A+
Michel
 
M

michel

Guest
bonjour Cletic , Bonjour Michel ( cher ami et homonyme )


chez moi la procedure initiale fonctionne bien ( ci-dessous la version simplifiée pour mes tests )


Sub OUVRIRFICHIER1()
Dim Chemin As String
Dim t As byte
Dim CLASSEURS As Workbook
Dim Trouve As Range

Chemin = "C:\Documents and Settings\michel\dossier\general\excel\leFichier.xls"
Set CLASSEURS = GetObject(Chemin)
For t = 1 To 3
With CLASSEURS.Sheets("Feuil" & t).Range("B10:H20")
Set Trouve = .Find("le forum xld")
If Not Trouve Is Nothing Then MsgBox "ça marche ! "
End With
Next t

CLASSEURS.Close 'ne pas oublier de fermer le classeur
End Sub


après quelques tests , le seul cas de figure ou cela bloque , est quand le nom de la feuille ne correspond pas à ce qui est défini dans la macro :
dans l'exemple les feuilles doivent etre nommées Feuil1 , Feuil2 et Feuil3


j'espere que cela pourra t'aider

bonne soiree
MichelXld
 

Statistiques des forums

Discussions
312 497
Messages
2 088 994
Membres
104 000
dernier inscrit
dinelcia