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

macro & plantage excel

7 réponses
Avatar
Me
Bonjour à tous,

Je fais actuellement une macro afin de modifier le code VBA
d'un fichier excel que j'ai distribué... Ma macro contient plusieurs modules
dont le suivant qui me fait planter excel:

_________________________________________
Option Explicit

Sub ModifVérrouillageCellules(FichierSélectionné)

'Ajoute un code dans certaines feuilles afin de vérouiller les cellules
protégées'

Dim TxtModif As String
Dim Wbk As Workbook
Dim LigModif

Set Wbk = FichierSélectionné

'modifie la ligne 2 de la macro de la feuille "Feuil2"
TxtModif = Chr(13) _
& "Private Sub Worksheet_Activate()" & Chr(13) _
& Chr(13) _
& "''''''''''''''''''''''''''''''''''" & Chr(13) _
& "'Désactive les cellules protégées'" & Chr(13) _
& "''''''''''''''''''''''''''''''''''" & Chr(13) _
& Chr(13) _
& Chr(9) & "EnableSelection = xlUnlockedCells" & Chr(13) _
& Chr(13) _
& "End Sub"

LigModif = 2

Wbk.VBProject.VBComponents("Feuil2").CodeModule.InsertLines LigModif,
TxtModif

End Sub
________________________________________________________

Le plantage intervient lors de l'execution de la ligne 'End Sub' alors que
la modif dans le module est bien effectuée...

En revanche, j'ai remarqué 2 choses:

1- Si je diminue la taille du text de TxtModif tel que TxtModif= "Rem" alors
pas de pb...
2- Si j'execute uniquement le module ModifVérrouillageCellules sans le reste
de ma macro, alors pas de pb...

Si quelqu'un a une idée, merci d'avance pour votre aide ;-)

Merci

@+

Me

7 réponses

Avatar
papou
Bonjour
Je pense que tu devrais aller faire un tour ici :
http://perso.wanadoo.fr/frederic.sigonneau/code/VBE/ModifMacroParMacro.txt
L'exemple correspond (presque) trait pour trait avec ce que tu souhaites
faire.
A toi de l'adapter

Cordialement
Pascal

"Me" a écrit dans le message de news:

Bonjour à tous,

Je fais actuellement une macro afin de modifier le code VBA
d'un fichier excel que j'ai distribué... Ma macro contient plusieurs
modules
dont le suivant qui me fait planter excel:

_________________________________________
Option Explicit

Sub ModifVérrouillageCellules(FichierSélectionné)

'Ajoute un code dans certaines feuilles afin de vérouiller les cellules
protégées'

Dim TxtModif As String
Dim Wbk As Workbook
Dim LigModif

Set Wbk = FichierSélectionné

'modifie la ligne 2 de la macro de la feuille "Feuil2"
TxtModif = Chr(13) _
& "Private Sub Worksheet_Activate()" & Chr(13) _
& Chr(13) _
& "''''''''''''''''''''''''''''''''''" & Chr(13) _
& "'Désactive les cellules protégées'" & Chr(13) _
& "''''''''''''''''''''''''''''''''''" & Chr(13) _
& Chr(13) _
& Chr(9) & "EnableSelection = xlUnlockedCells" & Chr(13) _
& Chr(13) _
& "End Sub"

LigModif = 2

Wbk.VBProject.VBComponents("Feuil2").CodeModule.InsertLines LigModif,
TxtModif

End Sub
________________________________________________________

Le plantage intervient lors de l'execution de la ligne 'End Sub' alors que
la modif dans le module est bien effectuée...

En revanche, j'ai remarqué 2 choses:

1- Si je diminue la taille du text de TxtModif tel que TxtModif= "Rem"
alors
pas de pb...
2- Si j'execute uniquement le module ModifVérrouillageCellules sans le
reste
de ma macro, alors pas de pb...

Si quelqu'un a une idée, merci d'avance pour votre aide ;-)

