OVH Cloud OVH Cloud

L'indice n'appartient pas à la sélection sur VBComponents

7 réponses
Avatar
René Delcourt
Bonjour,

Je m'arrache les cheveux sur ce code qui génère le message ci-dessus

Sub FeuilleEtCode()
MsgBox ("Maintenant")
For Each F In Worksheets
If F.Name = Cible Then
CodeNom = F.CodeName
Exit For
End If
Next
leCode = "Private Sub Worksheet_PivotTableUpdate(ByVal Target As
PivotTable)" & vbLf & "recap" & vbLf & "End Sub
Application.VBE.ActiveVBProject.VBComponents(CodeNom).CodeModule.AddFromString (leCode)
End Sub

Une suggestion?
--
René Delcourt

7 réponses

Avatar
Clément Marcotte
Bonjour,

En allant à la pêche:

Va voir dans (Excel 2002, cela doit se ressembler pour Excel 2003) :

Outils - options - Sécurité - Sécurité des macros - Sources fiable et coche
"Faire confiance au projet Visual Basic".


"René Delcourt" a écrit dans le message de news:

Bonjour,

Je m'arrache les cheveux sur ce code qui génère le message ci-dessus

Sub FeuilleEtCode()
MsgBox ("Maintenant")
For Each F In Worksheets
If F.Name = Cible Then
CodeNom = F.CodeName
Exit For
End If
Next
leCode = "Private Sub Worksheet_PivotTableUpdate(ByVal Target As
PivotTable)" & vbLf & "recap" & vbLf & "End Sub"
Application.VBE.ActiveVBProject.VBComponents(CodeNom).CodeModule.AddFromString
(leCode)
End Sub

Une suggestion?
--
René Delcourt


Avatar
René Delcourt
Déjà coché!!!
Merci quanf même
--
René Delcourt



Bonjour,

En allant à la pêche:

Va voir dans (Excel 2002, cela doit se ressembler pour Excel 2003) :

Outils - options - Sécurité - Sécurité des macros - Sources fiable et coche
"Faire confiance au projet Visual Basic".


"René Delcourt" a écrit dans le message de news:

Bonjour,

Je m'arrache les cheveux sur ce code qui génère le message ci-dessus

Sub FeuilleEtCode()
MsgBox ("Maintenant")
For Each F In Worksheets
If F.Name = Cible Then
CodeNom = F.CodeName
Exit For
End If
Next
leCode = "Private Sub Worksheet_PivotTableUpdate(ByVal Target As
PivotTable)" & vbLf & "recap" & vbLf & "End Sub"
Application.VBE.ActiveVBProject.VBComponents(CodeNom).CodeModule.AddFromString
(leCode)
End Sub

Une suggestion?
--
René Delcourt







Avatar
Clément Marcotte
Bonjour,

Sinon cela pourrait être un mauvais nom de feuille ou une plage incomplète
ou qui déborde ou quelque chose dans le genre.


"René Delcourt" a écrit dans le message de news:

Déjà coché!!!
Merci quanf même
--
René Delcourt



Bonjour,

En allant à la pêche:

Va voir dans (Excel 2002, cela doit se ressembler pour Excel 2003) :

Outils - options - Sécurité - Sécurité des macros - Sources fiable et
coche
"Faire confiance au projet Visual Basic".


"René Delcourt" a écrit dans le message de news:

Bonjour,

Je m'arrache les cheveux sur ce code qui génère le message ci-dessus

Sub FeuilleEtCode()
MsgBox ("Maintenant")
For Each F In Worksheets
If F.Name = Cible Then
CodeNom = F.CodeName
Exit For
End If
Next
leCode = "Private Sub Worksheet_PivotTableUpdate(ByVal Target As
PivotTable)" & vbLf & "recap" & vbLf & "End Sub"
Application.VBE.ActiveVBProject.VBComponents(CodeNom).CodeModule.AddFromString
(leCode)
End Sub

Une suggestion?
--
René Delcourt









Avatar
Trirème
Bonsoir René
Quelle est la ligne où survient l'erreur ?
Est ce que 'Cible' est initialisé avec du texte ?
Que contient CodeNom en sortie de boucle ?

Que des ??? à offrir ;-)
Trirème

