Le complètement ou complètement automatique, ou encore par anglicisme complétion ou autocomplétion, est une fonctionnalité informatique permettant à l'utilisateur de limiter la quantité d'informations qu'il saisit avec son clavier, en se voyant proposer un complément qui pourrait convenir à la chaîne de caractères qu'il a commencé à taper. De nombreux logiciels possèdent cette fonctionnalité : les éditeurs de texte prévus pour l'édition de code source, les traitements de texte, les interpréteurs de commandes ou encore les navigateurs web, ainsi que certains systèmes de saisie intuitive installés sur les téléphones mobiles.
Le complètement impose au logiciel de prévoir le mot ou la phrase que l'utilisateur est susceptible de taper, avant que celui-ci ne l'ait entièrement saisi. Le complètement est donc disponible dans les cas où il est possible de prévoir le ou les prochains mots qui seront saisis, en se basant sur :
Le complètement permet d'accélérer la saisie sur un ordinateur, ce qui rend l'interaction avec les logiciels moins pénible et plus efficace. Il permet également de limiter les erreurs de saisie, en entrant sans intervention humaine les caractères qu'il reste à taper. Cette dernière qualité se vérifie essentiellement sur les mots longs, pour lesquels il suffit de taper les premières lettres.
Dans les navigateurs web, le complètement est réalisé dans la barre d'adresse, ainsi que dans certains champs des formulaires les plus souvent utilisés, comme ceux des moteurs de recherche par exemple. Le complètement des URL est particulièrement pratique, car les adresses sont souvent fastidieuses et longues à écrire, et il n'est pas rare de commettre une erreur de saisie.
Dans un code source, le complètement est facilité car la structure du texte en cours de saisie est imposée par le langage de programmation. Il n'existe habituellement qu'un nombre limité de mots possibles dans chaque situation, tels que des noms de variables ou de fonctions. Les notions de portée et d'espace de noms de certains langages limitent davantage encore le nombre de mots possibles.
Afin de rendre le complètement aussi pratique que possible, certains éditeurs de code source disposent d'éléments graphiques spécifiques, tels que des boîtes de sélection contextuelles (par exemple Intellisense de Microsoft). Ces éléments graphiques affichent les différentes possibilités pour le complètement, en tenant compte de ce que le programmeur a déjà saisi. Ils lui permettent également de choisir le mot ou l'expression complète dans une liste s'il reste une ambiguïté. Cette facilité graphique apporte un confort important, en particulier en programmation objet, car elle épargne au programmeur la connaissance exhaustive des membres des classes qu'il doit manipuler. Il n'est pas inopportun de considérer dans ce cas le complètement comme un complément documentaire, tout autant qu'une méthode de saisie.
Un bénéfice supplémentaire du complètement de code est qu'il encourage le programmeur à utiliser des noms de variables ou de fonctions plus longs, plus descriptifs, ce qui aboutit à du code plus lisible. En effet, le complètement facilite la saisie de mots longs, dont la frappe complète est fastidieuse et sujette à des erreurs, particulièrement pour les identifiants dont la casse est capitalisée (par exemple nNombreDeMotsParLigne).
Certains moteurs de complètement pour le code sont capables de comprendre des abréviations implicites et de les développer. Par exemple, pour saisir l'identifiant nNombreDeMotsParLigne, le programmeur tape les premiers caractères de la chaîne nNDMPL, qui représente la première lettre de chacun des mots composant l'identifiant complet, jusqu'à ce que l'ambiguïté soit levée. Le complètement remplace alors les caractères par l'identifiant correct.