Bonjour à tous,
Pour mon stage informatique, je dois modifier un logiciel déjà existant codé en VBA. La problématique est la suivante :
-Chaque tableur excel possède un certain nombre d'onglets, dont des annexes
-Une même annexe peut être présente dans pluieurs fichiers excels différents
-Ces annexes ne sont pas reliées entre elles, actuellement lorsqu'une modification est effectuée sur une annexe, l'utilisateur doit aller faire cette mise à jour manuellement dans chaque tableur où l'annexe est présente.
Certaines annexes sont présentes dans 50 tableurs... 😛
Voici donc ce que je cherche à faire : je cherche à créer de nouveaux onglets (mon code fonctionne pour faire cela) et insérer l'annexe désirée dans cet onglet. Cependant, mon code procède par copier coller. Je voudrais maintenir le lien entre le nouvel onglet et le fichier, pour que si l'utilisateur effectue une modification dans l'onglet contenant l'annexe, cette modification s'effectuera également dans le fichier source...
Cela est-il possible ?
Merci de votre aide 🙂
PS : je joins le code permettant d'ajouter un onglet et d'y copier le contenu de l'annexe. 🙂
Pour mon stage informatique, je dois modifier un logiciel déjà existant codé en VBA. La problématique est la suivante :
-Chaque tableur excel possède un certain nombre d'onglets, dont des annexes
-Une même annexe peut être présente dans pluieurs fichiers excels différents
-Ces annexes ne sont pas reliées entre elles, actuellement lorsqu'une modification est effectuée sur une annexe, l'utilisateur doit aller faire cette mise à jour manuellement dans chaque tableur où l'annexe est présente.
Certaines annexes sont présentes dans 50 tableurs... 😛
Voici donc ce que je cherche à faire : je cherche à créer de nouveaux onglets (mon code fonctionne pour faire cela) et insérer l'annexe désirée dans cet onglet. Cependant, mon code procède par copier coller. Je voudrais maintenir le lien entre le nouvel onglet et le fichier, pour que si l'utilisateur effectue une modification dans l'onglet contenant l'annexe, cette modification s'effectuera également dans le fichier source...
Cela est-il possible ?
Merci de votre aide 🙂
PS : je joins le code permettant d'ajouter un onglet et d'y copier le contenu de l'annexe. 🙂
Code:
Sub AjoutAnnexe()
Dim classeurSource As Workbook, classeurDestination As Workbook
Dim fileToOpen As String
Static Compteur As Byte
'définir le classeur destination
Set classeurDestination = ThisWorkbook
Set classeurSource = Application.Workbooks.Open(Application.GetOpenFilename(), , True)
'Création d'un nouvel onglet
Compteur = Compteur + 1
classeurDestination.Activate
Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "Annexe_" & Compteur
'copier les données de la "Feuil1" du classeur source vers la "Feuil1" du classeur destination
classeurSource.Sheets("Sheet1").Cells.Copy classeurDestination.Sheets("Annexe_" & Compteur).Range("A1")
'fermer le classeur source
classeurSource.Close False
End Sub