Vous créez donc une feuille de calcul qui oblige l'utilisateur à saisir un code postal, une ville et un état… Comment créer une feuille de calcul plus intelligente qui remplit automatiquement la ville et l'état une fois que l'utilisateur n'a saisi que le code postal ?
J'ai examiné quelques didacticiels de base que les développeurs Web utilisent avec XMLHttpRequest, comme celui-ci, et j'ai été inspiré pour recréer la même fonctionnalité que cet excellent didacticiel XMLHttpRequest dans Excel (faites défiler le lien pour une démo).
Succès! J'ai mis en place un film flash rapide pour démontrer la saisie d'un zip et le retour automatique de la ville et de l'état dans Excel.
Et voici la feuille de calcul à télécharger (il n'y a pas beaucoup de code).
Comment ça fonctionne
1. Vous avez besoin d'une base de données contenant les informations sur le code postal/l'état/la ville. Obtenez cela ici (je suis allé avec MYSQL comme démontré).
2. Renvoyez la ville et l'état en fonction d'une requête de code postal à partir de la base de données, j'ai utilisé PHP pour renvoyer le texte.
3. Retour dans Excel : lorsque le champ ZipCode change, l'événement Worksheet_Change se déclenche, envoyant la demande via WinHTTP à la page PHP, qui renvoie la ville et l'état de la demande à Excel.
4. J'utilise la fonction Split() pour analyser la chaîne et écrire les résultats dans la feuille de calcul.
Remarques
Pourquoi ne pas renvoyer XML ?
Il ne s'agit que d'une chaîne de deux mots et le texte est facile à traiter lorsqu'il n'y a que deux mots. XML a peut-être été plus élégant, car j'aurais pu simplement mapper les deux champs de résultat aux cellules et appeler un fichier personnalisé URL d'importation : chaque fois.
Pourquoi ne pas vous connecter directement à la base de données ?
Oui, c'est possible, mais je préférerais créer un "service", de cette façon, n'importe quelle application que je crée, sur n'importe quelle plate-forme, peut l'utiliser.
Pourquoi ne pas simplement importer les Zips dans Excel et faire une recherche ?
Possible, cependant si plusieurs classeurs utilisent la table, une modification doit être apportée à chacun d'eux.
Les Zips dans l'exemple peuvent être obsolètes.
Testé uniquement en XL2003.