Merci

@+

Me



Avatar
Me
Merci pascal.

Mais en effet si ma macro ressemble trait pour trait à celle du lien que tu
me donnes, c'est que je me suis inspiré de cette dernière que j'ai adaptée à
mon cas...

Donc, le pb n'est pas vraiment le fonctionnement de la macro, puisque
celle-ci fonctionne très bien lorsqu'elle est exécutée isolément; mais plutot
de savoir qu'est ce qui fait planter Excel lorsque je l'exécute au milieu
d'un projet VBA...???

Merci encore.

Me


"papou" wrote:

Bonjour
Je pense que tu devrais aller faire un tour ici :
http://perso.wanadoo.fr/frederic.sigonneau/code/VBE/ModifMacroParMacro.txt
L'exemple correspond (presque) trait pour trait avec ce que tu souhaites
faire.
A toi de l'adapter

Cordialement
Pascal

"Me" a écrit dans le message de news:

Bonjour à tous,

Je fais actuellement une macro afin de modifier le code VBA
d'un fichier excel que j'ai distribué... Ma macro contient plusieurs
modules
dont le suivant qui me fait planter excel:

_________________________________________
Option Explicit

Sub ModifVérrouillageCellules(FichierSélectionné)

'Ajoute un code dans certaines feuilles afin de vérouiller les cellules
protégées'

Dim TxtModif As String
Dim Wbk As Workbook
Dim LigModif

Set Wbk = FichierSélectionné

'modifie la ligne 2 de la macro de la feuille "Feuil2"
TxtModif = Chr(13) _
& "Private Sub Worksheet_Activate()" & Chr(13) _
& Chr(13) _
& "''''''''''''''''''''''''''''''''''" & Chr(13) _
& "'Désactive les cellules protégées'" & Chr(13) _
& "''''''''''''''''''''''''''''''''''" & Chr(13) _
& Chr(13) _
& Chr(9) & "EnableSelection = xlUnlockedCells" & Chr(13) _
& Chr(13) _
& "End Sub"

LigModif = 2

Wbk.VBProject.VBComponents("Feuil2").CodeModule.InsertLines LigModif,
TxtModif

End Sub
________________________________________________________

Le plantage intervient lors de l'execution de la ligne 'End Sub' alors que
la modif dans le module est bien effectuée...

En revanche, j'ai remarqué 2 choses:

1- Si je diminue la taille du text de TxtModif tel que TxtModif= "Rem"
alors
pas de pb...
2- Si j'execute uniquement le module ModifVérrouillageCellules sans le
reste
de ma macro, alors pas de pb...

Si quelqu'un a une idée, merci d'avance pour votre aide ;-)

Merci

@+

Me








Avatar
Gaenonius
Il est possible que la tentative de compilation après la modification échoue à
cause d'une erreur de syntaxe. Essaye de remplacer :

"EnableSelection = xlUnlockedCells"

par :

"Me.EnableSelection = xlUnlockedCells"

--
Gaenonius

Bonjour à tous,

Je fais actuellement une macro afin de modifier le code VBA
d'un fichier excel que j'ai distribué... Ma macro contient plusieurs modules
dont le suivant qui me fait planter excel:

_________________________________________
Option Explicit

Sub ModifVérrouillageCellules(FichierSélectionné)

'Ajoute un code dans certaines feuilles afin de vérouiller les cellules
protégées'

Dim TxtModif As String
Dim Wbk As Workbook
Dim LigModif

Set Wbk = FichierSélectionné

'modifie la ligne 2 de la macro de la feuille "Feuil2"
TxtModif = Chr(13) _
& "Private Sub Worksheet_Activate()" & Chr(13) _
& Chr(13) _
& "''''''''''''''''''''''''''''''''''" & Chr(13) _
& "'Désactive les cellules protégées'" & Chr(13) _
& "''''''''''''''''''''''''''''''''''" & Chr(13) _
& Chr(13) _
& Chr(9) & "EnableSelection = xlUnlockedCells" & Chr(13) _
& Chr(13) _
& "End Sub"

