Bonjour a vous,
J'ai présentement des macros qui sont a même les documents de travail. Afin de faciliter la gestion et des mise a jour des modules, j'ai décidé de mettre toute mes macro dans le personal.xlsb qui s'ouvre a chaque fois que excel est déployé.
Je frappe maintenant un embuche. J'ai des documents (modeles) auquel de demande d'ouvrir un onglet d'un autre fichier copier cette onglet dans le modele et fermé celui-cié
Étant donné dans ma sub actuel, j'utilise thisworkbook, le code ne semble pas fonctionné (il tente de pointer vers le personal.xlsb, ce qui est logique). Si j'utilise activeworbook, la meme chose se produit.
ESt-ce qu'il y a un autre objet auquel je devras utilisé où Est-ce qui il y a un autre méthode qui serais moins compliqué d'Avoir mes codes a un seul endroit ???
Je vous mets le code en question
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 sub updatedata() Application.ScreenUpdating = False 'Si data exist comme onglet, on le détruit If sheetExists("data") Then Application.DisplayAlerts = False Sheets("data").Delete Application.DisplayAlerts = True End If 'Si le lexique est déjà ouvert le choisir et copier l'onglet data If IsFileOpen("le nom du fichier") Then Workbooks("lexique des abréviations.xlsm").Sheets("data").Copy After:=ThisWorkbook.Sheets(3) Sheets("Travail").Select Else 'Si le lexique n'Est pas ouvert, l'ouvrir, copier data et le fermer Workbooks.Open Filename:="lexique des abréviations.xlsm" 'qui est le fichier auquel contient l'onglet data que je veux copier Sheets("data").Copy After:=ThisWorkbook.Sheets(3) Sheets("Travail").Select Windows("lexique des abréviations.xlsm").Close End If End Sub
merci pour vos suggestions et aides
Partager