fonction getobjet ??

  • Initiateur de la discussion Initiateur de la discussion celtic
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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é
 
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
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
717
Réponses
4
Affichages
585
Réponses
1
Affichages
270
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
2
Affichages
334
Retour