LigModif = 2

Wbk.VBProject.VBComponents("Feuil2").CodeModule.InsertLines LigModif,
TxtModif

End Sub
________________________________________________________

Le plantage intervient lors de l'execution de la ligne 'End Sub' alors que
la modif dans le module est bien effectuée...

En revanche, j'ai remarqué 2 choses:

1- Si je diminue la taille du text de TxtModif tel que TxtModif= "Rem" alors
pas de pb...
2- Si j'execute uniquement le module ModifVérrouillageCellules sans le reste
de ma macro, alors pas de pb...

Si quelqu'un a une idée, merci d'avance pour votre aide ;-)

Merci

@+

Me



Avatar
papou
Bonjour
Dans ces conditions je ne vois pas à moins que tu n'essaies de l'exécuter
depuis l'éditeur VBA.
Cordialement
Pascal

"Me" a écrit dans le message de news:

Merci pascal.

Mais en effet si ma macro ressemble trait pour trait à celle du lien que
tu
me donnes, c'est que je me suis inspiré de cette dernière que j'ai adaptée
à
mon cas...

Donc, le pb n'est pas vraiment le fonctionnement de la macro, puisque
celle-ci fonctionne très bien lorsqu'elle est exécutée isolément; mais
plutot
de savoir qu'est ce qui fait planter Excel lorsque je l'exécute au milieu
d'un projet VBA...???

Merci encore.

Me


"papou" wrote:

Bonjour
Je pense que tu devrais aller faire un tour ici :
http://perso.wanadoo.fr/frederic.sigonneau/code/VBE/ModifMacroParMacro.txt
L'exemple correspond (presque) trait pour trait avec ce que tu souhaites
faire.
A toi de l'adapter

Cordialement
Pascal

"Me" a écrit dans le message de news:

Bonjour à tous,

Je fais actuellement une macro afin de modifier le code VBA
d'un fichier excel que j'ai distribué... Ma macro contient plusieurs
modules
dont le suivant qui me fait planter excel:

_________________________________________
Option Explicit

Sub ModifVérrouillageCellules(FichierSélectionné)

'Ajoute un code dans certaines feuilles afin de vérouiller les cellules
protégées'

Dim TxtModif As String
Dim Wbk As Workbook
Dim LigModif

Set Wbk = FichierSélectionné

'modifie la ligne 2 de la macro de la feuille "Feuil2"
TxtModif = Chr(13) _
& "Private Sub Worksheet_Activate()" & Chr(13) _
& Chr(13) _
& "''''''''''''''''''''''''''''''''''" & Chr(13) _
& "'Désactive les cellules protégées'" & Chr(13) _
& "''''''''''''''''''''''''''''''''''" & Chr(13) _
& Chr(13) _
& Chr(9) & "EnableSelection = xlUnlockedCells" & Chr(13) _
& Chr(13) _
& "End Sub"

LigModif = 2

Wbk.VBProject.VBComponents("Feuil2").CodeModule.InsertLines
LigModif,
TxtModif

End Sub
________________________________________________________

Le plantage intervient lors de l'execution de la ligne 'End Sub' alors
que
la modif dans le module est bien effectuée...

En revanche, j'ai remarqué 2 choses:

1- Si je diminue la taille du text de TxtModif tel que TxtModif= "Rem"
alors
pas de pb...
2- Si j'execute uniquement le module ModifVérrouillageCellules sans le
reste
de ma macro, alors pas de pb...

Si quelqu'un a une idée, merci d'avance pour votre aide ;-)

Merci

@+

Me










