Bonjour à tous,
Je viens avec une erreur toute basique, mais je n'arrive pas à voir d'où vient le problème...
J'explique : en gros j'ai un fichier disponible sur l'intranet qui recense les employés, j'utilise cette base dans un de mes fichiers. S'ouvrant en lecture seul, je suis obligé de l'enregistrer sous afin d'utiliser les données.
Donc en gros : J'ouvre le classeur (1), à l'ouverture il va chercher l'annuaire, classeur(2),le sauvegarde dans un endroit bien précis sous un nom bien précis. Ensuite il copie une plage de cellule de la feuille (2) du classeur(2) vers ma feuille(1) du fichier d'origine classeur(1).
J'ai fait un fichier excel test qui fonctionne parfaitement avec une userfom et commandbutton pour le lancer, mais une fois dans le "vrai" et au « workbook_Open », ça me met l'erreur, alors que tous est bien nommé... Enfin voila le code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| Private Sub Workbook_Open()
Dim Chemin As String, Reponse As Boolean
Dim Classeur_Maitre As String
Dim Classeur_Slave As String
Application.DisplayAlerts = False
Classeur_Maitre = "Copie de Ficher Création.xls"
Application.Workbooks.Open ("http://xxx/yyyy/zzzz/Annuaire.xls")
ActiveWorkbook.SaveAs Filename:="S:\99-Commun-tmp\Clem F\Annuaire Save\annuaire.xls"
Classeur_Slave = "annuaire.xls"
Workbooks(Classeur_Slave).Sheets(2).Range("A1:Z1000").Copy Workbooks(Classeur_Maitre).Sheets(6).Range("A1")
Workbooks(Classeur_Slave).Close savechanges:=False
MsgBox "Annuaire à jour"
UserForm1.Show
End Sub |
Le message d’erreur se situe sur cette ligne là :
Workbooks(Classeur_Slave).Sheets(2).Range("A1:Z1000").Copy Workbooks(Classeur_Maitre).Sheets(6).Range("A1")
Alors que lorsque je passé ma souris sur les classeur slave ou maitre, il m’indique bien les bon .xls…
Voilà, si vous avez une idée de mon erreur… Merci !
Je précise que j'utilise les sheets(x) car le nom de la feuille de l'annuaire change régulièrement, mais ne change pas de place.
Partager