Mini utilitaire de saisie en VBA

Bonjour à tous,

Pour construire un prototype de saisie destiné à un usage limité, voici une petite procédure qui peut rendre de grands services. Cet exemple ne permet que la saisie, mais pas la modification ou la suppression de données.

Cet exemple sert à démontrer l'utilisation de certaines fonctionnalités du VBA en interaction avec Excel.

On notera :

  • Utilisation d'une variable pour identifier la nouvelle ligne à saisir.
  • Utilisation de noms de plages définis dans Excel pour rendre l'application robuste. Par exemple, l'ajout, la suppression, la modification ou le déplacement de lignes ou de colonnes est possible dans une large mesure. A l'inverse, si vous aviez utilisé des références statiques du style Range("D2"), celles-ci ne sont pas du tout robustes en VBA-Excel.

Voici une petite vidéo qui démontre la construction du fichier :

On peut aller une étape plus loin en créant une boucle qui va parcourir toutes les colonnes. Dans le fichier joint (mais pas dans la vidéo), j'ai aussi géré le fait de mettre la table de données dans une autre feuille :

De plus, en transformant la plage en tableau, l'ajout des lignes étend automatiquement le tableau vers le bas.

Pour ajouter un nouveau champ, il faut simplement définir deux noms et modifier le code VBA en ajoutant le nom du champ dans l'array:

  • Saisie_NomNouveauChamp
  • Col_ NomNouveauChamp
  • arrColonnes = Array("Nom", "Prenom", "Ville", "CodePostal", " NomNouveauChamp")

Bonne continuation.

Bonnes lectures excelliennes (1/…)

Bonjour à tous,

Je vais démarrer une petite série pour voir si cela vous intéresse :-).

Comme je lis beaucoup ces derniers temps, voici une nouvelle rubrique sur quelques pages qui m'ont passionnées...N'hésitez pas à m'envoyer des liens intéressants pour que j'en parle.

Ajouter une info-bulle et un message de saisie à droite de la cellule dans laquelle saisir les données
Source (Anglais) : http://www.jkp-ads.com/articles/ExcelDataEntryWithValidationHelp.asp

Ca nous donnera ceci :

Avec une très belle démonstration de l'utilisation des styles :
Créez un style nommé i et changez la police pour Webdings, ca vous donne ceci :

Et ensuite vous ajoutez un i dans une cellule.
Puis, vous appliquez une validation des données, suivie d'un lien hypertexte pour ajouter une boite d'information et une info-bulle :

Pour l'info-bulle :
Note : il faudra ré-appliquer le format une fois le lien ajouté

Pour la validation des données :
C'est assez classique, mais on va l'appliquer à la cellule contenant le i et non pas à la cellule contenant les données.

Et voilà !

A bientôt pour la suite.

Gaëtan

Empêcher la saisie de dates en double

Suite à une question d'un lecteur, voici comment restreindre la saisie de dates pour qu'elles soient toutes uniques.

1/ Sélectionnez la colonne qui ne doit contenir que des dates uniques
2/ Dans Données - Validation - Personnalisée
3/ Ajouter une formule comme celle-ci :
=NB.SI(B:B;B2)< =1

C'est tout ! 🙂