S'il est possible que l'extension de votre fichier change (, xlsx, ), il faudra alors prévoir le coup dans la macro. Supposons que nous voulons afficher la valeur de la cellule A1 du premier onglet du Classeur_Source mais que nous ne connaissons pas l'extension du fichier car il pourrait être changé par un utilisateur. Nous pourrions coder ainsi:
Sub Exemple() Dim wb As Workbook On Error Resume Next Set wb = Workbooks(« Classeur_Source. xlsm «) If wb Is Nothing Then Set wb = Workbooks(« Classeur_Source. xlsx «) ElseIf wb Is Nothing Then Set wb = Workbooks(« Classeur_Source. Vba l indice n appartient pas à la sélection. xls «) End If MsgBox (1)(1, 1)
End Sub
Il pourrait également y avoir la situation où 3 fichiers portent le même nom:
mais leur extension est différente:
Supposons que nous voulons afficher la valeur de la cellule A1 du premier onglet du Classeur_Source. Si les 3 fichiers sont ouverts en même temps et que nous ne spécifions pas l'extension du fichier dans la macro, celle-ci retournera toujours la valeur du fichier "" car c'est le premier selon l'ordre alphabétique.
- Vba l indice n appartient pas à la sélection canada
- Vba l indice n appartient pas à la sélection plus
- Vba l indice n appartient pas à la sélection date
- Vba l indice n appartient pas à la sélection la
- Achat base de données clients prix serrurier
Vba L Indice N Appartient Pas À La Sélection Canada
#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 Plus
7 août 2015 à 13:12:01
Sarkas a écrit:
Ah bien vu j'avais pas été voir au bout de la boucle! Généralement j'ai tendance a déconseillé d'utiliser Exit For mais c'est mon point de vue - Edité par Yru4ma 7 août 2015 à 17:01:56
8 août 2015 à 0:13:01
J'utilise Exit For régulièrement, je n'ai jamais eu de problème, et je trouve cette instruction bien pratique pour sortir prématurément d'une boucle. Pourquoi tu déconseilles de l'utiliser? 8 août 2015 à 3:01:39
Je trouve que souvent l'exit for est utilisé alors qu'une simple boucle while est suffisante étant donnée que "exit for" est exécuté selon une condition (en précisant que je trouve la boucle while plus "propre"). Mais dans certains cas en effet il est obligatoire de passer par un exit for
Erreur d'exécution 9: L'indice n'appartient pas..
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié. Vba l indice n appartient pas à la sélection date. × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Vba L Indice N Appartient Pas À La Sélection Date
Salut le Fil Tout d'abords Je vois que toutes tes variables ne sont pas déclarées... Donc dans un premier temps tu vas dans les options [Outils] [Options... ] [Éditeur] et tu coches Déclaration des variables obligatoires, cela t'éviteras pas pas de problèmes avant l'exécution de ton code. Ensuite il faut prendre l'habitude de compiler ton code avant de l'exécuter [Débogage] [Compiler VBA Project]. Pour en revenir à ton problème [L'indice n'appartiens pas à la sélection] doit venir du fait que tu charge un feuille, un classeur qui n'existe pas donc vérifie les noms de tes classeurs et feuilles. Tu cherche à faire quoi ici... lumns("A:EF") ("Tableau"). Columns(1) Si tu veux sélectionner les colonnes "A" à "F" tu fais lumns("A:F") ("Tableau"). Columns(1) Si tu veux sélectionner les colonnes "A"; "E" et "F" lumns("A:A, E:E, F:F") ("Tableau"). Erreur 9 - L'indice n'appartient pas à la sélection. Columns(1)
'on ne se dispèrce pas dans le code, et on prends les mêmes notations partout. lumns("A:EF") ("Tableau"). Columns("A") En espérant avoir pu t'aider.
Vba L Indice N Appartient Pas À La Sélection La
Merci d'avance. #2
Re: probleme de redim preserve
Bonjour Wilfried
A priori l'élément "Preserve" de l'instruction "Redim" ne peut redimensionner que la dernière dimension, et dans ton code, je crois voir que tu cherches à redimensionner la 1ère, d'ou à mon avis ce message d'erreur... Visual Basic - Indice n'appartient pas à la sélection [Résolu] - Visual Basic 6. Code:
ReDim Preserve tab_contact([COLOR="Red"][B]nb_sm_fiche[/B][/COLOR], 22)
si c'est bien cette ligne qui est en cause...
sinon reviens avec un peu plus de précision, voir un fichier permettant de tester...
bon après midi
@+
#3
Bon en continuant à creusé j'ai trouver une solution même si je ne comprend pas pourquoi:
j'ai inversé le sens de mon tableau:
j'avait un nombre de ligne variable et un nombre de colonne constante:
tab(nb_sm_fiche, 22)
j'ai maintenant
tab(22, nb_sm_fiche) et cela fonctionne...
A+
#4
bojour Wilfried
Peux-t-on savoir quelle ligne est surlignée en jaune? #5
Re
bonjourPierreJean
mon post de 13h32 doit répondre à ta dernière interrogation...
#6
Salut pierrot93, pierrejean,
effectivement la ligne qui posait problème était bien redim preserve....
Si vous aimez cet article, n'hésitez pas à le partager dans vos réseaux sociaux ou à laisser un commentaire. Abonnez-vous au blog pour recevoir directement les nouveaux articles par courriel. Navigation de l'article
Les prestataires proposent la location ou l'achat de fichiers client pour les missions de prospection et des actions commerciales. Pour mieux choisir la bonne formule de la location ou de l'achat, découvrez leurs avantages et leurs inconvénients. La location de données: forces et faiblesses
Dans la location de fichiers de données, l'entreprise cliente utilise pour une période les informations de la base. Elle ne prend pas en charge la collecte et le traitement des données, le prestataire s'occupe de tous ces détails. Un fichier prêt à l'emploi est mis à sa disposition pour les besoins de l'exploitation. A chaque location, l'entreprise peut obtenir une nouvelle base avec des données, ce qui signifie de nouveaux prospects. Avec cette formule, le budget alloué à la location est moins important que l'achat. Combien coûte une base de données ? - Base de données. La principale difficulté dans la location réside à l'accès restreint aux informations du fichier client et la limitation de temps. Seul l'envoi des mails ou des SMS est autorisé, l'entreprise n'a pas de contact direct avec les destinataires lors d'une campagne de prospection.
Achat Base De Données Clients Prix Serrurier
Sans de contrôle, les messages envoyés risquent de finir dans les boites de spams avec la réputation de l'entreprise ternie.
Si l'achat & la location de fichiers de prospection restent très largement pratiqués, les fournisseurs de fichiers sont généralement assez opaques sur les tarifs, et il est parfois un peu laborieux d'obtenir une estimation tarifaire claire. Dans cet article, on détaille les fourchettes de prix pour la location & l'achat de fichiers. 1. Achat ou location de fichier, quelle différence? A la location, un numéro de téléphone (générique) vous reviendra entre 0, 10€ et 0, 30€. Comptez entre 0, 15€ & 0, 70€ pour une adresse email & un numéro de téléphone. Au délà de 50 000 adresses, le prix peut chuter jusqu'à une fourchette comprise entre 0, 04€ & 0, 07€. A l'achat, comptez entre 0, 09€ et 0, 15€ par contact (avec une adresse email vérifiée & un numéro de téléphone). Pensez à vous assurer que les emails invalides vous seront remboursés / actualisés lorsque vous achetez un fichier de prospection. Achat base de données clients prix des jeux. C'est une meilleure pratique pour la plupart des fournisseurs, mais il faut parfois le demander.