Bonjour,
Sous Excel2000, un classeur crée en automatique par vba un nouveau classeur.
La construction des feuilles de travail, de leurs contenus, des userforms et
de leurs contenus ne pose aucun problème grâce à vous tous et à michdenis en
particulier.
Je me heurte à celle du module.
J'ai adapté une procédure issue de la base de données d'explication de
Microsoft pour insérer du code à partir d'une plage nommée sous Excel2000.
Le code à insérer provient d'un classeur tiers par la méthode 'copier' et à
été collé en mode texte seul sur la "feuil2" du classeur constructeur.
Puis, en suivant l'explication, j'ai sélectionné la plage intéressée qui
contient le code macro. Dans le menu Insertion, cliqué sur Nom, cliqué sur
Définir et tapé le nom de la plage "MacrosModule1".
Dans le seul module du classeur constructeur, j'ai tapé le code suivant :
Sub ConstruitModule1()
Dim cl As Variant
Code as String
Code = ""
For Each cl In Range("macrosmodule1")
Code = Code & cl.Value & Chr$(10)
Next
Set FormeUtile =
NouveauClasseur.VBProject.VBComponents.Add(vbext_ct_StdModule)
....
....
End Sub
L'objet NouveaClasseur est créé en première macro et utilisé dans toutes les
autres macros, sans problème.
Toute la construction du nouveau classeur s'effectue sans anomalie sauf sur
cette macro, appelée en dernier.
Et ça plante à chaque fois avec le message "Erreur d'exécution 1004, la
méthode 'Range' de l'objet '_Global' à échoué'.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michdenis
Bonjour,
| Et ça plante à chaque fois avec le message | "Erreur d'exécution 1004, la méthode | 'Range' de l'objet '_Global' à échoué'.
Est-ce que tu es sûr que ce bout de code faire référence au bon classeur où le nom a été créé. Pourquoi ne pas mettre la référence complète, quelque chose comme :
With Workbooks("NomDuClasseur.xls").Worksheets("NomFeuille") For Each cl In .Range("macrosmodule1") Code = Code & cl.Value & Chr$(10) Next End With
P.S - Ne pas oublier le point devant l'expression "Range"
"Joël André" a écrit dans le message de groupe de discussion :
Bonjour, Sous Excel2000, un classeur crée en automatique par vba un nouveau classeur. La construction des feuilles de travail, de leurs contenus, des userforms et de leurs contenus ne pose aucun problème grâce à vous tous et à michdenis en particulier. Je me heurte à celle du module. J'ai adapté une procédure issue de la base de données d'explication de Microsoft pour insérer du code à partir d'une plage nommée sous Excel2000. Le code à insérer provient d'un classeur tiers par la méthode 'copier' et à été collé en mode texte seul sur la "feuil2" du classeur constructeur. Puis, en suivant l'explication, j'ai sélectionné la plage intéressée qui contient le code macro. Dans le menu Insertion, cliqué sur Nom, cliqué sur Définir et tapé le nom de la plage "MacrosModule1". Dans le seul module du classeur constructeur, j'ai tapé le code suivant :
Sub ConstruitModule1() Dim cl As Variant Code as String
Code = "" For Each cl In Range("macrosmodule1") Code = Code & cl.Value & Chr$(10) Next
Set FormeUtile NouveauClasseur.VBProject.VBComponents.Add(vbext_ct_StdModule) .... ....
End Sub
L'objet NouveaClasseur est créé en première macro et utilisé dans toutes les autres macros, sans problème. Toute la construction du nouveau classeur s'effectue sans anomalie sauf sur cette macro, appelée en dernier. Et ça plante à chaque fois avec le message "Erreur d'exécution 1004, la méthode 'Range' de l'objet '_Global' à échoué'.
Merci pour votre temps et vos idées.
Joël André
Bonjour,
| Et ça plante à chaque fois avec le message
| "Erreur d'exécution 1004, la méthode
| 'Range' de l'objet '_Global' à échoué'.
Est-ce que tu es sûr que ce bout de code faire référence
au bon classeur où le nom a été créé. Pourquoi ne pas
mettre la référence complète, quelque chose comme :
With Workbooks("NomDuClasseur.xls").Worksheets("NomFeuille")
For Each cl In .Range("macrosmodule1")
Code = Code & cl.Value & Chr$(10)
Next
End With
P.S - Ne pas oublier le point devant l'expression "Range"
"Joël André" <joel.andre7@wanadoo.fr> a écrit dans le message de groupe de discussion :
OOhB9XjALHA.1700@TK2MSFTNGP02.phx.gbl...
Bonjour,
Sous Excel2000, un classeur crée en automatique par vba un nouveau classeur.
La construction des feuilles de travail, de leurs contenus, des userforms et
de leurs contenus ne pose aucun problème grâce à vous tous et à michdenis en
particulier.
Je me heurte à celle du module.
J'ai adapté une procédure issue de la base de données d'explication de
Microsoft pour insérer du code à partir d'une plage nommée sous Excel2000.
Le code à insérer provient d'un classeur tiers par la méthode 'copier' et à
été collé en mode texte seul sur la "feuil2" du classeur constructeur.
Puis, en suivant l'explication, j'ai sélectionné la plage intéressée qui
contient le code macro. Dans le menu Insertion, cliqué sur Nom, cliqué sur
Définir et tapé le nom de la plage "MacrosModule1".
Dans le seul module du classeur constructeur, j'ai tapé le code suivant :
Sub ConstruitModule1()
Dim cl As Variant
Code as String
Code = ""
For Each cl In Range("macrosmodule1")
Code = Code & cl.Value & Chr$(10)
Next
Set FormeUtile NouveauClasseur.VBProject.VBComponents.Add(vbext_ct_StdModule)
....
....
End Sub
L'objet NouveaClasseur est créé en première macro et utilisé dans toutes les
autres macros, sans problème.
Toute la construction du nouveau classeur s'effectue sans anomalie sauf sur
cette macro, appelée en dernier.
Et ça plante à chaque fois avec le message "Erreur d'exécution 1004, la
méthode 'Range' de l'objet '_Global' à échoué'.
| Et ça plante à chaque fois avec le message | "Erreur d'exécution 1004, la méthode | 'Range' de l'objet '_Global' à échoué'.
Est-ce que tu es sûr que ce bout de code faire référence au bon classeur où le nom a été créé. Pourquoi ne pas mettre la référence complète, quelque chose comme :
With Workbooks("NomDuClasseur.xls").Worksheets("NomFeuille") For Each cl In .Range("macrosmodule1") Code = Code & cl.Value & Chr$(10) Next End With
P.S - Ne pas oublier le point devant l'expression "Range"
"Joël André" a écrit dans le message de groupe de discussion :
Bonjour, Sous Excel2000, un classeur crée en automatique par vba un nouveau classeur. La construction des feuilles de travail, de leurs contenus, des userforms et de leurs contenus ne pose aucun problème grâce à vous tous et à michdenis en particulier. Je me heurte à celle du module. J'ai adapté une procédure issue de la base de données d'explication de Microsoft pour insérer du code à partir d'une plage nommée sous Excel2000. Le code à insérer provient d'un classeur tiers par la méthode 'copier' et à été collé en mode texte seul sur la "feuil2" du classeur constructeur. Puis, en suivant l'explication, j'ai sélectionné la plage intéressée qui contient le code macro. Dans le menu Insertion, cliqué sur Nom, cliqué sur Définir et tapé le nom de la plage "MacrosModule1". Dans le seul module du classeur constructeur, j'ai tapé le code suivant :
Sub ConstruitModule1() Dim cl As Variant Code as String
Code = "" For Each cl In Range("macrosmodule1") Code = Code & cl.Value & Chr$(10) Next
Set FormeUtile NouveauClasseur.VBProject.VBComponents.Add(vbext_ct_StdModule) .... ....
End Sub
L'objet NouveaClasseur est créé en première macro et utilisé dans toutes les autres macros, sans problème. Toute la construction du nouveau classeur s'effectue sans anomalie sauf sur cette macro, appelée en dernier. Et ça plante à chaque fois avec le message "Erreur d'exécution 1004, la méthode 'Range' de l'objet '_Global' à échoué'.
Merci pour votre temps et vos idées.
Joël André
Joël André
Merci michdenis,
Ca marche et cela m'a permis de comprendre mes erreurs. Chaleureux remerciements.
Joël André
"michdenis" a écrit dans le message de news: uW$
Bonjour,
| Et ça plante à chaque fois avec le message | "Erreur d'exécution 1004, la méthode | 'Range' de l'objet '_Global' à échoué'.
Est-ce que tu es sûr que ce bout de code faire référence au bon classeur où le nom a été créé. Pourquoi ne pas mettre la référence complète, quelque chose comme :
With Workbooks("NomDuClasseur.xls").Worksheets("NomFeuille") For Each cl In .Range("macrosmodule1") Code = Code & cl.Value & Chr$(10) Next End With
P.S - Ne pas oublier le point devant l'expression "Range"
"Joël André" a écrit dans le message de groupe de discussion :
Bonjour, Sous Excel2000, un classeur crée en automatique par vba un nouveau classeur. La construction des feuilles de travail, de leurs contenus, des userforms et de leurs contenus ne pose aucun problème grâce à vous tous et à michdenis en particulier. Je me heurte à celle du module. J'ai adapté une procédure issue de la base de données d'explication de Microsoft pour insérer du code à partir d'une plage nommée sous Excel2000. Le code à insérer provient d'un classeur tiers par la méthode 'copier' et à été collé en mode texte seul sur la "feuil2" du classeur constructeur. Puis, en suivant l'explication, j'ai sélectionné la plage intéressée qui contient le code macro. Dans le menu Insertion, cliqué sur Nom, cliqué sur Définir et tapé le nom de la plage "MacrosModule1". Dans le seul module du classeur constructeur, j'ai tapé le code suivant :
Sub ConstruitModule1() Dim cl As Variant Code as String
Code = "" For Each cl In Range("macrosmodule1") Code = Code & cl.Value & Chr$(10) Next
Set FormeUtile > NouveauClasseur.VBProject.VBComponents.Add(vbext_ct_StdModule) .... ....
End Sub
L'objet NouveaClasseur est créé en première macro et utilisé dans toutes les autres macros, sans problème. Toute la construction du nouveau classeur s'effectue sans anomalie sauf sur cette macro, appelée en dernier. Et ça plante à chaque fois avec le message "Erreur d'exécution 1004, la méthode 'Range' de l'objet '_Global' à échoué'.
Merci pour votre temps et vos idées.
Joël André
Merci michdenis,
Ca marche et cela m'a permis de comprendre mes erreurs.
Chaleureux remerciements.
Joël André
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
uW$LkljALHA.4704@TK2MSFTNGP06.phx.gbl...
Bonjour,
| Et ça plante à chaque fois avec le message
| "Erreur d'exécution 1004, la méthode
| 'Range' de l'objet '_Global' à échoué'.
Est-ce que tu es sûr que ce bout de code faire référence
au bon classeur où le nom a été créé. Pourquoi ne pas
mettre la référence complète, quelque chose comme :
With Workbooks("NomDuClasseur.xls").Worksheets("NomFeuille")
For Each cl In .Range("macrosmodule1")
Code = Code & cl.Value & Chr$(10)
Next
End With
P.S - Ne pas oublier le point devant l'expression "Range"
"Joël André" <joel.andre7@wanadoo.fr> a écrit dans le message de groupe de
discussion :
OOhB9XjALHA.1700@TK2MSFTNGP02.phx.gbl...
Bonjour,
Sous Excel2000, un classeur crée en automatique par vba un nouveau
classeur.
La construction des feuilles de travail, de leurs contenus, des userforms
et
de leurs contenus ne pose aucun problème grâce à vous tous et à michdenis
en
particulier.
Je me heurte à celle du module.
J'ai adapté une procédure issue de la base de données d'explication de
Microsoft pour insérer du code à partir d'une plage nommée sous Excel2000.
Le code à insérer provient d'un classeur tiers par la méthode 'copier' et
à
été collé en mode texte seul sur la "feuil2" du classeur constructeur.
Puis, en suivant l'explication, j'ai sélectionné la plage intéressée qui
contient le code macro. Dans le menu Insertion, cliqué sur Nom, cliqué sur
Définir et tapé le nom de la plage "MacrosModule1".
Dans le seul module du classeur constructeur, j'ai tapé le code suivant :
Sub ConstruitModule1()
Dim cl As Variant
Code as String
Code = ""
For Each cl In Range("macrosmodule1")
Code = Code & cl.Value & Chr$(10)
Next
Set FormeUtile > NouveauClasseur.VBProject.VBComponents.Add(vbext_ct_StdModule)
....
....
End Sub
L'objet NouveaClasseur est créé en première macro et utilisé dans toutes
les
autres macros, sans problème.
Toute la construction du nouveau classeur s'effectue sans anomalie sauf
sur
cette macro, appelée en dernier.
Et ça plante à chaque fois avec le message "Erreur d'exécution 1004, la
méthode 'Range' de l'objet '_Global' à échoué'.
Ca marche et cela m'a permis de comprendre mes erreurs. Chaleureux remerciements.
Joël André
"michdenis" a écrit dans le message de news: uW$
Bonjour,
| Et ça plante à chaque fois avec le message | "Erreur d'exécution 1004, la méthode | 'Range' de l'objet '_Global' à échoué'.
Est-ce que tu es sûr que ce bout de code faire référence au bon classeur où le nom a été créé. Pourquoi ne pas mettre la référence complète, quelque chose comme :
With Workbooks("NomDuClasseur.xls").Worksheets("NomFeuille") For Each cl In .Range("macrosmodule1") Code = Code & cl.Value & Chr$(10) Next End With
P.S - Ne pas oublier le point devant l'expression "Range"
"Joël André" a écrit dans le message de groupe de discussion :
Bonjour, Sous Excel2000, un classeur crée en automatique par vba un nouveau classeur. La construction des feuilles de travail, de leurs contenus, des userforms et de leurs contenus ne pose aucun problème grâce à vous tous et à michdenis en particulier. Je me heurte à celle du module. J'ai adapté une procédure issue de la base de données d'explication de Microsoft pour insérer du code à partir d'une plage nommée sous Excel2000. Le code à insérer provient d'un classeur tiers par la méthode 'copier' et à été collé en mode texte seul sur la "feuil2" du classeur constructeur. Puis, en suivant l'explication, j'ai sélectionné la plage intéressée qui contient le code macro. Dans le menu Insertion, cliqué sur Nom, cliqué sur Définir et tapé le nom de la plage "MacrosModule1". Dans le seul module du classeur constructeur, j'ai tapé le code suivant :
Sub ConstruitModule1() Dim cl As Variant Code as String
Code = "" For Each cl In Range("macrosmodule1") Code = Code & cl.Value & Chr$(10) Next
Set FormeUtile > NouveauClasseur.VBProject.VBComponents.Add(vbext_ct_StdModule) .... ....
End Sub
L'objet NouveaClasseur est créé en première macro et utilisé dans toutes les autres macros, sans problème. Toute la construction du nouveau classeur s'effectue sans anomalie sauf sur cette macro, appelée en dernier. Et ça plante à chaque fois avec le message "Erreur d'exécution 1004, la méthode 'Range' de l'objet '_Global' à échoué'.