Message d'erreur VBA

Fermé
MysteriousSkin - 11 avril 2012 à 15:41
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 12 avril 2012 à 10:36
Bonjour,

Je tente d'écrire une macro permettant d'automatiser la mise à jour d'une feuille excel à partir de données d'une autre feuille excel. Mais je rencontre un message d'erreur.. Le message est : "L'indice n'appartient pas à la selection"

Voici le début de mon code :

Option Explicit
Sub remplissage()

Dim F As Worksheet
Set F = Worksheets("Etudes")

......

Ce message apparait à la ligne Set F ...
Or, lorsque j'ouvre VisualBasic pour taper mon code, je suis bien dans le classeur contenant la feuilles "Etudes".
Je ne vois pas d'ou pourrait venir mon erreur...

Merci d'avance pour votre aide.

7 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
11 avril 2012 à 17:06
Ta syntaxe est bonne
et le compilateur dit que "Etudes" n'existe pas
Donc, vérifie s'il n'y a pas d'espaces qui trainent sur le nom d'onglet dans la feuille (grand classique de l'emm....)

au besoin clic droit sur le nom d'onglet
renommer
ctrl+C (et non copier)
Echap
et tu colles dans la ligne en question
0
f894009 Messages postés 17206 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 22 novembre 2024 1 710
11 avril 2012 à 17:10
Bonjour,

Je tente d'écrire une macro permettant d'automatiser la mise à jour d'une feuille excel à partir de données d'une autre feuille excel.

Meme classeur ou pas?????
0
MysteriousSkin
11 avril 2012 à 17:35
merci michel_m mais l'erreur persiste...

f894009, classeurs différents mais le classeur actif est celui contenant la feuille Etudes.

Dim F As Worksheet
Set F = Worksheets("Etudes")

Dim G As Worksheet
Workbooks.Open "C:\.........xls"
Set G = Worksheets("Recettes")
0
f894009 Messages postés 17206 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 22 novembre 2024 1 710
12 avril 2012 à 08:25
Bonjour,
test avec deux classeurs, pas erreur du debut, mais modif du code pour la suite. Code utilise:

Sub test()
Dim F As Worksheet
Set F = Worksheets("Etudes")

Dim G As Worksheet, wkb As Workbook
Set wkb = Workbooks.Open("D:\_Docs_Prog_Excel\Excel_a_traiter\date_modif_cellule.xlsm")
Set G = wkb.Worksheets("Recettes")
End Sub

Il nous manque quelque chose

A+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
MysteriousSkin
12 avril 2012 à 09:20
J'ai testé ton code mais le même message d'erreur apparait une nouvelle fois.

Que veux-tu dire par "il nous manque quelque chose" ?
0
f894009 Messages postés 17206 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 22 novembre 2024 1 710
12 avril 2012 à 09:29
Re,

Que veux-tu dire par "il nous manque quelque chose" ?

Il faudrait avoir votre fichier pour voir tout le contexte, parce que si cela marche chez nous (michel_m et moi-meme), il nous manque quelque chose par rapport a vous.

lien pour mise a dispo. (pas de donnees confidentielles)

https://www.cjoint.com/

A+
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
12 avril 2012 à 10:36
Bonjour tous,
Or, lorsque j'ouvre VisualBasic pour taper mon code, je suis bien dans le classeur contenant la feuilles "Etudes".
Pour être certain... essaye avec.
Set F = WorkBooks("NomClasseur.xls").sheets("Etudes")
A+
0