Avatar
Me
éQue le projet soit lancer par l'éditeur VBA ou soit lancé à partir d'un
bouton dans excel: le résultat est le même... :-(

Merci tout de même.

Me

"papou" wrote:

Bonjour
Dans ces conditions je ne vois pas à moins que tu n'essaies de l'exécuter
depuis l'éditeur VBA.
Cordialement
Pascal

"Me" a écrit dans le message de news:

Merci pascal.

Mais en effet si ma macro ressemble trait pour trait à celle du lien que
tu
me donnes, c'est que je me suis inspiré de cette dernière que j'ai adaptée
à
mon cas...

Donc, le pb n'est pas vraiment le fonctionnement de la macro, puisque
celle-ci fonctionne très bien lorsqu'elle est exécutée isolément; mais
plutot
de savoir qu'est ce qui fait planter Excel lorsque je l'exécute au milieu
d'un projet VBA...???

Merci encore.

Me


"papou" wrote:

Bonjour
Je pense que tu devrais aller faire un tour ici :
http://perso.wanadoo.fr/frederic.sigonneau/code/VBE/ModifMacroParMacro.txt
L'exemple correspond (presque) trait pour trait avec ce que tu souhaites
faire.
A toi de l'adapter

Cordialement
Pascal

"Me" a écrit dans le message de news:

Bonjour à tous,

Je fais actuellement une macro afin de modifier le code VBA
d'un fichier excel que j'ai distribué... Ma macro contient plusieurs
modules
dont le suivant qui me fait planter excel:

_________________________________________
Option Explicit

Sub ModifVérrouillageCellules(FichierSélectionné)

'Ajoute un code dans certaines feuilles afin de vérouiller les cellules
protégées'

Dim TxtModif As String
Dim Wbk As Workbook
Dim LigModif

Set Wbk = FichierSélectionné

'modifie la ligne 2 de la macro de la feuille "Feuil2"
TxtModif = Chr(13) _
& "Private Sub Worksheet_Activate()" & Chr(13) _
& Chr(13) _
& "''''''''''''''''''''''''''''''''''" & Chr(13) _
& "'Désactive les cellules protégées'" & Chr(13) _
& "''''''''''''''''''''''''''''''''''" & Chr(13) _
& Chr(13) _
& Chr(9) & "EnableSelection = xlUnlockedCells" & Chr(13) _
& Chr(13) _
& "End Sub"

LigModif = 2

Wbk.VBProject.VBComponents("Feuil2").CodeModule.InsertLines
LigModif,
TxtModif

End Sub
________________________________________________________

Le plantage intervient lors de l'execution de la ligne 'End Sub' alors
que
la modif dans le module est bien effectuée...

En revanche, j'ai remarqué 2 choses:

1- Si je diminue la taille du text de TxtModif tel que TxtModif= "Rem"
alors
pas de pb...
2- Si j'execute uniquement le module ModifVérrouillageCellules sans le
reste
de ma macro, alors pas de pb...

Si quelqu'un a une idée, merci d'avance pour votre aide ;-)

Merci

@+

Me















Avatar
Me
Merci pour l'idée, mais celà ne change rien... plantage d'excel!!!