Bonjour,

Je m'arrache les cheveux sur ce code qui génère le message ci-dessus

Sub FeuilleEtCode()
MsgBox ("Maintenant")
For Each F In Worksheets
If F.Name = Cible Then
CodeNom = F.CodeName
Exit For
End If
Next
leCode = "Private Sub Worksheet_PivotTableUpdate(ByVal Target As
PivotTable)" & vbLf & "recap" & vbLf & "End Sub"
Application.VBE.ActiveVBProject.VBComponents(CodeNom).CodeModule.AddFromString (leCode)
End Sub

Une suggestion?


Avatar
papou
Bonjour
Après test pas d'erreur.
Si ta macro FeuilleEtCode est lancée depuis un contrôle CommandButton de la
boîte à Outils Contrôles, mets la propriété TakeFocusOnClick à False.
Sinon ?

Cordialement
Pascal

"René Delcourt" a écrit dans le message de news:

Bonjour,

Je m'arrache les cheveux sur ce code qui génère le message ci-dessus

Sub FeuilleEtCode()
MsgBox ("Maintenant")
For Each F In Worksheets
If F.Name = Cible Then
CodeNom = F.CodeName
Exit For
End If
Next
leCode = "Private Sub Worksheet_PivotTableUpdate(ByVal Target As
PivotTable)" & vbLf & "recap" & vbLf & "End Sub"
Application.VBE.ActiveVBProject.VBComponents(CodeNom).CodeModule.AddFromString
(leCode)
End Sub

Une suggestion?
--
René Delcourt


Avatar
René Delcourt
c'est la ligne

Application.VBE.ActiveVBProject.VBComponents(CodeNom).CodeModule.AddFromString (leCode)
Merci de vos suggestions.
J'ai changé d'optique et au lieu de créer une feuille, j'en utilise une
existante dans lequel je mets la macro événementielle.
--
René Delcourt



Bonsoir René
Quelle est la ligne où survient l'erreur ?
Est ce que 'Cible' est initialisé avec du texte ?
Que contient CodeNom en sortie de boucle ?

Que des ??? à offrir ;-)
Trirème

Bonjour,

Je m'arrache les cheveux sur ce code qui génère le message ci-dessus

Sub FeuilleEtCode()
MsgBox ("Maintenant")
For Each F In Worksheets
If F.Name = Cible Then
CodeNom = F.CodeName
Exit For
End If
Next
leCode = "Private Sub Worksheet_PivotTableUpdate(ByVal Target As
PivotTable)" & vbLf & "recap" & vbLf & "End Sub"
Application.VBE.ActiveVBProject.VBComponents(CodeNom).CodeModule.AddFromString (leCode)
End Sub

Une suggestion?





Avatar
anonymousA
Bonjour,

le problème ne serait-il pas lié au fait que Cible est compris par
VBA comme une variable et que si cette variable ne contient rien (
cependant tu ne le dis pas .) alors forcément CodeNom ne recoit rien
et du coup VBComponents(CodeNom) n'a pas de sens ce qui fait que ca se
plante à ce moment là

A+

René Delcourt wrote:
c'est la ligne

Application.VBE.ActiveVBProject.VBComponents(CodeNom).CodeModule.AddFromS tring (leCode)
Merci de vos suggestions.
J'ai changé d'optique et au lieu de créer une feuille, j'en utilise u ne
existante dans lequel je mets la macro événementielle.
--
René Delcourt



Bonsoir René
Quelle est la ligne où survient l'erreur ?
Est ce que 'Cible' est initialisé avec du texte ?
Que contient CodeNom en sortie de boucle ?

Que des ??? à offrir ;-)
Trirème

Bonjour,

Je m'arrache les cheveux sur ce code qui génère le message ci-des sus

Sub FeuilleEtCode()
MsgBox ("Maintenant")
For Each F In Worksheets
If F.Name = Cible Then
CodeNom = F.CodeName
Exit For
End If
Next
leCode = "Private Sub Worksheet_PivotTableUpdate(ByVal Target As
PivotTable)" & vbLf & "recap" & vbLf & "End Sub"
Application.VBE.ActiveVBProject.VBComponents(CodeNom).CodeModule.AddF romString (leCode)
End Sub

Une suggestion?