VBA Problème recolte codename d'une sheet qui vient d'être créée
1 réponse
pierre-23161
Bonjour,
Je vais essayer d'être clair:
Je crée une macro complémentaire pour gérer des tableaux sous excel (Complémentaire parce que je dois pouvoir l'envoyer pour mise à jour à de nombreux utilisateurs).
Mon code donne la possibilité de créer des feuilles de base (je gère la forme du tableau) avec un code derrière ces feuilles type "Private Sub Worksheet_change(ByVal Target As Range)"
J'ai donc une sub pour écrire le code derrière les feuilles que je crée qui utilise le méthode:
Sub Ecrirecode(sh)
code = "Blabla"
code = code & "blabla...
[...]
set Wb = ActiveWorbook
Nomfeuil = sh.CodeName
"with Wb.VBProject.VBComponents(NomFeuil).CodeModule
.addfromstring (Code)
end with"
==>où NomFeuil est le codename de la feuille que je viens de créer:
Sub principale
[....]
'pour créer des feuilles basiques
ActiveWorkbook.Sheets.Add Before:=Sheets(1)
sh = sheets(1)
call Ecrirecode(sh)
[...]
PROBLEME:
Tout se passe très bien lorsque j'écris ces sub dans le projet où sont les feuilles basiques de tableau, MAIS elle ne sont pas dans le même projet: Les utilisateurs ont un projet avec leurs tableaux (ScrabbSheet) et ma macro complémentaire (ScrabbCode).
Et là, bug monumental d'Excel...
J'ai réalisé avec des msgbox que c'est parceque lorsque VB est fermé (et je n'ai pas envie que les utilisateurs aient à l'ouvrir pour que cela fonctionne...) la collecte de codename de la feuille que je viens de créer foire lamentablement... Par contre je peux lui demander les codename des feuilles alentour, mais cela n'a absolument aucun intérêt!! Compte tenu du nombre de tableaux et de manip que les gars peuvent faire, je ne saurai jamais avec certitude le codename de la feuille que je crée sans l'acquérir...
Voilà, j'espère que vous m'avez compris et que vous pourrais m'aider!
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
Jex
On 14 juin, 20:56, pierre-23161 wrote:
Bonjour,
Je vais essayer d'être clair:
Je crée une macro complémentaire pour gérer des tableaux sous excel (Complémentaire parce que je dois pouvoir l'envoyer pour mise à jour à de nombreux utilisateurs). Mon code donne la possibilité de créer des feuilles de base (je gèr e la forme du tableau) avec un code derrière ces feuilles type "Private Sub Worksheet_change(ByVal Target As Range)"
J'ai donc une sub pour écrire le code derrière les feuilles que je cr ée qui utilise le méthode: Sub Ecrirecode(sh) code = "Blabla" code = code & "blabla... [...] set Wb = ActiveWorbook Nomfeuil = sh.CodeName "with Wb.VBProject.VBComponents(NomFeuil).CodeModule .addfromstring (Code) end with"
==>où NomFeuil est le codename de la feuille que je viens de crée r:
Sub principale [....] 'pour créer des feuilles basiques ActiveWorkbook.Sheets.Add Before:=Sheets(1) sh = sheets(1) call Ecrirecode(sh) [...]
PROBLEME: Tout se passe très bien lorsque j'écris ces sub dans le projet où s ont les feuilles basiques de tableau, MAIS elle ne sont pas dans le même projet : Les utilisateurs ont un projet avec leurs tableaux (ScrabbSheet) et ma macro complémentaire (ScrabbCode). Et là, bug monumental d'Excel...
J'ai réalisé avec des msgbox que c'est parceque lorsque VB est ferm é (et je n'ai pas envie que les utilisateurs aient à l'ouvrir pour que cela fonctionne...) la collecte de codename de la feuille que je viens de cr éer foire lamentablement... Par contre je peux lui demander les codename des feuill es alentour, mais cela n'a absolument aucun intérêt!! Compte tenu du nom bre de tableaux et de manip que les gars peuvent faire, je ne saurai jamais avec certitude le codename de la feuille que je crée sans l'acquérir...
Voilà, j'espère que vous m'avez compris et que vous pourrais m'aider!
Cordialement,
Pierre
Bonjour Pierre,
pour des questions concernant Excel, il vaut mieux aller sur un forum Excel, même si c'est du VBA. par ici : http://groups.google.fr/group/microsoft.public.fr.excel/topics?hl =fr&lnk et par là : http://social.answers.microsoft.com/Forums/fr-FR/officeexcelf r/threads
Tu y trouveras toute l'aide nécessaire.
Bonne journée, J.
On 14 juin, 20:56, pierre-23161 <pierre-23...@domain-xyz.in> wrote:
Bonjour,
Je vais essayer d'être clair:
Je crée une macro complémentaire pour gérer des tableaux sous excel
(Complémentaire parce que je dois pouvoir l'envoyer pour mise à jour à de
nombreux utilisateurs).
Mon code donne la possibilité de créer des feuilles de base (je gèr e la forme
du tableau) avec un code derrière ces feuilles type "Private Sub
Worksheet_change(ByVal Target As Range)"
J'ai donc une sub pour écrire le code derrière les feuilles que je cr ée qui
utilise le méthode:
Sub Ecrirecode(sh)
code = "Blabla"
code = code & "blabla...
[...]
set Wb = ActiveWorbook
Nomfeuil = sh.CodeName
"with Wb.VBProject.VBComponents(NomFeuil).CodeModule
.addfromstring (Code)
end with"
==>où NomFeuil est le codename de la feuille que je viens de crée r:
Sub principale
[....]
'pour créer des feuilles basiques
ActiveWorkbook.Sheets.Add Before:=Sheets(1)
sh = sheets(1)
call Ecrirecode(sh)
[...]
PROBLEME:
Tout se passe très bien lorsque j'écris ces sub dans le projet où s ont les
feuilles basiques de tableau, MAIS elle ne sont pas dans le même projet : Les
utilisateurs ont un projet avec leurs tableaux (ScrabbSheet) et ma macro
complémentaire (ScrabbCode).
Et là, bug monumental d'Excel...
J'ai réalisé avec des msgbox que c'est parceque lorsque VB est ferm é (et je
n'ai pas envie que les utilisateurs aient à l'ouvrir pour que cela
fonctionne...) la collecte de codename de la feuille que je viens de cr éer foire
lamentablement... Par contre je peux lui demander les codename des feuill es
alentour, mais cela n'a absolument aucun intérêt!! Compte tenu du nom bre de
tableaux et de manip que les gars peuvent faire, je ne saurai jamais avec
certitude le codename de la feuille que je crée sans l'acquérir...
Voilà, j'espère que vous m'avez compris et que vous pourrais m'aider!
Cordialement,
Pierre
Bonjour Pierre,
pour des questions concernant Excel, il vaut mieux aller sur un forum
Excel, même si c'est du VBA.
par ici : http://groups.google.fr/group/microsoft.public.fr.excel/topics?hl =fr&lnk
et par là : http://social.answers.microsoft.com/Forums/fr-FR/officeexcelf r/threads
Je crée une macro complémentaire pour gérer des tableaux sous excel (Complémentaire parce que je dois pouvoir l'envoyer pour mise à jour à de nombreux utilisateurs). Mon code donne la possibilité de créer des feuilles de base (je gèr e la forme du tableau) avec un code derrière ces feuilles type "Private Sub Worksheet_change(ByVal Target As Range)"
J'ai donc une sub pour écrire le code derrière les feuilles que je cr ée qui utilise le méthode: Sub Ecrirecode(sh) code = "Blabla" code = code & "blabla... [...] set Wb = ActiveWorbook Nomfeuil = sh.CodeName "with Wb.VBProject.VBComponents(NomFeuil).CodeModule .addfromstring (Code) end with"
==>où NomFeuil est le codename de la feuille que je viens de crée r:
Sub principale [....] 'pour créer des feuilles basiques ActiveWorkbook.Sheets.Add Before:=Sheets(1) sh = sheets(1) call Ecrirecode(sh) [...]
PROBLEME: Tout se passe très bien lorsque j'écris ces sub dans le projet où s ont les feuilles basiques de tableau, MAIS elle ne sont pas dans le même projet : Les utilisateurs ont un projet avec leurs tableaux (ScrabbSheet) et ma macro complémentaire (ScrabbCode). Et là, bug monumental d'Excel...
J'ai réalisé avec des msgbox que c'est parceque lorsque VB est ferm é (et je n'ai pas envie que les utilisateurs aient à l'ouvrir pour que cela fonctionne...) la collecte de codename de la feuille que je viens de cr éer foire lamentablement... Par contre je peux lui demander les codename des feuill es alentour, mais cela n'a absolument aucun intérêt!! Compte tenu du nom bre de tableaux et de manip que les gars peuvent faire, je ne saurai jamais avec certitude le codename de la feuille que je crée sans l'acquérir...
Voilà, j'espère que vous m'avez compris et que vous pourrais m'aider!
Cordialement,
Pierre
Bonjour Pierre,
pour des questions concernant Excel, il vaut mieux aller sur un forum Excel, même si c'est du VBA. par ici : http://groups.google.fr/group/microsoft.public.fr.excel/topics?hl =fr&lnk et par là : http://social.answers.microsoft.com/Forums/fr-FR/officeexcelf r/threads