OVH Cloud OVH Cloud

guillemets dans modif d'une procédure avec une autre procédure

2 réponses
Avatar
philip
Bonjour,
Et c'est reparti...
Je dois modifier une procédure à l'aide d'une autre procédure. J'ai très
bien réussi à écrire une nouvelle ligne de code dans la procédure à modifier
(merci Frédéric Sigonneau). Mais, comme une difficulté n'arrive jamais seule,
je n'arrive pas à écrire les guillemets. Je m'explique :
- je veux écrire : NomFeuil = "saisies2005"
- je réalise cela de la façon suivante :
Private Sub Modif ()
NomFeuil = UserForm1.ComboBox1.Text
With Classeur.VBProject.VBComponents("ThisWorkbook").CodeModule
NomMacro = "Workbook_Open"
Modif = "NomFeuil = " & NomFeuil
Lideb.ProcBodyLine (NomMacro , 0)
.DeleteLines Lideb + 2 , 1
.InsertLines Lideb + 2 , Modif
End With
End Sub

Le résultat est qu'en ligne 2 de la procédure Workbook_Open, est écri :
NomFeuil = saisies2005
au lieu de :
NomFeuil = "saisies2005"

Je ne parviens pas à écrire les guillemets
Y a-t- il une solution ?
Merci de votre aide

2 réponses

Avatar
denis P
Salut Il faut doubler les guillemets

Modif = "NomFeuil = """ & NomFeuil & """"

denis p.



"philip" a écrit dans le message de
news:
Bonjour,
Et c'est reparti...
Je dois modifier une procédure à l'aide d'une autre procédure. J'ai très
bien réussi à écrire une nouvelle ligne de code dans la procédure à
modifier

(merci Frédéric Sigonneau). Mais, comme une difficulté n'arrive jamais
seule,

je n'arrive pas à écrire les guillemets. Je m'explique :
- je veux écrire : NomFeuil = "saisies2005"
- je réalise cela de la façon suivante :
Private Sub Modif ()
NomFeuil = UserForm1.ComboBox1.Text
With Classeur.VBProject.VBComponents("ThisWorkbook").CodeModule
NomMacro = "Workbook_Open"
Modif = "NomFeuil = " & NomFeuil
Lideb.ProcBodyLine (NomMacro , 0)
.DeleteLines Lideb + 2 , 1
.InsertLines Lideb + 2 , Modif
End With
End Sub

Le résultat est qu'en ligne 2 de la procédure Workbook_Open, est écri :
NomFeuil = saisies2005
au lieu de :
NomFeuil = "saisies2005"

Je ne parviens pas à écrire les guillemets
Y a-t- il une solution ?
Merci de votre aide


Avatar
philip
ça marche ! Merci Denis.
Sauf que dans la suite du programme, la nouvelle valeur de la variable
NomFeuil n'est pas reconnue, comme s'il falait la réinitialiser. ça
fonctionne très bien si on ferme le fichier en enregistrant les
modifications. A l'ouverture suivante, la macro fonctionne avec la nouvelle
valeur de la variable NomFeuil modifiée précédemment. C'est en tout cas déjà
une belle avancée qui rend le document exploitable, mais ... Pourquoi la
nouvelle valeur de la variable NomFeuil n'est pas prise en compte
immédiatement par le programme ?
merci encore pour votre aide


Salut Il faut doubler les guillemets

Modif = "NomFeuil = """ & NomFeuil & """"

denis p.



"philip" a écrit dans le message de
news:
Bonjour,
Et c'est reparti...
Je dois modifier une procédure à l'aide d'une autre procédure. J'ai très
bien réussi à écrire une nouvelle ligne de code dans la procédure à
modifier

(merci Frédéric Sigonneau). Mais, comme une difficulté n'arrive jamais
seule,

je n'arrive pas à écrire les guillemets. Je m'explique :
- je veux écrire : NomFeuil = "saisies2005"
- je réalise cela de la façon suivante :
Private Sub Modif ()
NomFeuil = UserForm1.ComboBox1.Text
With Classeur.VBProject.VBComponents("ThisWorkbook").CodeModule
NomMacro = "Workbook_Open"
Modif = "NomFeuil = " & NomFeuil
Lideb.ProcBodyLine (NomMacro , 0)
.DeleteLines Lideb + 2 , 1
.InsertLines Lideb + 2 , Modif
End With
End Sub

Le résultat est qu'en ligne 2 de la procédure Workbook_Open, est écri :
NomFeuil = saisies2005
au lieu de :
NomFeuil = "saisies2005"

Je ne parviens pas à écrire les guillemets
Y a-t- il une solution ?
Merci de votre aide