Obtenir une réponse à une question

Hervé 06

XLDnaute Nouveau
Bonjour a vous tous.

Ultra novice avec excel même si je l'utilise de manière simple, j'ai cru comprendre en lisant les post la grande manœuvrabilité de Excel.
Est-il possible de créer un module qui en l'ouvrante et en indiquant une rue ( voir exemple) dans la zone de texte une réponse souhaité s'affiche.

Effectivement j'ai affecté une rue à une réponse. merci de m'indiquer les termes qui correspondent le plus à mon besoin.

Désolé mais Je ne sais pas si un post de ce type est déjà rédiger car je ne connais pas les termes utilisé.

Merci pour vos conseils.
 

Pièces jointes

  • CLASSEUR RUE XL DUNLOAD - Copie.xlsx
    11 KB · Affichages: 29
Dernière édition:

job75

XLDnaute Barbatruc
Re,

Pour terminer, recherche avec saisie intuitive dans ce fichier (4) :
Code:
Dim memo As String 'mémorise la variable

Private Sub ComboBox1_GotFocus()
Dim r As Range, n As Long
Set r = Range("A2", Range("A" & Rows.Count).End(xlUp)(2))
Application.ScreenUpdating = False
If FilterMode Then ShowAllData 'si la feuille est filtrée
ComboBox1.Clear
ComboBox1 = ""
If Application.CountA(r) = 0 Then Exit Sub
With [D1].Resize(r.Count, 2) '2 colonnes auxiliaires
    .Columns(1) = "=REPT(A2&REPT("" ""&C2,C2<>""""),ISNUMBER(SEARCH(""" & memo & """,A2&REPT("" ""&C2,C2<>""""))))"
    .Columns(2) = "=B2"
    .Value = .Value 'supprime les formules
    n = Application.CountA(.Columns(1))
    If n Then
        .Sort .Cells(1), xlAscending, Header:=xlNo 'tri alphabétique
        ComboBox1.List = .Resize(n).Value
    End If
    .ClearContents
End With
ComboBox1.DropDown 'déroule la liste
End Sub

Private Sub ComboBox1_Change()
If memo <> "" Then Exit Sub
Application.ScreenUpdating = False
With ComboBox1
    memo = .Text
    ActiveCell.Activate 'ôte le focus pour fermer la liste
    ComboBox1.Activate 'lance ComboBox1_GotFocus
    .Text = memo
    memo = ""
    [H7] = "" 'RAZ
    If .ListIndex > -1 Then [H7] = .List(.ListIndex, 1) 'valeur en 2ème colonne
End With
End Sub
Sur 23 000 lignes le chargement de la liste est un peu plus long : 0,45 seconde.

A+
 

Pièces jointes

  • CLASSEUR RUE XL DUNLOAD(4).xlsm
    30.2 KB · Affichages: 23

Hervé 06

XLDnaute Nouveau
Re,

Pour terminer, recherche avec saisie intuitive dans ce fichier (4) :
Code:
Dim memo As String 'mémorise la variable

Private Sub ComboBox1_GotFocus()
Dim r As Range, n As Long
Set r = Range("A2", Range("A" & Rows.Count).End(xlUp)(2))
Application.ScreenUpdating = False
If FilterMode Then ShowAllData 'si la feuille est filtrée
ComboBox1.Clear
ComboBox1 = ""
If Application.CountA(r) = 0 Then Exit Sub
With [D1].Resize(r.Count, 2) '2 colonnes auxiliaires
    .Columns(1) = "=REPT(A2&REPT("" ""&C2,C2<>""""),ISNUMBER(SEARCH(""" & memo & """,A2&REPT("" ""&C2,C2<>""""))))"
    .Columns(2) = "=B2"
    .Value = .Value 'supprime les formules
    n = Application.CountA(.Columns(1))
    If n Then
        .Sort .Cells(1), xlAscending, Header:=xlNo 'tri alphabétique
        ComboBox1.List = .Resize(n).Value
    End If
    .ClearContents
End With
ComboBox1.DropDown 'déroule la liste
End Sub

Private Sub ComboBox1_Change()
If memo <> "" Then Exit Sub
Application.ScreenUpdating = False
With ComboBox1
    memo = .Text
    ActiveCell.Activate 'ôte le focus pour fermer la liste
    ComboBox1.Activate 'lance ComboBox1_GotFocus
    .Text = memo
    memo = ""
    [H7] = "" 'RAZ
    If .ListIndex > -1 Then [H7] = .List(.ListIndex, 1) 'valeur en 2ème colonne
End With
End Sub
Sur 23 000 lignes le chargement de la liste est un peu plus long : 0,45 seconde.

A+

Bonjour, je vous remercie car c'est véritablement ce dont j'avais besoin.
Alors maintenant je comprend rien du tous à la programmation mais je me rend compte du travail que cela représente et vous en suis vraiment reconnaissant.
 

Discussions similaires

Statistiques des forums

Discussions
312 321
Messages
2 087 264
Membres
103 500
dernier inscrit
Suk Ram