1 pièce(s) jointe(s)
Recherche Userform via un tableau VBA
Bonjour a tous,
Présentation:
J'ai créé un userform qui me permet de contrôler des poteaux incendie. Chaque hydrant porte un nom spécifique comportant un code de la commune et le numéro du poteau. (ex 28120-00004) 28120 étant le code communale et 00004 le numéro de l'hydrant.
Pièce jointe 587581
Demande: (zone Jaune de l'image)
Je souhaiterais que lors du choix de la commune, le Textbox "code sdis" affiche le premier code du poteau (qui appartient à la commune) e que grace au fléche je puisse passé a l'hydrant suivant.
Code:
Actuellement j'arrive a enregistrer l'ensemble de mes donnéss dans un tableau VBA et de les afficher dans le Textbox du "Code SDIS" mais je ne parvient pas a le faire modifier par les flèches.
Mon code actuelle est le suivant:
Code:
1 2 3 4 5 6 7 8 9 10
| Sub codesdis_Change()
Dim tableau(2500, 1), I As Integer 'Déclaration du tableau en variable pour l'enregistrement des codes SDIS et commune
For I = 0 To 2500
tableau(I, 0) = Sheets("TGRI").Range("L" & I + 2)
tableau(I, 1) = Sheets("TGRI").Range("K" & I + 2)
Next
codesdis.Value = Application.WorksheetFunction.VLookup(ComboBox1, tableau, 2, False)
End Sub |
Objet:
Nom de la feuille source: TGRI
Source code SDIS : K9:K2500
Source commune : L9:L2500
Outils userform "Codes SDIS" : codesdis
Outils userform "Commune" : Combobox1
A savoir:
L'utilisation d'un tableau VBA n'est pas obligatoire je souhaite simplement un code qui me permet de faire ce que je souhaite.
La valeur du Textbox "Code SDIS" permettra de renseigner l'ensemble de l'Userform ainsi que de transmettre les nouvelles données dans mon tableau excel.
Si vous souhaitez plus d'information je peux bien sur vous en fournir. Pour des raisons de confidentialité des données je ne peux vous transmettre le fichier (j'en suis désolé).
Avec Excel 365, pas avec Excel 2013
Citation:
Envoyé par
wouairness
Si ton tableau est un tableau structuré, regarde cette réponse de Pierre FAUCONNIER : https://www.developpez.net/forums/d2.../#post11665814
Il te suffirait de filtrer la commune puis de charger ta ListBox avec le résultat. Celui-ci devrait être quasi instantané.
Visiblement cette solution n'est pas disponible sur Office 2013, désolé. La méthode Filter est disponible en VBA, requêter sur le forum pour obtenir des exemples.