Mon probleme.
J'ai ecrit des procedures contenu dans MODUL4.bas.
Je veux importer MODUL4.bas dans un certian nombre de classeur excel.
Plutot que d'ouvrir mes 30 classeurs excel et de faire un import (à chaque
modif dans MODUL4.bas il faut mettre à jour les 30 classeurs), quel pourrait
etre le code VB qui le ferait à ma place (les noms des classeurs sont dans
une feuille excel).
Merci d'avance pour toute suggestion, idée ou solution.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
papou
Bonjour Il faudrait poser ta question sur public.fr.excel. Ceci étant, voici une manière de procéder (à adapter à ton cas) :
Sub ImportModule() Dim Nombk$ Dim lebk As Workbook Dim NomModule$ NomModule = "C:Documents and SettingspapouMes documents" _ & "Assistancempfemoduleperso.bas" With Application.FileSearch .NewSearch .LookIn = "C:Documents and SettingspapouMes documentsAssistancempfetests" If .Execute() > 0 Then For I = 1 To .FoundFiles.Count Nombk = .FoundFiles(I) Set lebk = Workbooks.Open(Nombk) lebk.VBProject.VBComponents.Import NomModule lebk.Close (True) Next I
Else: MsgBox "pas de fichier trouvé dans le répertoire", vbInformation, "Arrêt" End If MsgBox "Module moduleperso.bas importé dans les classeurs du répertoire spécifié" End With
End Sub
Cordialement Pascal
"claude.vonknechten" a écrit dans le message de news:
Mon probleme. J'ai ecrit des procedures contenu dans MODUL4.bas. Je veux importer MODUL4.bas dans un certian nombre de classeur excel. Plutot que d'ouvrir mes 30 classeurs excel et de faire un import (à chaque modif dans MODUL4.bas il faut mettre à jour les 30 classeurs), quel pourrait etre le code VB qui le ferait à ma place (les noms des classeurs sont dans une feuille excel).
Merci d'avance pour toute suggestion, idée ou solution.
Claude.
Bonjour
Il faudrait poser ta question sur public.fr.excel.
Ceci étant, voici une manière de procéder (à adapter à ton cas) :
Sub ImportModule()
Dim Nombk$
Dim lebk As Workbook
Dim NomModule$
NomModule = "C:Documents and SettingspapouMes documents" _
& "Assistancempfemoduleperso.bas"
With Application.FileSearch
.NewSearch
.LookIn = "C:Documents and SettingspapouMes
documentsAssistancempfetests"
If .Execute() > 0 Then
For I = 1 To .FoundFiles.Count
Nombk = .FoundFiles(I)
Set lebk = Workbooks.Open(Nombk)
lebk.VBProject.VBComponents.Import NomModule
lebk.Close (True)
Next I
Else: MsgBox "pas de fichier trouvé dans le répertoire", vbInformation,
"Arrêt"
End If
MsgBox "Module moduleperso.bas importé dans les classeurs du répertoire
spécifié"
End With
End Sub
Cordialement
Pascal
"claude.vonknechten" <claudevonknechten@discussions.microsoft.com> a écrit
dans le message de news:
5184A7F3-4A64-48DF-9523-F0108F21FDE3@microsoft.com...
Mon probleme.
J'ai ecrit des procedures contenu dans MODUL4.bas.
Je veux importer MODUL4.bas dans un certian nombre de classeur excel.
Plutot que d'ouvrir mes 30 classeurs excel et de faire un import (à chaque
modif dans MODUL4.bas il faut mettre à jour les 30 classeurs), quel
pourrait
etre le code VB qui le ferait à ma place (les noms des classeurs sont dans
une feuille excel).
Merci d'avance pour toute suggestion, idée ou solution.
Bonjour Il faudrait poser ta question sur public.fr.excel. Ceci étant, voici une manière de procéder (à adapter à ton cas) :
Sub ImportModule() Dim Nombk$ Dim lebk As Workbook Dim NomModule$ NomModule = "C:Documents and SettingspapouMes documents" _ & "Assistancempfemoduleperso.bas" With Application.FileSearch .NewSearch .LookIn = "C:Documents and SettingspapouMes documentsAssistancempfetests" If .Execute() > 0 Then For I = 1 To .FoundFiles.Count Nombk = .FoundFiles(I) Set lebk = Workbooks.Open(Nombk) lebk.VBProject.VBComponents.Import NomModule lebk.Close (True) Next I
Else: MsgBox "pas de fichier trouvé dans le répertoire", vbInformation, "Arrêt" End If MsgBox "Module moduleperso.bas importé dans les classeurs du répertoire spécifié" End With
End Sub
Cordialement Pascal
"claude.vonknechten" a écrit dans le message de news:
Mon probleme. J'ai ecrit des procedures contenu dans MODUL4.bas. Je veux importer MODUL4.bas dans un certian nombre de classeur excel. Plutot que d'ouvrir mes 30 classeurs excel et de faire un import (à chaque modif dans MODUL4.bas il faut mettre à jour les 30 classeurs), quel pourrait etre le code VB qui le ferait à ma place (les noms des classeurs sont dans une feuille excel).
Merci d'avance pour toute suggestion, idée ou solution.
Claude.
claude.vonknechten
Merci beaucoup à Pascal pour sa réponse que j'ai réussi à mettre en oeuvre. Par contre il me reste le problème induit. Avant de faire l'import il me faut dabord supprimer le module 4 existant avant d'en importer la nouvelle version. C'est la syntaxe qui me pose problème: lebk.VBProject.vbcomponents("module4").Remove NE MARCHE PAS! lebk.VBProject.vbcomponents.Remove ("MODULE4) NE MARCHE PAS! lebk.VBProject.vbcomponents.MODULE4.remove NE MARCHE PAS!
Merci pour votre aide précieuse,
Cordialement Claude.
"claude.vonknechten" a écrit :
Mon probleme. J'ai ecrit des procedures contenu dans MODUL4.bas. Je veux importer MODUL4.bas dans un certian nombre de classeur excel. Plutot que d'ouvrir mes 30 classeurs excel et de faire un import (à chaque modif dans MODUL4.bas il faut mettre à jour les 30 classeurs), quel pourrait etre le code VB qui le ferait à ma place (les noms des classeurs sont dans une feuille excel).
Merci d'avance pour toute suggestion, idée ou solution.
Claude.
Merci beaucoup à Pascal pour sa réponse que j'ai réussi à mettre en oeuvre.
Par contre il me reste le problème induit.
Avant de faire l'import il me faut dabord supprimer le module 4 existant
avant d'en importer la nouvelle version.
C'est la syntaxe qui me pose problème:
lebk.VBProject.vbcomponents("module4").Remove NE MARCHE PAS!
lebk.VBProject.vbcomponents.Remove ("MODULE4) NE MARCHE PAS!
lebk.VBProject.vbcomponents.MODULE4.remove NE MARCHE PAS!
Merci pour votre aide précieuse,
Cordialement
Claude.
"claude.vonknechten" a écrit :
Mon probleme.
J'ai ecrit des procedures contenu dans MODUL4.bas.
Je veux importer MODUL4.bas dans un certian nombre de classeur excel.
Plutot que d'ouvrir mes 30 classeurs excel et de faire un import (à chaque
modif dans MODUL4.bas il faut mettre à jour les 30 classeurs), quel pourrait
etre le code VB qui le ferait à ma place (les noms des classeurs sont dans
une feuille excel).
Merci d'avance pour toute suggestion, idée ou solution.
Merci beaucoup à Pascal pour sa réponse que j'ai réussi à mettre en oeuvre. Par contre il me reste le problème induit. Avant de faire l'import il me faut dabord supprimer le module 4 existant avant d'en importer la nouvelle version. C'est la syntaxe qui me pose problème: lebk.VBProject.vbcomponents("module4").Remove NE MARCHE PAS! lebk.VBProject.vbcomponents.Remove ("MODULE4) NE MARCHE PAS! lebk.VBProject.vbcomponents.MODULE4.remove NE MARCHE PAS!
Merci pour votre aide précieuse,
Cordialement Claude.
"claude.vonknechten" a écrit :
Mon probleme. J'ai ecrit des procedures contenu dans MODUL4.bas. Je veux importer MODUL4.bas dans un certian nombre de classeur excel. Plutot que d'ouvrir mes 30 classeurs excel et de faire un import (à chaque modif dans MODUL4.bas il faut mettre à jour les 30 classeurs), quel pourrait etre le code VB qui le ferait à ma place (les noms des classeurs sont dans une feuille excel).
Merci d'avance pour toute suggestion, idée ou solution.
Claude.
papou
Bonjour
On Error Resume Next With lebk.VBProject.VBComponents .Remove .Item("Module4") End With On Error GoTo 0
Cordialement Pascal
"claude.vonknechten" a écrit dans le message de news:
Merci beaucoup à Pascal pour sa réponse que j'ai réussi à mettre en oeuvre. Par contre il me reste le problème induit. Avant de faire l'import il me faut dabord supprimer le module 4 existant avant d'en importer la nouvelle version. C'est la syntaxe qui me pose problème: lebk.VBProject.vbcomponents("module4").Remove NE MARCHE PAS! lebk.VBProject.vbcomponents.Remove ("MODULE4) NE MARCHE PAS! lebk.VBProject.vbcomponents.MODULE4.remove NE MARCHE PAS!
Merci pour votre aide précieuse,
Cordialement Claude.
"claude.vonknechten" a écrit :
Mon probleme. J'ai ecrit des procedures contenu dans MODUL4.bas. Je veux importer MODUL4.bas dans un certian nombre de classeur excel. Plutot que d'ouvrir mes 30 classeurs excel et de faire un import (à chaque modif dans MODUL4.bas il faut mettre à jour les 30 classeurs), quel pourrait etre le code VB qui le ferait à ma place (les noms des classeurs sont dans une feuille excel).
Merci d'avance pour toute suggestion, idée ou solution.
Claude.
Bonjour
On Error Resume Next
With lebk.VBProject.VBComponents
.Remove .Item("Module4")
End With
On Error GoTo 0
Cordialement
Pascal
"claude.vonknechten" <claudevonknechten@discussions.microsoft.com> a écrit
dans le message de news:
BF7768D2-9484-4197-AB8E-B7CA6996503C@microsoft.com...
Merci beaucoup à Pascal pour sa réponse que j'ai réussi à mettre en
oeuvre.
Par contre il me reste le problème induit.
Avant de faire l'import il me faut dabord supprimer le module 4 existant
avant d'en importer la nouvelle version.
C'est la syntaxe qui me pose problème:
lebk.VBProject.vbcomponents("module4").Remove NE MARCHE PAS!
lebk.VBProject.vbcomponents.Remove ("MODULE4) NE MARCHE PAS!
lebk.VBProject.vbcomponents.MODULE4.remove NE MARCHE PAS!
Merci pour votre aide précieuse,
Cordialement
Claude.
"claude.vonknechten" a écrit :
Mon probleme.
J'ai ecrit des procedures contenu dans MODUL4.bas.
Je veux importer MODUL4.bas dans un certian nombre de classeur excel.
Plutot que d'ouvrir mes 30 classeurs excel et de faire un import (à
chaque
modif dans MODUL4.bas il faut mettre à jour les 30 classeurs), quel
pourrait
etre le code VB qui le ferait à ma place (les noms des classeurs sont
dans
une feuille excel).
Merci d'avance pour toute suggestion, idée ou solution.
On Error Resume Next With lebk.VBProject.VBComponents .Remove .Item("Module4") End With On Error GoTo 0
Cordialement Pascal
"claude.vonknechten" a écrit dans le message de news:
Merci beaucoup à Pascal pour sa réponse que j'ai réussi à mettre en oeuvre. Par contre il me reste le problème induit. Avant de faire l'import il me faut dabord supprimer le module 4 existant avant d'en importer la nouvelle version. C'est la syntaxe qui me pose problème: lebk.VBProject.vbcomponents("module4").Remove NE MARCHE PAS! lebk.VBProject.vbcomponents.Remove ("MODULE4) NE MARCHE PAS! lebk.VBProject.vbcomponents.MODULE4.remove NE MARCHE PAS!
Merci pour votre aide précieuse,
Cordialement Claude.
"claude.vonknechten" a écrit :
Mon probleme. J'ai ecrit des procedures contenu dans MODUL4.bas. Je veux importer MODUL4.bas dans un certian nombre de classeur excel. Plutot que d'ouvrir mes 30 classeurs excel et de faire un import (à chaque modif dans MODUL4.bas il faut mettre à jour les 30 classeurs), quel pourrait etre le code VB qui le ferait à ma place (les noms des classeurs sont dans une feuille excel).
Merci d'avance pour toute suggestion, idée ou solution.
Claude.
claude.vonknechten
Quel ane je suis, j'ai bien vu les objets "item" dans la fenetre espion mais je n'ai pas pensé à les nommer dans le nom de l'objet. En tout cas merci beaucoup à Pascal pour sa réponse et son aide
Claude "claude.vonknechten" a écrit :
Mon probleme. J'ai ecrit des procedures contenu dans MODUL4.bas. Je veux importer MODUL4.bas dans un certian nombre de classeur excel. Plutot que d'ouvrir mes 30 classeurs excel et de faire un import (à chaque modif dans MODUL4.bas il faut mettre à jour les 30 classeurs), quel pourrait etre le code VB qui le ferait à ma place (les noms des classeurs sont dans une feuille excel).
Merci d'avance pour toute suggestion, idée ou solution.
Claude.
Quel ane je suis, j'ai bien vu les objets "item" dans la fenetre espion mais
je n'ai pas pensé à les nommer dans le nom de l'objet.
En tout cas merci beaucoup à Pascal pour sa réponse et son aide
Claude
"claude.vonknechten" a écrit :
Mon probleme.
J'ai ecrit des procedures contenu dans MODUL4.bas.
Je veux importer MODUL4.bas dans un certian nombre de classeur excel.
Plutot que d'ouvrir mes 30 classeurs excel et de faire un import (à chaque
modif dans MODUL4.bas il faut mettre à jour les 30 classeurs), quel pourrait
etre le code VB qui le ferait à ma place (les noms des classeurs sont dans
une feuille excel).
Merci d'avance pour toute suggestion, idée ou solution.
Quel ane je suis, j'ai bien vu les objets "item" dans la fenetre espion mais je n'ai pas pensé à les nommer dans le nom de l'objet. En tout cas merci beaucoup à Pascal pour sa réponse et son aide
Claude "claude.vonknechten" a écrit :
Mon probleme. J'ai ecrit des procedures contenu dans MODUL4.bas. Je veux importer MODUL4.bas dans un certian nombre de classeur excel. Plutot que d'ouvrir mes 30 classeurs excel et de faire un import (à chaque modif dans MODUL4.bas il faut mettre à jour les 30 classeurs), quel pourrait etre le code VB qui le ferait à ma place (les noms des classeurs sont dans une feuille excel).
Merci d'avance pour toute suggestion, idée ou solution.