Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VBA Problème recolte codename d'une sheet qui vient d'être créée

1 réponse
Avatar
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!

Cordialement,

Pierre

1 réponse

Avatar
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.