Bonjour,
Désolé mais j'ai du mal à saisir exactement ce qu'il se passe en l'absence de ton code...
Qu'appelle-tu "fonction SelectedIndexChanged" ? Normalement, il s'agit d'une Sub correspondant à l'évènement. Ce qui veut dire que si il y a du code dans cette Sub, il va s'exécuter à chaque fois que tu choisis un item ou que tu modifies la sélection par code.
Si, dans l'évènement Click de ton bouton, tu modifies l'item sélectionné, l'évènement SelectedIndexChanged va être appelé et le code correspondant exécuté, ce qui est normal car le SelectedIndex est une propriété en lecture-écriture ce qui signifie qu'elle peut te renvoyer la valeur sélectionnée ou que tu peux la définir ! Si tu as dans ton code "ListBox.SelectedIndex = 0", ça sélectionne la première valeur de ta liste (si elle existe) et déclenche l'évènement SelectedIndexChanged.
Si c'est confus pour toi, essaye de créer un nouveau ListBox que tu remplis avec 3 items "1er item", "2nd item" et "3em item". fais un double click sur ta ListBox pour afficher l'évènement "SelectedIndexChanged". A l'intérieur de cette Sub, tapes "MessageBox.Show(ListBox1.SelectedIndex.ToString)" et tu verras qu'à chaque fois que tu sélectionnes un item de ta liste, il t'affiche son index (0 pour le 1er, 1 pour le 2nd...).
Partager