XL 2019 Problème pour modifier une BDD avec listbox

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Ismagapi

XLDnaute Junior
Bonjour le Forum,

J'ai un petit problème avec la modification de ma ListBox. Je vous explique ...

J'affiche ma ListBox venant de ma base données avec des combobox pour trier, jusque là tout va bien, cela affiche bien mes données dans les combobox et textbox de mon formulaire.
Ensuite je modifie mes textbox et combobox et je tente de renvoyer le tout dans mon tableau en cliquant sur le bouton modifier
Le problème intervient ici, les données sont modifiées mais pas sur la bonne ligne dans mon tableau excel cela modifie les données mais sur des lignes au dessus ou en dessous. Est ce un problème d'indexage ?
Pour être plus précis,

Lorsque je clique sur le bouton 'ECHEANCES CORRESPONDANTES' dans l'onglet 'PAGE CHOIX', cela m'ouvre un formulaire avec une ListBox. Toutes mes lignes 'ASS FAM' ont un N° d'ORDRE (1,2,3,4,5,6,7 ....) dans la colonne A de ma BDD 2.

Lorsque je souhaite modifier une textbox de ma ligne, cela fonctionne, cela l'enregistre dans ma base de données. Par contre dés qu'un N° d'ordre est manquant (par exemple le N° 4), la modification de la ListBox ligne 5 se fait sur la ligne 6 et ainsi de suite ... S'il manque un second N° d'Ordre par la suite, cela décalera encore d'une ligne. (Par exemple il manque le N° d'Ordre 22, les données en dessous seront copiées sur deux lignes de plus 23 sur 25 etc ...).

Je ne comprend pas pourquoi ?

Merci de votre aide
 
Solution
Bonjour,

La valeur de la propriété ListIndex de la première ligne de la liste est zéro,
la valeur de la deuxième liste est 1, et ainsi de suite.
en tenant compte que votre BD commence à la ligne 3
essayez avec :
VB:
Ln = .List(.ListIndex, 0) - 1
Bonjour,

La valeur de la propriété ListIndex de la première ligne de la liste est zéro,
la valeur de la deuxième liste est 1, et ainsi de suite.
en tenant compte que votre BD commence à la ligne 3
essayez avec :
VB:
Ln = .List(.ListIndex, 0) - 1
 
Bonsoir ,
si j'ai bien Compris (pas de fichier exemple?)
car que contient (.List(.ListIndex, 0) )
est ce la référence de la Ligne source ou une référence?(N° d'ordre)
si la première ligne du tableau est la 3 il faut ajouter 3 au ListIndex de ta ListBox
si sélection de la première valeur de la ListBox on fait référence a la Ligne 3 de la feuille
ou alors enregistrer la Ligne source lors du chargement des Données et cela dans une Colonne Cachée de la ListBox
jean marie
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
12
Affichages
302
Réponses
16
Affichages
832
Réponses
25
Affichages
1 K
Retour