Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Erreur: L'indice n'appartient pas à la sélection

Excellearning

XLDnaute Nouveau
Bonjour chers tous.
Je vous espère bien.
J'ai un souci en VBA que je n'arrive pas à corriger .
Par exemple, je crée un programme VBA avec un Userform qui se déclenche (ShowModal=false afin de permettre la modification des autres classeurs ouverts) à l'Ouverture d'un classeur que je nomme A. Et lorsque je renseigne les différents champs de ce Userform, le programme VBA les compare ces données aux données déjà existantes sur une des feuille du classeur A. Le problème est que si un autre classeur B est déjà ouvert et que j'ouvre le classeur A (l'Userform se déclenche correctement) et je renseigne les différents de l'Userform et lorsque je valide, on me renvoie un code d'erreur: L'indice n'appartient pas à la sélection.
Je souhaiterais savoir s'il est possible de corriger cela.
Merci d'avance
 
Dernière modification par un modérateur:

cp4

XLDnaute Barbatruc
Bonjour,
Je vais demander à David de nous proposer un moyen pour faire des affiches style Métro.
Désolé, moi aussi je n'appartiens pas à la sélection (des devins).
Où est ton fichier?
 

vgendron

XLDnaute Barbatruc
Bonjour

Peut on savoir quelle ligne provoque le bug chez toi?
et .... ca aurait été sympa d'indiquer les logins à utiliser pour lancer le fichier..
et dernière chose.. un fichier qui fait 3Mo avec rien dedans.. il y a un souci...

voir PJ
avec ajout d'une variable globale "WbSource"
 

Pièces jointes

  • Exemple.xlsm
    420.6 KB · Affichages: 4

Excellearning

XLDnaute Nouveau
Excusez-moi, j'ai oublié de les joindre


NomMot de passe
user1motdepasse1
user2motdepasse2
user3motdepasse3
user4motdepasse4
user5motdepasse5
 

Excellearning

XLDnaute Nouveau
Par si l'Userform est ouvert et que je modifie d'autres classeurs avant de renseigner l'Userform, je reçois un message d'erreur tel que: l'indice n'appartient pas à la selection
 

vgendron

XLDnaute Barbatruc
Bonjour
le message indique clairement qu'il ne trouve pas la référence spécifiée : ici Sheets("User") ou Sheets("Feuil1")

Dans TOUT ton code: à chaque fois que tu fais référence à une feuille (sheets("..."), il faut que tu ajoutes la référence au classeur auquel la feuille de travail appartient..

si tu ne précises rien: VBA travaille sur le classeur actif, la feuille active
==> donc, si le classeur actif n'est pas le bon, le vba ne va pas trouver la feuille
d'où la variable globale "WbSource" initialisée au lancement du classeur qui contient les formulaires


Note sur ton code: je pense qu'il serait interressant de le commenter, donner des noms aux différentes controls, , rassembler toutes les listes (tables strucuturées) sur une seule feuille, et leur donner des noms "Tab_...."
 

Pièces jointes

  • Exemple.xlsm
    420.7 KB · Affichages: 3

vgendron

XLDnaute Barbatruc
Me suis permis quelques modifs dans ton fichier (rassemblement de tous les tableaux) et dans le code

regarde: j'y ai mis des commentaires ET des questions
 

Pièces jointes

  • Exemple Rev2.xlsm
    416.5 KB · Affichages: 1

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…