XL 2016 Problème Macro

Pabloc

XLDnaute Nouveau
Bonjour,

J'ai un soucis avec une macro, autant dire que je suis complètement paumé puisque je n'y pige rien...

Voila, je voulais une macro me permettant de faire une recherche "intuitive" : je commence a taper le nom de mon client dans la cellule et il me fait les propositions les plus proches.

Cela marche très bien sur deux onglets... mais pas sur un troisième.

Une différence entre les deux premiers et le dernier, qui, je pense est importante, sur les deux premier, c'est toutes les cellules d'une même colonne qui sont concernés par l'application de la macro. Tandis que sur le 3 ème onglet, je voudrais appliqué la macro sur une seule cellule.

Chose étrange, quand la macro est doit s'applique de G3 : G4, ça fonctionne en G3 mais pas en G4, et si je met G4 : G5, ça plante encore, et toujours en G4.

En sachant que je voudrais que cela ne s'applique QUE en G4, j'ai trop (a mon gout) de formule a modifier pour déplacer ce choix...

Voici la macro (je l'ai trouvé sur internet, car je suis strictement incapable de faire ça tout seul...

Dim a()
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([G4:G4], Target) Is Nothing And Target.Count = 1 Then
a = Sheets("Paramètres de choix").Range("'Paramètres de choix'!$B$7:$B$38949").Value
Me.ComboBox1.List = a
Me.ComboBox1.Height = Target.Height + 3
Me.ComboBox1.Width = Target.Width
Me.ComboBox1.Top = Target.Top
Me.ComboBox1.Left = Target.Left
Me.ComboBox1 = Target
Me.ComboBox1.Visible = True
Me.ComboBox1.Activate
'Me.ComboBox1.DropDown ' ouverture automatique au clic dans la cellule
Else
Me.ComboBox1.Visible = False
End If
End Sub

Private Sub ComboBox1_Change()
If Me.ComboBox1 <> "" And IsError(Application.Match(Me.ComboBox1, a, 0)) Then
Set d1 = CreateObject("Scripting.Dictionary")
tmp = UCase(Me.ComboBox1) & "*"
For Each c In a
If UCase(c) Like tmp Then d1(c) = ""
Next c
Me.ComboBox1.List = d1.keys
Me.ComboBox1.DropDown
End If
ActiveCell.Value = Me.ComboBox1
End Sub

Private Sub ComboBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Me.ComboBox1.List = Sheets("Paramètres de choix").Range("'Paramètres de choix'!$B$7:$B$38949").Value
Me.ComboBox1.Activate
Me.ComboBox1.DropDown

End Sub

Visiblement ce qui bug (selon excel) c'est " If Me.ComboBox1 <> "" And IsError(Application.Match(Me.ComboBox1, a, 0)) Then "

Quelqu'un a une idée?

Merci, AU grand merci d'avance!

Pablo
 

Pabloc

XLDnaute Nouveau
Bonsoir,

Merci pour ton aide!

Malheureusement toujours le même bug, sur la deuxieme ligne du deuxieme paragraphe : " If Me.ComboBox1 <> "" And IsError(Application.Match(Me.ComboBox1, a, 0)) Then ", visiblement ces deux lignes de codes ce ressemble...

merci en tout cas, de prendre du temps pour m'aider!

Pablo
 

Pabloc

XLDnaute Nouveau
Oui, c'est bien ce que j'ai fait effectivement (dans le premier paragraphe quoi).

Cependant Excel continue de m'indiquer que le bug viens de la deuxième ligne du deuxième paragraphe, mais je ne sais pas quel niveau de fiabilité lui donné...

Désolé si mon vocabulaire est... basique!
 

Pabloc

XLDnaute Nouveau
Merci encore JM,

J'abuse peut être un peu, mais quelle serait la solution, pour étendre la macro de G4 à I4? j'ai bidouillé plusieurs trucs... mais cela ne marche pas!

Certains noms de client sont trop long pour entrer dans la simple cellule G4, et la largeur de cette colonne interviens dans plusieurs tableau en dessous...

Merci d'avance.

Pablo

P.S. promis après j'arrête!
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 069
Messages
2 085 040
Membres
102 763
dernier inscrit
NICO26