Problème pour créer le code des ToggleButton par vba
14 réponses
Fabrice N.
Bonjour à tous,
Tout d'abord, merci à tous ceux qui contribuent à ce NG car c'est grâce à
eux que j'ai pu avancer dans mon problème.
Par contre, je suis bloqué et ne trouve pas les infos dont j'ai besoin (
sauf erreur de ma part )
Voici l'idée :
Je travail sous Excel 2003.
Je souhaite par macro pouvoir créer des TogglesButtons et ajouter le code
_click par macro dans la feuille concernée.
Au stade ou j'en suis, j'arrive à créer les boutons, mais Excel plante
complètement dès qu'il s'agit de créer le code dans la feuille.
Voici ce que j'ai fait :
J'ai créé les 2 fonctions suivantes qui fonctionne très bien utilisées
séparéments
*************************************************************************
Function CreerLeToggle(cellule As String)
Et c'est cette macro qui cloche. La création des toggle marche parfaitement,
mais dès la première exécution de la fonction AjoutCode, j'ai le beau
message "Excel a rencontré une erreur... blablabla..." et il se ferme.
Je n'ai même pas de message de déboguage.
Par contre, si manuellement, je lance la macro suivante, ça marche sans
problème alors que c'est le même code que j'essai d'ajouter.
***************************************************************
Sub CopierCode()
Dim CodeToggle As String
Dim Lig As Integer
Lig = 8
CodeToggle = "Private Sub ToggleH" & Lig & "_Click()" & vbCrLf & vbCrLf
_
& " If ToggleH" & Lig & " = False Then" & vbCrLf _
& " If ToggleI" & Lig & " = True Then Exit Sub" & vbCrLf _
& " ToggleI" & Lig & " = True" & vbCrLf _
& " Exit Sub" & vbCrLf _
& " End If" & vbCrLf _
& " If ToggleI" & Lig & " = True Then ToggleI" & Lig & " = False"
& vbCrLf _
& " Range(""I" & Lig & """) = 1" & vbCrLf & vbCrLf _
& "End Sub" & vbCrLf
Call AjoutCode(CodeToggle, ActiveSheet.Index)
End Sub
***************************************************************
J'ai exclu la possibilité que ce soit une trop grande quantité de code
puisque, déjà c'est pas le cas, et qu'en plus, la macro plante à la première
insertion de code...
J'ai essayé ma macro depuis un autre PC avec Excel 2003, même punition...
:o(
Je vous en prie, dites moi que quelqu'un sait quel connerie j'ai bien pu
faire dans ce foutu code ....
A moins que vous ayez un autre méthode que me permette par macro d'insérer
du code dans le module d'une feuille...
Il semblerait que mon problème vienne du fait que je passe l'index de la feuille directement en paramètre --> AjoutCode(CodeToggle, ActiveSheet.Index) Apparemment, ça ne lui plait pas.
Si je passe par une variable integer, il n'y a plus de soucis...
Dim Idx as integer Idx = Activesheet.Index AjoutCode(CodeToggle,Idx)
Perso, je ne comprends pas pourquoi. Même si dans la déclaration de la fonction je rajout byval pour mon index, ça plante quand même.
Pour l'instant, j'ai trouvé la solution, mais si quelqu'un sait pourquoi ça merdre, ma curiosité vous en remercierait grandement... ;o)
En tout cas, merci à ceux qui auront quand même essayé de se pencher sur mon problème.
A+
"Fabrice N." <"f.nebbia" dans le domaine "technicn.com"> a écrit dans le message de news:
Bonjour à tous,
Tout d'abord, merci à tous ceux qui contribuent à ce NG car c'est grâce à eux que j'ai pu avancer dans mon problème. Par contre, je suis bloqué et ne trouve pas les infos dont j'ai besoin ( sauf erreur de ma part )
Voici l'idée : Je travail sous Excel 2003. Je souhaite par macro pouvoir créer des TogglesButtons et ajouter le code _click par macro dans la feuille concernée. Au stade ou j'en suis, j'arrive à créer les boutons, mais Excel plante complètement dès qu'il s'agit de créer le code dans la feuille.
Voici ce que j'ai fait :
J'ai créé les 2 fonctions suivantes qui fonctionne très bien utilisées séparéments
************************************************************************* Function CreerLeToggle(cellule As String)
Et c'est cette macro qui cloche. La création des toggle marche parfaitement, mais dès la première exécution de la fonction AjoutCode, j'ai le beau message "Excel a rencontré une erreur... blablabla..." et il se ferme. Je n'ai même pas de message de déboguage.
Par contre, si manuellement, je lance la macro suivante, ça marche sans problème alors que c'est le même code que j'essai d'ajouter. *************************************************************** Sub CopierCode()
Dim CodeToggle As String Dim Lig As Integer
Lig = 8
CodeToggle = "Private Sub ToggleH" & Lig & "_Click()" & vbCrLf & vbCrLf _ & " If ToggleH" & Lig & " = False Then" & vbCrLf _ & " If ToggleI" & Lig & " = True Then Exit Sub" & vbCrLf _ & " ToggleI" & Lig & " = True" & vbCrLf _ & " Exit Sub" & vbCrLf _ & " End If" & vbCrLf _ & " If ToggleI" & Lig & " = True Then ToggleI" & Lig & " = False" & vbCrLf _ & " Range(""I" & Lig & """) = 1" & vbCrLf & vbCrLf _ & "End Sub" & vbCrLf Call AjoutCode(CodeToggle, ActiveSheet.Index)
End Sub ***************************************************************
J'ai exclu la possibilité que ce soit une trop grande quantité de code puisque, déjà c'est pas le cas, et qu'en plus, la macro plante à la première insertion de code... J'ai essayé ma macro depuis un autre PC avec Excel 2003, même punition... :o(
Je vous en prie, dites moi que quelqu'un sait quel connerie j'ai bien pu faire dans ce foutu code .... A moins que vous ayez un autre méthode que me permette par macro d'insérer du code dans le module d'une feuille...
Merci d'avance pour votre aide.
A+
Bon, ben en fait je me réponds tout seul... ;o)
Il semblerait que mon problème vienne du fait que je passe l'index de la
feuille directement en paramètre
--> AjoutCode(CodeToggle, ActiveSheet.Index)
Apparemment, ça ne lui plait pas.
Si je passe par une variable integer, il n'y a plus de soucis...
Dim Idx as integer
Idx = Activesheet.Index
AjoutCode(CodeToggle,Idx)
Perso, je ne comprends pas pourquoi.
Même si dans la déclaration de la fonction je rajout byval pour mon index,
ça plante quand même.
Pour l'instant, j'ai trouvé la solution, mais si quelqu'un sait pourquoi ça
merdre, ma curiosité vous en remercierait grandement... ;o)
En tout cas, merci à ceux qui auront quand même essayé de se pencher sur mon
problème.
A+
"Fabrice N." <"f.nebbia" dans le domaine "technicn.com"> a écrit dans le
message de news: u5uGM3kNHHA.3872@TK2MSFTNGP06.phx.gbl...
Bonjour à tous,
Tout d'abord, merci à tous ceux qui contribuent à ce NG car c'est grâce à
eux que j'ai pu avancer dans mon problème.
Par contre, je suis bloqué et ne trouve pas les infos dont j'ai besoin (
sauf erreur de ma part )
Voici l'idée :
Je travail sous Excel 2003.
Je souhaite par macro pouvoir créer des TogglesButtons et ajouter le code
_click par macro dans la feuille concernée.
Au stade ou j'en suis, j'arrive à créer les boutons, mais Excel plante
complètement dès qu'il s'agit de créer le code dans la feuille.
Voici ce que j'ai fait :
J'ai créé les 2 fonctions suivantes qui fonctionne très bien utilisées
séparéments
*************************************************************************
Function CreerLeToggle(cellule As String)
Et c'est cette macro qui cloche. La création des toggle marche
parfaitement, mais dès la première exécution de la fonction AjoutCode,
j'ai le beau message "Excel a rencontré une erreur... blablabla..." et il
se ferme.
Je n'ai même pas de message de déboguage.
Par contre, si manuellement, je lance la macro suivante, ça marche sans
problème alors que c'est le même code que j'essai d'ajouter.
***************************************************************
Sub CopierCode()
Dim CodeToggle As String
Dim Lig As Integer
Lig = 8
CodeToggle = "Private Sub ToggleH" & Lig & "_Click()" & vbCrLf & vbCrLf
_
& " If ToggleH" & Lig & " = False Then" & vbCrLf _
& " If ToggleI" & Lig & " = True Then Exit Sub" & vbCrLf _
& " ToggleI" & Lig & " = True" & vbCrLf _
& " Exit Sub" & vbCrLf _
& " End If" & vbCrLf _
& " If ToggleI" & Lig & " = True Then ToggleI" & Lig & " =
False" & vbCrLf _
& " Range(""I" & Lig & """) = 1" & vbCrLf & vbCrLf _
& "End Sub" & vbCrLf
Call AjoutCode(CodeToggle, ActiveSheet.Index)
End Sub
***************************************************************
J'ai exclu la possibilité que ce soit une trop grande quantité de code
puisque, déjà c'est pas le cas, et qu'en plus, la macro plante à la
première insertion de code...
J'ai essayé ma macro depuis un autre PC avec Excel 2003, même punition...
:o(
Je vous en prie, dites moi que quelqu'un sait quel connerie j'ai bien pu
faire dans ce foutu code ....
A moins que vous ayez un autre méthode que me permette par macro d'insérer
du code dans le module d'une feuille...
Il semblerait que mon problème vienne du fait que je passe l'index de la feuille directement en paramètre --> AjoutCode(CodeToggle, ActiveSheet.Index) Apparemment, ça ne lui plait pas.
Si je passe par une variable integer, il n'y a plus de soucis...
Dim Idx as integer Idx = Activesheet.Index AjoutCode(CodeToggle,Idx)
Perso, je ne comprends pas pourquoi. Même si dans la déclaration de la fonction je rajout byval pour mon index, ça plante quand même.
Pour l'instant, j'ai trouvé la solution, mais si quelqu'un sait pourquoi ça merdre, ma curiosité vous en remercierait grandement... ;o)
En tout cas, merci à ceux qui auront quand même essayé de se pencher sur mon problème.
A+
"Fabrice N." <"f.nebbia" dans le domaine "technicn.com"> a écrit dans le message de news:
Bonjour à tous,
Tout d'abord, merci à tous ceux qui contribuent à ce NG car c'est grâce à eux que j'ai pu avancer dans mon problème. Par contre, je suis bloqué et ne trouve pas les infos dont j'ai besoin ( sauf erreur de ma part )
Voici l'idée : Je travail sous Excel 2003. Je souhaite par macro pouvoir créer des TogglesButtons et ajouter le code _click par macro dans la feuille concernée. Au stade ou j'en suis, j'arrive à créer les boutons, mais Excel plante complètement dès qu'il s'agit de créer le code dans la feuille.
Voici ce que j'ai fait :
J'ai créé les 2 fonctions suivantes qui fonctionne très bien utilisées séparéments
************************************************************************* Function CreerLeToggle(cellule As String)
Et c'est cette macro qui cloche. La création des toggle marche parfaitement, mais dès la première exécution de la fonction AjoutCode, j'ai le beau message "Excel a rencontré une erreur... blablabla..." et il se ferme. Je n'ai même pas de message de déboguage.
Par contre, si manuellement, je lance la macro suivante, ça marche sans problème alors que c'est le même code que j'essai d'ajouter. *************************************************************** Sub CopierCode()
Dim CodeToggle As String Dim Lig As Integer
Lig = 8
CodeToggle = "Private Sub ToggleH" & Lig & "_Click()" & vbCrLf & vbCrLf _ & " If ToggleH" & Lig & " = False Then" & vbCrLf _ & " If ToggleI" & Lig & " = True Then Exit Sub" & vbCrLf _ & " ToggleI" & Lig & " = True" & vbCrLf _ & " Exit Sub" & vbCrLf _ & " End If" & vbCrLf _ & " If ToggleI" & Lig & " = True Then ToggleI" & Lig & " = False" & vbCrLf _ & " Range(""I" & Lig & """) = 1" & vbCrLf & vbCrLf _ & "End Sub" & vbCrLf Call AjoutCode(CodeToggle, ActiveSheet.Index)
End Sub ***************************************************************
J'ai exclu la possibilité que ce soit une trop grande quantité de code puisque, déjà c'est pas le cas, et qu'en plus, la macro plante à la première insertion de code... J'ai essayé ma macro depuis un autre PC avec Excel 2003, même punition... :o(
Je vous en prie, dites moi que quelqu'un sait quel connerie j'ai bien pu faire dans ce foutu code .... A moins que vous ayez un autre méthode que me permette par macro d'insérer du code dans le module d'une feuille...
Merci d'avance pour votre aide.
A+
Fabrice N.
Bonjour à tous,
J'ai crié victoire un peu trop vite, car mon problème perciste.
Je me suis battue tout le week-end, mais je ne trouve pas la cause du problème. Tout se passe comme si mon programme saturait Excel jusqu'à le faire planter.
Quand je lance ma macro pour une feuille, tout vas bien, mais si je la répète sur toutes mes feuilles par une autre macro avec une boucle, au bout d'un moment, j'ai de nouveau le plantage... Mais pas toujours au même moment... Comme si quelque chose dans mon prog saturait quelque chose...
Autre exemple, j'ai fait une macro qui créée ces lignes de code pour un certain nombre de toggle dans toutes mes feuilles. Si je lance la macros une fois, ça fonctionne. Si je la lance une deuxième fois, ça plante. Par contre, si je sort d'Excel en enregistrant ou pas, entre 2 exécution, ça fonctionne. Pourtant, mon fichier Excel fait à peine 1 Mo avec 8 feuilles, rien d'extraordinaire...
Est-ce quelqu'un à une idée la dessus ou est au courant d'une limitation quelque part ? Existe-il des instructions qui permettent de réinitialiser quelque chose en cours de macro ?
Merci d'avance pour votre aide.
A+
"Fabrice N." <"f.nebbia" dans le domaine "technicn.com"> a écrit dans le message de news:
Bon, ben en fait je me réponds tout seul... ;o)
Il semblerait que mon problème vienne du fait que je passe l'index de la feuille directement en paramètre --> AjoutCode(CodeToggle, ActiveSheet.Index) Apparemment, ça ne lui plait pas.
Si je passe par une variable integer, il n'y a plus de soucis...
Dim Idx as integer Idx = Activesheet.Index AjoutCode(CodeToggle,Idx)
Perso, je ne comprends pas pourquoi. Même si dans la déclaration de la fonction je rajout byval pour mon index, ça plante quand même.
Pour l'instant, j'ai trouvé la solution, mais si quelqu'un sait pourquoi ça merdre, ma curiosité vous en remercierait grandement... ;o)
En tout cas, merci à ceux qui auront quand même essayé de se pencher sur mon problème.
A+
"Fabrice N." <"f.nebbia" dans le domaine "technicn.com"> a écrit dans le message de news:
Bonjour à tous,
Tout d'abord, merci à tous ceux qui contribuent à ce NG car c'est grâce à eux que j'ai pu avancer dans mon problème. Par contre, je suis bloqué et ne trouve pas les infos dont j'ai besoin ( sauf erreur de ma part )
Voici l'idée : Je travail sous Excel 2003. Je souhaite par macro pouvoir créer des TogglesButtons et ajouter le code _click par macro dans la feuille concernée. Au stade ou j'en suis, j'arrive à créer les boutons, mais Excel plante complètement dès qu'il s'agit de créer le code dans la feuille.
Voici ce que j'ai fait :
J'ai créé les 2 fonctions suivantes qui fonctionne très bien utilisées séparéments
************************************************************************* Function CreerLeToggle(cellule As String)
Et c'est cette macro qui cloche. La création des toggle marche parfaitement, mais dès la première exécution de la fonction AjoutCode, j'ai le beau message "Excel a rencontré une erreur... blablabla..." et il se ferme. Je n'ai même pas de message de déboguage.
Par contre, si manuellement, je lance la macro suivante, ça marche sans problème alors que c'est le même code que j'essai d'ajouter. *************************************************************** Sub CopierCode()
Dim CodeToggle As String Dim Lig As Integer
Lig = 8
CodeToggle = "Private Sub ToggleH" & Lig & "_Click()" & vbCrLf & vbCrLf _ & " If ToggleH" & Lig & " = False Then" & vbCrLf _ & " If ToggleI" & Lig & " = True Then Exit Sub" & vbCrLf _ & " ToggleI" & Lig & " = True" & vbCrLf _ & " Exit Sub" & vbCrLf _ & " End If" & vbCrLf _ & " If ToggleI" & Lig & " = True Then ToggleI" & Lig & " = False" & vbCrLf _ & " Range(""I" & Lig & """) = 1" & vbCrLf & vbCrLf _ & "End Sub" & vbCrLf Call AjoutCode(CodeToggle, ActiveSheet.Index)
End Sub ***************************************************************
J'ai exclu la possibilité que ce soit une trop grande quantité de code puisque, déjà c'est pas le cas, et qu'en plus, la macro plante à la première insertion de code... J'ai essayé ma macro depuis un autre PC avec Excel 2003, même punition... :o(
Je vous en prie, dites moi que quelqu'un sait quel connerie j'ai bien pu faire dans ce foutu code .... A moins que vous ayez un autre méthode que me permette par macro d'insérer du code dans le module d'une feuille...
Merci d'avance pour votre aide.
A+
Bonjour à tous,
J'ai crié victoire un peu trop vite, car mon problème perciste.
Je me suis battue tout le week-end, mais je ne trouve pas la cause du
problème.
Tout se passe comme si mon programme saturait Excel jusqu'à le faire
planter.
Quand je lance ma macro pour une feuille, tout vas bien, mais si je la
répète sur toutes mes feuilles par une autre macro avec une boucle, au bout
d'un moment, j'ai de nouveau le plantage...
Mais pas toujours au même moment... Comme si quelque chose dans mon prog
saturait quelque chose...
Autre exemple, j'ai fait une macro qui créée ces lignes de code pour un
certain nombre de toggle dans toutes mes feuilles.
Si je lance la macros une fois, ça fonctionne. Si je la lance une deuxième
fois, ça plante.
Par contre, si je sort d'Excel en enregistrant ou pas, entre 2 exécution, ça
fonctionne.
Pourtant, mon fichier Excel fait à peine 1 Mo avec 8 feuilles, rien
d'extraordinaire...
Est-ce quelqu'un à une idée la dessus ou est au courant d'une limitation
quelque part ?
Existe-il des instructions qui permettent de réinitialiser quelque chose en
cours de macro ?
Merci d'avance pour votre aide.
A+
"Fabrice N." <"f.nebbia" dans le domaine "technicn.com"> a écrit dans le
message de news: u1ufk3mNHHA.3668@TK2MSFTNGP02.phx.gbl...
Bon, ben en fait je me réponds tout seul... ;o)
Il semblerait que mon problème vienne du fait que je passe l'index de la
feuille directement en paramètre
--> AjoutCode(CodeToggle, ActiveSheet.Index)
Apparemment, ça ne lui plait pas.
Si je passe par une variable integer, il n'y a plus de soucis...
Dim Idx as integer
Idx = Activesheet.Index
AjoutCode(CodeToggle,Idx)
Perso, je ne comprends pas pourquoi.
Même si dans la déclaration de la fonction je rajout byval pour mon index,
ça plante quand même.
Pour l'instant, j'ai trouvé la solution, mais si quelqu'un sait pourquoi
ça merdre, ma curiosité vous en remercierait grandement... ;o)
En tout cas, merci à ceux qui auront quand même essayé de se pencher sur
mon problème.
A+
"Fabrice N." <"f.nebbia" dans le domaine "technicn.com"> a écrit dans le
message de news: u5uGM3kNHHA.3872@TK2MSFTNGP06.phx.gbl...
Bonjour à tous,
Tout d'abord, merci à tous ceux qui contribuent à ce NG car c'est grâce à
eux que j'ai pu avancer dans mon problème.
Par contre, je suis bloqué et ne trouve pas les infos dont j'ai besoin
( sauf erreur de ma part )
Voici l'idée :
Je travail sous Excel 2003.
Je souhaite par macro pouvoir créer des TogglesButtons et ajouter le code
_click par macro dans la feuille concernée.
Au stade ou j'en suis, j'arrive à créer les boutons, mais Excel plante
complètement dès qu'il s'agit de créer le code dans la feuille.
Voici ce que j'ai fait :
J'ai créé les 2 fonctions suivantes qui fonctionne très bien utilisées
séparéments
*************************************************************************
Function CreerLeToggle(cellule As String)
Et c'est cette macro qui cloche. La création des toggle marche
parfaitement, mais dès la première exécution de la fonction AjoutCode,
j'ai le beau message "Excel a rencontré une erreur... blablabla..." et il
se ferme.
Je n'ai même pas de message de déboguage.
Par contre, si manuellement, je lance la macro suivante, ça marche sans
problème alors que c'est le même code que j'essai d'ajouter.
***************************************************************
Sub CopierCode()
Dim CodeToggle As String
Dim Lig As Integer
Lig = 8
CodeToggle = "Private Sub ToggleH" & Lig & "_Click()" & vbCrLf &
vbCrLf _
& " If ToggleH" & Lig & " = False Then" & vbCrLf _
& " If ToggleI" & Lig & " = True Then Exit Sub" & vbCrLf _
& " ToggleI" & Lig & " = True" & vbCrLf _
& " Exit Sub" & vbCrLf _
& " End If" & vbCrLf _
& " If ToggleI" & Lig & " = True Then ToggleI" & Lig & " =
False" & vbCrLf _
& " Range(""I" & Lig & """) = 1" & vbCrLf & vbCrLf _
& "End Sub" & vbCrLf
Call AjoutCode(CodeToggle, ActiveSheet.Index)
End Sub
***************************************************************
J'ai exclu la possibilité que ce soit une trop grande quantité de code
puisque, déjà c'est pas le cas, et qu'en plus, la macro plante à la
première insertion de code...
J'ai essayé ma macro depuis un autre PC avec Excel 2003, même punition...
:o(
Je vous en prie, dites moi que quelqu'un sait quel connerie j'ai bien pu
faire dans ce foutu code ....
A moins que vous ayez un autre méthode que me permette par macro
d'insérer du code dans le module d'une feuille...
J'ai crié victoire un peu trop vite, car mon problème perciste.
Je me suis battue tout le week-end, mais je ne trouve pas la cause du problème. Tout se passe comme si mon programme saturait Excel jusqu'à le faire planter.
Quand je lance ma macro pour une feuille, tout vas bien, mais si je la répète sur toutes mes feuilles par une autre macro avec une boucle, au bout d'un moment, j'ai de nouveau le plantage... Mais pas toujours au même moment... Comme si quelque chose dans mon prog saturait quelque chose...
Autre exemple, j'ai fait une macro qui créée ces lignes de code pour un certain nombre de toggle dans toutes mes feuilles. Si je lance la macros une fois, ça fonctionne. Si je la lance une deuxième fois, ça plante. Par contre, si je sort d'Excel en enregistrant ou pas, entre 2 exécution, ça fonctionne. Pourtant, mon fichier Excel fait à peine 1 Mo avec 8 feuilles, rien d'extraordinaire...
Est-ce quelqu'un à une idée la dessus ou est au courant d'une limitation quelque part ? Existe-il des instructions qui permettent de réinitialiser quelque chose en cours de macro ?
Merci d'avance pour votre aide.
A+
"Fabrice N." <"f.nebbia" dans le domaine "technicn.com"> a écrit dans le message de news:
Bon, ben en fait je me réponds tout seul... ;o)
Il semblerait que mon problème vienne du fait que je passe l'index de la feuille directement en paramètre --> AjoutCode(CodeToggle, ActiveSheet.Index) Apparemment, ça ne lui plait pas.
Si je passe par une variable integer, il n'y a plus de soucis...
Dim Idx as integer Idx = Activesheet.Index AjoutCode(CodeToggle,Idx)
Perso, je ne comprends pas pourquoi. Même si dans la déclaration de la fonction je rajout byval pour mon index, ça plante quand même.
Pour l'instant, j'ai trouvé la solution, mais si quelqu'un sait pourquoi ça merdre, ma curiosité vous en remercierait grandement... ;o)
En tout cas, merci à ceux qui auront quand même essayé de se pencher sur mon problème.
A+
"Fabrice N." <"f.nebbia" dans le domaine "technicn.com"> a écrit dans le message de news:
Bonjour à tous,
Tout d'abord, merci à tous ceux qui contribuent à ce NG car c'est grâce à eux que j'ai pu avancer dans mon problème. Par contre, je suis bloqué et ne trouve pas les infos dont j'ai besoin ( sauf erreur de ma part )
Voici l'idée : Je travail sous Excel 2003. Je souhaite par macro pouvoir créer des TogglesButtons et ajouter le code _click par macro dans la feuille concernée. Au stade ou j'en suis, j'arrive à créer les boutons, mais Excel plante complètement dès qu'il s'agit de créer le code dans la feuille.
Voici ce que j'ai fait :
J'ai créé les 2 fonctions suivantes qui fonctionne très bien utilisées séparéments
************************************************************************* Function CreerLeToggle(cellule As String)
Et c'est cette macro qui cloche. La création des toggle marche parfaitement, mais dès la première exécution de la fonction AjoutCode, j'ai le beau message "Excel a rencontré une erreur... blablabla..." et il se ferme. Je n'ai même pas de message de déboguage.
Par contre, si manuellement, je lance la macro suivante, ça marche sans problème alors que c'est le même code que j'essai d'ajouter. *************************************************************** Sub CopierCode()
Dim CodeToggle As String Dim Lig As Integer
Lig = 8
CodeToggle = "Private Sub ToggleH" & Lig & "_Click()" & vbCrLf & vbCrLf _ & " If ToggleH" & Lig & " = False Then" & vbCrLf _ & " If ToggleI" & Lig & " = True Then Exit Sub" & vbCrLf _ & " ToggleI" & Lig & " = True" & vbCrLf _ & " Exit Sub" & vbCrLf _ & " End If" & vbCrLf _ & " If ToggleI" & Lig & " = True Then ToggleI" & Lig & " = False" & vbCrLf _ & " Range(""I" & Lig & """) = 1" & vbCrLf & vbCrLf _ & "End Sub" & vbCrLf Call AjoutCode(CodeToggle, ActiveSheet.Index)
End Sub ***************************************************************
J'ai exclu la possibilité que ce soit une trop grande quantité de code puisque, déjà c'est pas le cas, et qu'en plus, la macro plante à la première insertion de code... J'ai essayé ma macro depuis un autre PC avec Excel 2003, même punition... :o(
Je vous en prie, dites moi que quelqu'un sait quel connerie j'ai bien pu faire dans ce foutu code .... A moins que vous ayez un autre méthode que me permette par macro d'insérer du code dans le module d'une feuille...
Merci d'avance pour votre aide.
A+
FxM
Bonjour,
A moins que vous ayez un autre méthode que me permette par macro d'insérer
du code dans le module d'une feuille...
* http://frederic.sigonneau.free.fr rubrique VBA * Archives Google avec le mot-clé CodeModule * m'étonnerais qu'il ny ait rien sur http://www.excelabo.net
@+ FxM
Bonjour à tous,
Tout d'abord, merci à tous ceux qui contribuent à ce NG car c'est grâce à eux que j'ai pu avancer dans mon problème. Par contre, je suis bloqué et ne trouve pas les infos dont j'ai besoin ( sauf erreur de ma part )
Voici l'idée : Je travail sous Excel 2003. Je souhaite par macro pouvoir créer des TogglesButtons et ajouter le code _click par macro dans la feuille concernée. Au stade ou j'en suis, j'arrive à créer les boutons, mais Excel plante complètement dès qu'il s'agit de créer le code dans la feuille.
Voici ce que j'ai fait :
J'ai créé les 2 fonctions suivantes qui fonctionne très bien utilisées séparéments
************************************************************************* Function CreerLeToggle(cellule As String)
Et c'est cette macro qui cloche. La création des toggle marche parfaitement, mais dès la première exécution de la fonction AjoutCode, j'ai le beau message "Excel a rencontré une erreur... blablabla..." et il se ferme. Je n'ai même pas de message de déboguage.
Par contre, si manuellement, je lance la macro suivante, ça marche sans problème alors que c'est le même code que j'essai d'ajouter. *************************************************************** Sub CopierCode()
Dim CodeToggle As String Dim Lig As Integer
Lig = 8
CodeToggle = "Private Sub ToggleH" & Lig & "_Click()" & vbCrLf & vbCrLf _ & " If ToggleH" & Lig & " = False Then" & vbCrLf _ & " If ToggleI" & Lig & " = True Then Exit Sub" & vbCrLf _ & " ToggleI" & Lig & " = True" & vbCrLf _ & " Exit Sub" & vbCrLf _ & " End If" & vbCrLf _ & " If ToggleI" & Lig & " = True Then ToggleI" & Lig & " = False" & vbCrLf _ & " Range(""I" & Lig & """) = 1" & vbCrLf & vbCrLf _ & "End Sub" & vbCrLf Call AjoutCode(CodeToggle, ActiveSheet.Index)
End Sub ***************************************************************
J'ai exclu la possibilité que ce soit une trop grande quantité de code puisque, déjà c'est pas le cas, et qu'en plus, la macro plante à la première insertion de code... J'ai essayé ma macro depuis un autre PC avec Excel 2003, même punition... :o(
Je vous en prie, dites moi que quelqu'un sait quel connerie j'ai bien pu faire dans ce foutu code .... A moins que vous ayez un autre méthode que me permette par macro d'insérer du code dans le module d'une feuille...
Merci d'avance pour votre aide.
A+
Bonjour,
A moins que vous ayez un autre méthode que me permette par macro
d'insérer
du code dans le module d'une feuille...
* http://frederic.sigonneau.free.fr rubrique VBA
* Archives Google avec le mot-clé CodeModule
* m'étonnerais qu'il ny ait rien sur http://www.excelabo.net
@+
FxM
Bonjour à tous,
Tout d'abord, merci à tous ceux qui contribuent à ce NG car c'est grâce à
eux que j'ai pu avancer dans mon problème.
Par contre, je suis bloqué et ne trouve pas les infos dont j'ai besoin (
sauf erreur de ma part )
Voici l'idée :
Je travail sous Excel 2003.
Je souhaite par macro pouvoir créer des TogglesButtons et ajouter le code
_click par macro dans la feuille concernée.
Au stade ou j'en suis, j'arrive à créer les boutons, mais Excel plante
complètement dès qu'il s'agit de créer le code dans la feuille.
Voici ce que j'ai fait :
J'ai créé les 2 fonctions suivantes qui fonctionne très bien utilisées
séparéments
*************************************************************************
Function CreerLeToggle(cellule As String)
Et c'est cette macro qui cloche. La création des toggle marche parfaitement,
mais dès la première exécution de la fonction AjoutCode, j'ai le beau
message "Excel a rencontré une erreur... blablabla..." et il se ferme.
Je n'ai même pas de message de déboguage.
Par contre, si manuellement, je lance la macro suivante, ça marche sans
problème alors que c'est le même code que j'essai d'ajouter.
***************************************************************
Sub CopierCode()
Dim CodeToggle As String
Dim Lig As Integer
Lig = 8
CodeToggle = "Private Sub ToggleH" & Lig & "_Click()" & vbCrLf & vbCrLf
_
& " If ToggleH" & Lig & " = False Then" & vbCrLf _
& " If ToggleI" & Lig & " = True Then Exit Sub" & vbCrLf _
& " ToggleI" & Lig & " = True" & vbCrLf _
& " Exit Sub" & vbCrLf _
& " End If" & vbCrLf _
& " If ToggleI" & Lig & " = True Then ToggleI" & Lig & " = False"
& vbCrLf _
& " Range(""I" & Lig & """) = 1" & vbCrLf & vbCrLf _
& "End Sub" & vbCrLf
Call AjoutCode(CodeToggle, ActiveSheet.Index)
End Sub
***************************************************************
J'ai exclu la possibilité que ce soit une trop grande quantité de code
puisque, déjà c'est pas le cas, et qu'en plus, la macro plante à la première
insertion de code...
J'ai essayé ma macro depuis un autre PC avec Excel 2003, même punition...
:o(
Je vous en prie, dites moi que quelqu'un sait quel connerie j'ai bien pu
faire dans ce foutu code ....
A moins que vous ayez un autre méthode que me permette par macro d'insérer
du code dans le module d'une feuille...
A moins que vous ayez un autre méthode que me permette par macro d'insérer
du code dans le module d'une feuille...
* http://frederic.sigonneau.free.fr rubrique VBA * Archives Google avec le mot-clé CodeModule * m'étonnerais qu'il ny ait rien sur http://www.excelabo.net
@+ FxM
Bonjour à tous,
Tout d'abord, merci à tous ceux qui contribuent à ce NG car c'est grâce à eux que j'ai pu avancer dans mon problème. Par contre, je suis bloqué et ne trouve pas les infos dont j'ai besoin ( sauf erreur de ma part )
Voici l'idée : Je travail sous Excel 2003. Je souhaite par macro pouvoir créer des TogglesButtons et ajouter le code _click par macro dans la feuille concernée. Au stade ou j'en suis, j'arrive à créer les boutons, mais Excel plante complètement dès qu'il s'agit de créer le code dans la feuille.
Voici ce que j'ai fait :
J'ai créé les 2 fonctions suivantes qui fonctionne très bien utilisées séparéments
************************************************************************* Function CreerLeToggle(cellule As String)
Et c'est cette macro qui cloche. La création des toggle marche parfaitement, mais dès la première exécution de la fonction AjoutCode, j'ai le beau message "Excel a rencontré une erreur... blablabla..." et il se ferme. Je n'ai même pas de message de déboguage.
Par contre, si manuellement, je lance la macro suivante, ça marche sans problème alors que c'est le même code que j'essai d'ajouter. *************************************************************** Sub CopierCode()
Dim CodeToggle As String Dim Lig As Integer
Lig = 8
CodeToggle = "Private Sub ToggleH" & Lig & "_Click()" & vbCrLf & vbCrLf _ & " If ToggleH" & Lig & " = False Then" & vbCrLf _ & " If ToggleI" & Lig & " = True Then Exit Sub" & vbCrLf _ & " ToggleI" & Lig & " = True" & vbCrLf _ & " Exit Sub" & vbCrLf _ & " End If" & vbCrLf _ & " If ToggleI" & Lig & " = True Then ToggleI" & Lig & " = False" & vbCrLf _ & " Range(""I" & Lig & """) = 1" & vbCrLf & vbCrLf _ & "End Sub" & vbCrLf Call AjoutCode(CodeToggle, ActiveSheet.Index)
End Sub ***************************************************************
J'ai exclu la possibilité que ce soit une trop grande quantité de code puisque, déjà c'est pas le cas, et qu'en plus, la macro plante à la première insertion de code... J'ai essayé ma macro depuis un autre PC avec Excel 2003, même punition... :o(
Je vous en prie, dites moi que quelqu'un sait quel connerie j'ai bien pu faire dans ce foutu code .... A moins que vous ayez un autre méthode que me permette par macro d'insérer du code dans le module d'une feuille...
Merci d'avance pour votre aide.
A+
Modeste
Bonsour® FxM avec ferveur ;o))) vous nous disiez :
* http://frederic.sigonneau.free.fr rubrique VBA * Archives Google avec le mot-clé CodeModule * m'étonnerais qu'il ny ait rien sur http://www.excelabo.net
Je souhaite par macro pouvoir créer des TogglesButtons et ajouter le code _click par macro dans la feuille concernée.
voir un oeil là: http://www.cpearson.com/excel/vbe.htm Adding A Module To A Workbook Adding A Procedure To A Module
-- -- @+ ;o)))
Bonsour® FxM avec ferveur ;o))) vous nous disiez :
* http://frederic.sigonneau.free.fr rubrique VBA
* Archives Google avec le mot-clé CodeModule
* m'étonnerais qu'il ny ait rien sur http://www.excelabo.net
Je souhaite par macro pouvoir créer des TogglesButtons et ajouter le code
_click par macro dans la feuille concernée.
voir un oeil là:
http://www.cpearson.com/excel/vbe.htm
Adding A Module To A Workbook
Adding A Procedure To A Module
Bonsour® FxM avec ferveur ;o))) vous nous disiez :
* http://frederic.sigonneau.free.fr rubrique VBA * Archives Google avec le mot-clé CodeModule * m'étonnerais qu'il ny ait rien sur http://www.excelabo.net
Je souhaite par macro pouvoir créer des TogglesButtons et ajouter le code _click par macro dans la feuille concernée.
voir un oeil là: http://www.cpearson.com/excel/vbe.htm Adding A Module To A Workbook Adding A Procedure To A Module
-- -- @+ ;o)))
MichDenis
Voici le code de ton fichier réorganisé.
Et ton code fonctionne : http://cjoint.com/?bpq5US66EI
P.S. à l'intérieur d'une même procédure, on ne peut pas exécuter 2 fois cette ligne de code en utilisant une boucle. Ton code a été réorganisé en tenant compte de ce qui précède.
'-------------------------- With ThisWorkbook.VBProject.VBComponents(Worksheets(LaFeuille).CodeName).CodeModule .AddFromString Code End With '--------------------------
Je laisse à FxM et à Modeste le soin de nous expliquer le pourquoi
Voici le code de ton fichier réorganisé.
Et ton code fonctionne : http://cjoint.com/?bpq5US66EI
P.S. à l'intérieur d'une même procédure, on ne peut pas exécuter
2 fois cette ligne de code en utilisant une boucle. Ton code a été
réorganisé en tenant compte de ce qui précède.
'--------------------------
With ThisWorkbook.VBProject.VBComponents(Worksheets(LaFeuille).CodeName).CodeModule
.AddFromString Code
End With
'--------------------------
Je laisse à FxM et à Modeste le soin de nous expliquer le pourquoi
Et ton code fonctionne : http://cjoint.com/?bpq5US66EI
P.S. à l'intérieur d'une même procédure, on ne peut pas exécuter 2 fois cette ligne de code en utilisant une boucle. Ton code a été réorganisé en tenant compte de ce qui précède.
'-------------------------- With ThisWorkbook.VBProject.VBComponents(Worksheets(LaFeuille).CodeName).CodeModule .AddFromString Code End With '--------------------------
Je laisse à FxM et à Modeste le soin de nous expliquer le pourquoi
FxM
Voici le code de ton fichier réorganisé.
Et ton code fonctionne : http://cjoint.com/?bpq5US66EI
P.S. à l'intérieur d'une même procédure, on ne peut pas exécuter 2 fois cette ligne de code en utilisant une boucle. Ton code a été réorganisé en tenant compte de ce qui précède.
'-------------------------- With ThisWorkbook.VBProject.VBComponents(Worksheets(LaFeuille).CodeName).CodeModule .AddFromString Code End With '--------------------------
Je laisse à FxM et à Modeste le soin de nous expliquer le pourquoi
Pourquoi nous ? Mais euuuh ... ;o)
@+ FxM
Voici le code de ton fichier réorganisé.
Et ton code fonctionne : http://cjoint.com/?bpq5US66EI
P.S. à l'intérieur d'une même procédure, on ne peut pas exécuter
2 fois cette ligne de code en utilisant une boucle. Ton code a été
réorganisé en tenant compte de ce qui précède.
'--------------------------
With ThisWorkbook.VBProject.VBComponents(Worksheets(LaFeuille).CodeName).CodeModule
.AddFromString Code
End With
'--------------------------
Je laisse à FxM et à Modeste le soin de nous expliquer le pourquoi
Et ton code fonctionne : http://cjoint.com/?bpq5US66EI
P.S. à l'intérieur d'une même procédure, on ne peut pas exécuter 2 fois cette ligne de code en utilisant une boucle. Ton code a été réorganisé en tenant compte de ce qui précède.
'-------------------------- With ThisWorkbook.VBProject.VBComponents(Worksheets(LaFeuille).CodeName).CodeModule .AddFromString Code End With '--------------------------
Je laisse à FxM et à Modeste le soin de nous expliquer le pourquoi
Pourquoi nous ? Mais euuuh ... ;o)
@+ FxM
MichDenis
| Pourquoi nous ? Mais euuuh ...
Comme vos réponses subornaient une confiance à ton crin, je suppose que vous connaissez tous les tenants et aboutissants de ce type de procédure ! ;-))
"FxM" a écrit dans le message de news:
Voici le code de ton fichier réorganisé.
Et ton code fonctionne : http://cjoint.com/?bpq5US66EI
P.S. à l'intérieur d'une même procédure, on ne peut pas exécuter 2 fois cette ligne de code en utilisant une boucle. Ton code a été réorganisé en tenant compte de ce qui précède.
'-------------------------- With ThisWorkbook.VBProject.VBComponents(Worksheets(LaFeuille).CodeName).CodeModule .AddFromString Code End With '--------------------------
Je laisse à FxM et à Modeste le soin de nous expliquer le pourquoi
@+ FxM
| Pourquoi nous ? Mais euuuh ...
Comme vos réponses subornaient une confiance à ton crin,
je suppose que vous connaissez tous les tenants et aboutissants
de ce type de procédure ! ;-))
"FxM" <nullos@greuchmeu.ici> a écrit dans le message de news:
OAOaNOMOHHA.3212@TK2MSFTNGP02.phx.gbl...
Voici le code de ton fichier réorganisé.
Et ton code fonctionne : http://cjoint.com/?bpq5US66EI
P.S. à l'intérieur d'une même procédure, on ne peut pas exécuter
2 fois cette ligne de code en utilisant une boucle. Ton code a été
réorganisé en tenant compte de ce qui précède.
'--------------------------
With ThisWorkbook.VBProject.VBComponents(Worksheets(LaFeuille).CodeName).CodeModule
.AddFromString Code
End With
'--------------------------
Je laisse à FxM et à Modeste le soin de nous expliquer le pourquoi
Comme vos réponses subornaient une confiance à ton crin, je suppose que vous connaissez tous les tenants et aboutissants de ce type de procédure ! ;-))
"FxM" a écrit dans le message de news:
Voici le code de ton fichier réorganisé.
Et ton code fonctionne : http://cjoint.com/?bpq5US66EI
P.S. à l'intérieur d'une même procédure, on ne peut pas exécuter 2 fois cette ligne de code en utilisant une boucle. Ton code a été réorganisé en tenant compte de ce qui précède.
'-------------------------- With ThisWorkbook.VBProject.VBComponents(Worksheets(LaFeuille).CodeName).CodeModule .AddFromString Code End With '--------------------------
Je laisse à FxM et à Modeste le soin de nous expliquer le pourquoi
@+ FxM
FxM
| Pourquoi nous ? Mais euuuh ...
Comme vos réponses subornaient une confiance à ton crin, je suppose que vous connaissez tous les tenants et aboutissants de ce type de procédure ! ;-))
J'avoue deux choses (et uniquement celles-là) :o) - Je reste étonné que l'on ne puisse 'boucler' sur ce genre de création. Mais je n'ai ni le temps, ni l'envie de vérifier. - si je devais connaître *toutes* les implications de mes réponses, je n'en ferais aucune.
@+ FxM
| Pourquoi nous ? Mais euuuh ...
Comme vos réponses subornaient une confiance à ton crin,
je suppose que vous connaissez tous les tenants et aboutissants
de ce type de procédure ! ;-))
J'avoue deux choses (et uniquement celles-là) :o)
- Je reste étonné que l'on ne puisse 'boucler' sur ce genre de création.
Mais je n'ai ni le temps, ni l'envie de vérifier.
- si je devais connaître *toutes* les implications de mes réponses, je
n'en ferais aucune.
Comme vos réponses subornaient une confiance à ton crin, je suppose que vous connaissez tous les tenants et aboutissants de ce type de procédure ! ;-))
J'avoue deux choses (et uniquement celles-là) :o) - Je reste étonné que l'on ne puisse 'boucler' sur ce genre de création. Mais je n'ai ni le temps, ni l'envie de vérifier. - si je devais connaître *toutes* les implications de mes réponses, je n'en ferais aucune.
@+ FxM
Fabrice N.
Bonjour à tous,
désolé pour le retard.
Merci MichDenis d'avoir pris le temps de revoir mon code. et Merci à FxM et Modeste d'avoir pris le temps d'ajouter quelques lignes et pour les liens...
Je vais tester tout ça et ne manquerai pas de vous donner les résultat...
A+
"MichDenis" a écrit dans le message de news: %
Voici le code de ton fichier réorganisé.
Et ton code fonctionne : http://cjoint.com/?bpq5US66EI
P.S. à l'intérieur d'une même procédure, on ne peut pas exécuter 2 fois cette ligne de code en utilisant une boucle. Ton code a été réorganisé en tenant compte de ce qui précède.
'-------------------------- With ThisWorkbook.VBProject.VBComponents(Worksheets(LaFeuille).CodeName).CodeModule .AddFromString Code End With '--------------------------
Je laisse à FxM et à Modeste le soin de nous expliquer le pourquoi
Bonjour à tous,
désolé pour le retard.
Merci MichDenis d'avoir pris le temps de revoir mon code. et Merci à FxM et
Modeste d'avoir pris le temps d'ajouter quelques lignes et pour les liens...
Je vais tester tout ça et ne manquerai pas de vous donner les résultat...
A+
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
%23W8V85LOHHA.960@TK2MSFTNGP04.phx.gbl...
Voici le code de ton fichier réorganisé.
Et ton code fonctionne : http://cjoint.com/?bpq5US66EI
P.S. à l'intérieur d'une même procédure, on ne peut pas exécuter
2 fois cette ligne de code en utilisant une boucle. Ton code a été
réorganisé en tenant compte de ce qui précède.
'--------------------------
With
ThisWorkbook.VBProject.VBComponents(Worksheets(LaFeuille).CodeName).CodeModule
.AddFromString Code
End With
'--------------------------
Je laisse à FxM et à Modeste le soin de nous expliquer le pourquoi
Merci MichDenis d'avoir pris le temps de revoir mon code. et Merci à FxM et Modeste d'avoir pris le temps d'ajouter quelques lignes et pour les liens...
Je vais tester tout ça et ne manquerai pas de vous donner les résultat...
A+
"MichDenis" a écrit dans le message de news: %
Voici le code de ton fichier réorganisé.
Et ton code fonctionne : http://cjoint.com/?bpq5US66EI
P.S. à l'intérieur d'une même procédure, on ne peut pas exécuter 2 fois cette ligne de code en utilisant une boucle. Ton code a été réorganisé en tenant compte de ce qui précède.
'-------------------------- With ThisWorkbook.VBProject.VBComponents(Worksheets(LaFeuille).CodeName).CodeModule .AddFromString Code End With '--------------------------
Je laisse à FxM et à Modeste le soin de nous expliquer le pourquoi
MichDenis
| - Je reste étonné que l'on ne puisse 'boucler' sur ce genre de création. | Mais je n'ai ni le temps, ni l'envie de vérifier.
J'ai posé la question sur le forum anglais, et je n'ai reçu aucun commentaire ! Je suppose que les questions trop faciles n'intéressent pas personne !!! Dommage que toi aussi n'ayez point envie de tenter le coup.... ;-)
| - Je reste étonné que l'on ne puisse 'boucler' sur ce genre de création.
| Mais je n'ai ni le temps, ni l'envie de vérifier.
J'ai posé la question sur le forum anglais, et je n'ai reçu aucun commentaire !
Je suppose que les questions trop faciles n'intéressent pas personne !!!
Dommage que toi aussi n'ayez point envie de tenter le coup....
;-)
| - Je reste étonné que l'on ne puisse 'boucler' sur ce genre de création. | Mais je n'ai ni le temps, ni l'envie de vérifier.
J'ai posé la question sur le forum anglais, et je n'ai reçu aucun commentaire ! Je suppose que les questions trop faciles n'intéressent pas personne !!! Dommage que toi aussi n'ayez point envie de tenter le coup.... ;-)