Exécution d'une macro via personal.xlsb : qu'elle objet ou autre façon de faire
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:
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