Problème de liaison de deux combobox et la saisie semi-automatique pour le deuxième

INFINITY100

XLDnaute Occasionnel
Bonsoir tout le monde

Voila je cherche à résoudre un problème qui concerne la liaison de deux Combobox un dans un UserForm et l'autre dans une feuille et ajouter une saisie semi-automatique je possède une mais elle fonction que dans UserForm et j'ai trouvé la macro ci-dessous pour le Combobox de la feuille mais elle génère une erreur ... pourriez-vous m'aider

Je joins le fichier pour être plus claire

Code:
Option Explicit
Dim a, d1()
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  a = [liste].Value
  Me.ComboBox1.List = a
End Sub

Private Sub ComboBox1_Change()
  Set d1 = CreateObject("Scripting.Dictionary")
  tmp = UCase(Me.ComboBox1) & "*"
  For Each c In a
  If UCase(c) Like tmp Then d1(c) = ""
        Me.ComboBox1.List = d1.keys
  Me.ComboBox1.DropDown
  Next
End Sub
Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  If KeyCode = 13 Then ActiveCell = Me.ComboBox1: Unload Me
End Sub

Cordialement

Merci d'avance
 

Pièces jointes

  • Exemple.xlsm
    29.5 KB · Affichages: 29
  • Exemple.xlsm
    29.5 KB · Affichages: 35
  • Exemple.xlsm
    29.5 KB · Affichages: 37

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Problème de liaison de deux combobox et la saisie semi-automatique pour le deuxi

Bonsoir INFINITY100 :),

(...) Voila après avoir compris le rôle de chaque macro grâce aux commentaires je me suis arrêté sur une qui me fait des maux de tête ;) car je ne comprend pas vraiment son rôle pour cause du manque de commentaire (...)

la fonction Apurer est chargée d'éliminer d'un mot des caractères un peu spéciaux (é, è , ù, à, œ, æ, [SUP]2[/SUP], etc.) et de les remplacer par des caractères dits "normaux" (e, e, u, a, oe, ae, 2, etc.). Apurer est utilisée pour la recherche des produits afin de s'affranchir de ces caractères un peu spéciaux.

Vous avez très bien fait :):):) d'aborder le sujet car je me suis aperçu d'une grossière erreur dans la fonction Apurer pour le remplacement d'un caractère par plusieurs caractères (type œ par oe ou , æ par ae).

la fonction Apurer a été réécrite (un peu) pour corriger le bogue.

Deux fichiers :


  • INFINITY100-Exemple-v3.d.xlsm qui est le fichier principal (idem version v3.c corrigée avec la nouvelle version de Apurer )
.

  • INFINITY100-Apurer-v1.xlsm qui ne contient que la nouvelle fonction Apurer() accompagnée de commentaires (voir dans Module1)
 

Pièces jointes

  • INFINITY100-Apurer-v1.xlsm
    19 KB · Affichages: 39
  • INFINITY100-Exemple-v3.d.xlsm
    86.5 KB · Affichages: 40
Dernière édition:

INFINITY100

XLDnaute Occasionnel
Re : Problème de liaison de deux combobox et la saisie semi-automatique pour le deuxi

Bonjour Mapomme :eek:

Merci mon ami pour cet éclaircissement là je peux dire que la macro est bien comprise grâce à votre explication, surtout en joignant l'exemple :) j'avoue que j'ai pas remarqué l'erreur grossière du moment que je n'avais même pas compris la macro mais maintenant c'est bon l'idée est si claire :cool:

Merci encore une fois mon ami pour ce que tu me fait et surtout d'avoir consacré ton précieux temps pour me répondre c'est très gentil

Merci et la célèbre expression tien toujours " To Be Continued " lol :)
 

Discussions similaires

Statistiques des forums

Discussions
312 196
Messages
2 086 085
Membres
103 116
dernier inscrit
kutobi87