Activate' avec le code "Erreur 9: l'indice n'appartient
pas à la sélection" alors que justement tout est fait pour qu'il aille en
gestionOnglet et là il n'y va pas. Quelque'un aurait-il l'explication à mon problème? Et pourquoi pas, une autre méthode de test de présence d'un onglet? -
Private Sub Traitement()
Dim NomFichierEntreeTXT As String, LigneLue As String, Base As String,
Objet, Fichier
NomFichierEntreeTXT = Dir("*TOTO*", vbNormal)
Do While NomFichierEntreeTXT <> ""
Set Fichier = TextFile(NomFichierEntreeTXT, 1, -2)
LigneLue = adLine
Base = Trim(Mid(LigneLue, 9, 90))
On Error GoTo GestionOnglet
Worksheets(Base). Activate
On Error GoTo 0...
Loop
MsgBox "Le traitement est terminé! Vba l indice n appartient pas à la selection.org. ", vbInformation, "INFO"
Exit Sub
GestionOnglet:
after:=Sheets()
= Base
Resume Next
End Sub
En vous remerciant par avance
Vba L Indice N Appartient Pas À La Sélection Date
#1
Bonsoir,
pouvez vous m'aidez à résoudre le problème de de code qui renvoie ce message d'erreur: l'indice n'appartient pas à la sélection
merci
Dans un classeur, avec une feuille nommée "mafeuille"
Sub essai()
Dim test() As String
Sheets("mafeuille"). Activate
For j = 1 To Sheets("mafeuille")("A2")(xlDown)
For i = 1 To Sheets("mafeuille")("A2")(xlDown)
If Cells(i, 15) = 1 Then
test(j) = Sheets("mafeuille")(i, 1)
MsgBox test(j)
End If
Next i
Next j
End Sub
#2
Re: probleme vba: l'indice n'appartient pas à la selection
Bonjour
1°/Quand tu utilises une variable tableau (test()), il faut préciser sa dimension. 2°/Pour devancer ton prochain problème, quand tu emboîtes deux boucles for, tu vas non pas avoir
j, i
0, 0
1, 1
2, 2...
N, N
mais
1, 0
2, 0...
N, 0
N, 1
N, 2... Il faut donc remanier ta boucle. Avec les deux modifs
Code:
i = 0
Redim Preserve test(j - 1)
i = i + 1
test(j - 1) = Sheets("mafeuille")(i, 1)
(PS: le j-1 vient du fait qu'une variable tableau commence à 0)
Je te laisse tester et revenir dire si ça marche
Bonne chance
#3
Bonjour le fil
Bonjour le forum
voila ce que j'ai testé (pourquoi deux boucles???? Erreur d'exécution '9' l'indice n'appartient pas à la sélection sur exécution macro - VBA - Forum Formule Excel. )
Vba L Indice N Appartient Pas À La Sélection Canada
PYR
Bonsoir à tous,
Venant, il y a peu de temps, de me mettre au VBA sur Excel, j'ai un cas qui
me tracasse. Je viens donc vous le soumettre à votre sagacité car je ne vois pas la
solution bien qu'ayant tout bien fait comme dit la documentation ou suite à
recherches sur internet. J'ai joint mon code apuré au minimum pour la compréhension. L'idée générale:
J'ai une liste de fichiers à traiter. Chaque fichier est ouvert, j'en tire un nom de base. Chaque base doit correspondre à un onglet. S'il existe, j'y accède et je poursuis mon traitement. Variable workbook : l'indice n'appartient pas à la sélection [Forums - Espace Débutants] : myDearFriend! Excel Pages. S'il n'existe pas, je crée l'onglet et je fais comme la ligne ci-dessus
Pour savoir si l'onglet existe, je fais d'office un
'Worksheets(Base). Activate'
Si j'ai une erreur, c'est signe de l'absence donc je dois aller dans la proc
GestionOnglet qui va me le créer. J'ai donc initialisé un 'On Error GoTo GestionOnglet et suite au retour de
la gestion de l'erreur, un 'On Error GoTo 0'. Lors de l'exécution, je tombe en erreur sur la ligne
'Worksheets(Base).
Vba L'indice N'appartient Pas À La Sélection
D'autre part tu utilises la variable j, et sauf erreur, je ne vois pas que cette variable soit initialisée...
bon après midi
@+
#4
Bonjour Pierrot93,
Merci pour le j, je ne l'avais pas remarqué ^^, en ce qui concerne la ligne de l'erreur 438: Propriété ou méthode non gérée, elle n'est pas indiquée mais je crois que le problème se situe dans la partie suivante:
If ass(i, 1) < Date + 62 Then Range("b" & i + 2) = Worksheets("Parc auto")(i, 1)
If ctr(i, 1) < Date + 62 Then Range("e" & i + 2) = Worksheets("Parc auto")(i, 1)
C'est surement une erreur de manipulation des dates. L'indice n'appartient pas à la sélection. Cordialement
#5
Bonjour à tous
Worksheets("Parc auto"). code (i, 1)
Kesako
edition: bonjour skoobi, nous sommes d'accord
edition2: bonjour kjin, n'est-il pas...? edition3: bonjour Robert, il y a foule à ne point digérer ce
Dernière édition: 16 Août 2010
#6
Bonjour sid85,
Pierrot,
C'est là que ca coince:
Code:
Worksheets("Parc auto"). [COLOR=red]code[/COLOR](i, 1)
Après une feuille, il faut un Range et non un tableau dynamique.
Vba L Indice N Appartient Pas À La Sélection Plus
Bonjour,
Je suis débutante de VBA et j'ai récupéré un programme VBA pour le traitement des données. Sur un ancien dossier, ce programme fonctionne parfaitement. Alors sur le dossier que je dois traiter, le programme n'arrive pas à aller jusqu'au bout et j'ai eu un message du genre "l'indice n'appartient pas à la sélection". Vba l indice n appartient pas à la sélection canada. Je ne comprends pas bien, puisque ce programme fonctionne avec l'ancien dossier. Si quelqu'un peut me donner quelques idées, c'est serait super!! Merci d'avance de votre aide. Julie
Vba L Indice N Appartient Pas À La Selection.Org
Worksheets(1), même erreur. Je pense que la solution est triviale, seulement, sur le coups, je vois pas. Merci de votre aide. Vba l'indice n'appartient pas à la sélection. drul
Obscur pro du hardware
#2
Meilleure réponse
Comme ça rapidement je dirais que en créant un nouveau WBook en ligne 17, tu le sélectionne aussi, donc il cherche Sheets("Liste_à_servir") certainement dans l_a_s...
#3
Merci drul, effectivement c'étais ça. Je cherchais l'erreur à droite de l'expression. #4
Comme le dirais notre sautillant modo, toujours préciser la source des données quand on joue avec plusieures feuilles et à plus forte raison plusieurs classeurs! Heureux d'avoir pu t'aider
#5
" tournicoti toujours préciser la source des données quand on joue avec plusieurs feuilles et à plus forte raison plusieurs classeurs! tournicoton"
#6
#7
3 Octobre 2012
Mea culpa zeb, je ne le referais plus, promis
#8
9 Octobre 2012
Je t'en prie, je cherchais moins à te donner tord qu'à donner raison à notre cher Drul. ()
J'avais déjà essayé cette possibilité. Ca n'a pas marché Voici la ligne exact que j'ai mis, peut-être que c'est moi qui ai mal écrit: If ("Paramètres")("M2") Then
("Paramètres")("M2")
("Paramètres")("M2") savechanges:=true Il me demande toujours l'objet (erreur d'exécution 424) xorsankukai Passionné d'Excel Messages 3'711 Votes 1'024 Excel 2010 FR xorsankukai "La connaissance, c'est partager le savoir qui nous fait grandir. 2021 Lieu France Re, Sur un autre module, j'utilise. IsAddin=False (ou True), ça dépend de ce que je veux pour cette macro complémentaire De plus, je viens de consulter qu'il est possible de mettre du binaire sur IsAddin Pour finir, j'ai mis une apostrophe sur mes lignes de condition pour voir si c'était réellement le problème et ce n'est pas le cas. Le réel soucis sur la déclaration Sheets("Paramètres")("M2"). Faut-il donc déclarer une variable, puis appliquer la variable sur quoi elle va être mise? Merci pour votre retour xorsankukai Passionné d'Excel Messages 3'711 Votes 1'024 Excel 2010 FR Re, Désolé, mais je ne connais pas l'utilisation de IsAddin, je passe donc la main à plus expérimenté, désolé, Cordialement, xorsankukai "La connaissance, c'est partager le savoir qui nous fait grandir.