:-(

Je ne comprend pas de quoi ça peut venir car la réaction est différente
suivant les différents cas (cf. mon 1er post)...

Me


"Gaenonius" wrote:

Il est possible que la tentative de compilation après la modification échoue à
cause d'une erreur de syntaxe. Essaye de remplacer :

"EnableSelection = xlUnlockedCells"

par :

"Me.EnableSelection = xlUnlockedCells"

--
Gaenonius

Bonjour à tous,

Je fais actuellement une macro afin de modifier le code VBA
d'un fichier excel que j'ai distribué... Ma macro contient plusieurs modules
dont le suivant qui me fait planter excel:

_________________________________________
Option Explicit

Sub ModifVérrouillageCellules(FichierSélectionné)

'Ajoute un code dans certaines feuilles afin de vérouiller les cellules
protégées'

Dim TxtModif As String
Dim Wbk As Workbook
Dim LigModif

Set Wbk = FichierSélectionné

'modifie la ligne 2 de la macro de la feuille "Feuil2"
TxtModif = Chr(13) _
& "Private Sub Worksheet_Activate()" & Chr(13) _
& Chr(13) _
& "''''''''''''''''''''''''''''''''''" & Chr(13) _
& "'Désactive les cellules protégées'" & Chr(13) _
& "''''''''''''''''''''''''''''''''''" & Chr(13) _
& Chr(13) _
& Chr(9) & "EnableSelection = xlUnlockedCells" & Chr(13) _
& Chr(13) _
& "End Sub"

LigModif = 2

Wbk.VBProject.VBComponents("Feuil2").CodeModule.InsertLines LigModif,
TxtModif

End Sub
________________________________________________________

Le plantage intervient lors de l'execution de la ligne 'End Sub' alors que
la modif dans le module est bien effectuée...

En revanche, j'ai remarqué 2 choses:

1- Si je diminue la taille du text de TxtModif tel que TxtModif= "Rem" alors
pas de pb...
2- Si j'execute uniquement le module ModifVérrouillageCellules sans le reste
de ma macro, alors pas de pb...

Si quelqu'un a une idée, merci d'avance pour votre aide ;-)

Merci

@+

Me






Avatar
amydale
Moi j'ai eu le meme type de probleme,
et c'etait le PRIVATE lors de la declaration qui me faisait tout planter.
Je l'ai enlevé et ca roule maintenant.
C'est un peu bidouillle et ca explique pas pourquoi mais chez moi ca
marche...
Désolé

Sébastien

"Me" a écrit dans le message de news:

Merci pour l'idée, mais celà ne change rien... plantage d'excel!!!

:-(

Je ne comprend pas de quoi ça peut venir car la réaction est différente
suivant les différents cas (cf. mon 1er post)...

Me


"Gaenonius" wrote:

Il est possible que la tentative de compilation après la modification
échoue à


cause d'une erreur de syntaxe. Essaye de remplacer :

"EnableSelection = xlUnlockedCells"

par :

"Me.EnableSelection = xlUnlockedCells"

--
Gaenonius

Bonjour à tous,

Je fais actuellement une macro afin de modifier le code VBA
d'un fichier excel que j'ai distribué... Ma macro contient plusieurs
modules



dont le suivant qui me fait planter excel:

_________________________________________
Option Explicit

Sub ModifVérrouillageCellules(FichierSélectionné)

'Ajoute un code dans certaines feuilles afin de vérouiller les
cellules



protégées'

Dim TxtModif As String
Dim Wbk As Workbook
Dim LigModif

Set Wbk = FichierSélectionné

'modifie la ligne 2 de la macro de la feuille "Feuil2"
TxtModif = Chr(13) _
& "Private Sub Worksheet_Activate()" & Chr(13) _
& Chr(13) _
& "''''''''''''''''''''''''''''''''''" & Chr(13) _
& "'Désactive les cellules protégées'" & Chr(13) _
& "''''''''''''''''''''''''''''''''''" & Chr(13) _
& Chr(13) _
& Chr(9) & "EnableSelection = xlUnlockedCells" & Chr(13) _
& Chr(13) _
& "End Sub"

LigModif = 2

Wbk.VBProject.VBComponents("Feuil2").CodeModule.InsertLines
LigModif,



TxtModif

End Sub
________________________________________________________

Le plantage intervient lors de l'execution de la ligne 'End Sub' alors
que



la modif dans le module est bien effectuée...

En revanche, j'ai remarqué 2 choses:

1- Si je diminue la taille du text de TxtModif tel que TxtModif= "Rem"
alors



pas de pb...
2- Si j'execute uniquement le module ModifVérrouillageCellules sans le
reste



de ma macro, alors pas de pb...

Si quelqu'un a une idée, merci d'avance pour votre aide ;-)

Merci

@+

Me