XL 2013 Dépannage en VBA

michir

XLDnaute Occasionnel
Bonsoir,
je reviens sur le forum car je n'arrive pas à trouver l'erreur de ma petite application
Grâce à plusieurs d'entre vous, (notamment Nicole Buisson, mais plusieurs autres également) j'ai pu réaliser une application de calcule de loyers maxi
Seulement voilà, elle fonctionne parfaitement, sauf un bug lorsque je choisis une commune ayant un doublon en France
Par exemple, si je saisis Fréjus avec la Userform (bouton "GO", feuille "choix commune") pas de soucis, il n'y a qu'un seul Fréjus
Mais si je choisis Vernon, il y a 3 Vernon (Ardèche, Eure et Vienne, il prend systématiquement le premier (Ardèche) alors que je sélectionne le second (Eure)
Je n'arrive pas à modifier le code pour résoudre ce problème
Merci à vous tous
Je joins mon fichier
 

Pièces jointes

  • R2 D2.xlsm
    5.2 MB · Affichages: 99

Robert

XLDnaute Barbatruc
Repose en paix
Bonsoir Michir, bonsoir le forum,

C'est ton système de recherche avec le comparateur Like qui pose problème... Pour ma part, j'aurais fait une première UserForm de Recherche avec une TextBox et Une listBox. En fonction du texte édité dans la TextBox, la Listbox afficherai le ou les choix possible. Un double-clic dans l'élément choisi renverrai les données dans ton UserForm.
Je peux de préparer ça si ça t'intéresse...
 

Robert

XLDnaute Barbatruc
Repose en paix
En pièce jointe ton fichier modifié. J'ai désactivé le code d'initialisation de l'Userform1 car ce n'était pas compatible avec la méthode que je te propose. J'ai aussi désactivé la procédure Change de la Combobox et bloqué celle-ci. Pour éviter les bugs avec ma méthode...
 

Pièces jointes

  • michir_v01.xlsm
    5.8 MB · Affichages: 27
Dernière édition:

Robert

XLDnaute Barbatruc
Repose en paix
Re,

C'est normal j'ai désactivé le code... En fait, j'ai cru comprendre que l'Userform1 n'était que consultatif, qu'il n'y avait pas d'action exécutée puisqu'il ne comporte pas de CommandButton. L'UserForm2 que je t'ai proposé permet de sélectionner une commune, en cas de résultat multiple dans la recherche,. Tu double-clique dans le choix et ça ouvre ton Userform1 mais celui-ci reste bloqué.
Attention, j'ai modifié le fichier entre la première fois où j'ai répondu et la modification. Télécharge le à nouveau car tu n'as peut-être pas la dernière version (je n'ai malheureusement pas changé le nom...)
 

Dydou76

XLDnaute Occasionnel
Bonjour,
j'ai un petit souci avec ma combobox qui est alimenté par des numéro de bacs et je voudrai que ça m'affiche tu texte dans un textbox. Par exemple: combobox je choisi 21 et quand je valide ça m'affiche du texte dans ma textbox Ex: le bac 21 contiens du produit chaud. Mais mon souci c'est que j'ai un message "erreur d'exécution 13".

mon code ci-dessous

Private Sub CommandButton5_Click()
Sheets("Pense-bete").Activate
Dim Ligne As Long
Ligne = Application.Match(Me.ComboBox3.Value, [S:S], 0)
Me.TextBox3.Text = Application.Index([T:T], Ligne, 1)
End Sub

Merci si vous pouvez m'aider.
 

Robert

XLDnaute Barbatruc
Repose en paix
Re,

Mais non il y a beaucoup plus simple ! Suis-je bête... On supprime ton Userform1 et on renvoie les données direct dans la ligne 2. Regarde la version 2. Quand il n'y à qu'une seule commune, c'est renvoyé automatiquement et l'UserForm1 se ferme avec la touche [Échap.] (bouton caché sous la ListBox1). Sinon le double-clic dans la commune et ça fait le job...

[Édition]
Ce message était pour Michir...
 

Pièces jointes

  • michir_v02.xlsm
    5.7 MB · Affichages: 35
Dernière édition:

michir

XLDnaute Occasionnel
C'est parfait Robert, cela me convient. J'aurais aimé garder mon user initial qui récapitulait les caractéristiques de la commune, mais ta proposition me convient bien
j'aurais aimé aussi diminuer la taille du fichier(5.7Mo) mais cela sera pour plus tard
Merci à toi
Bon Week end
 

Robert

XLDnaute Barbatruc
Repose en paix
Re,

Michir, tu pourrais garder ton Userform1 dans la version 01 que je t'ai proposé en y rajoutant un Commandbouton. Les données sont renvoyées de l'UserForm2 vers l'Userform1 et le bouton renvoie les données de l'Userform1 vers la ligne 2. Dans ce cas, tu pourrais remplacer les Comboboxes par des TextBoxes. L'Userform1 ne serait plus que consultatif...
 

Discussions similaires

Réponses
20
Affichages
2 K

Statistiques des forums

Discussions
312 205
Messages
2 086 199
Membres
103 156
dernier inscrit
Ludo94130