FAQ Visual Basic
FAQ Visual Basic Consultez toutes les FAQ
Nombre d'auteurs : 50, nombre de questions : 300, dernière mise à jour : 15 juin 2021
Cette FAQ est le fruit de la collaboration des responsables, rédacteurs, modérateurs et autres utilisateurs du forum Visual Basic. Je les en remercie vivement.
Elle a pour volonté de vous aider dans la réalisation d'applications VB6. Bien que son concepteur se tourne désormais vers une technologie .NET, ce langage n'en reste pas moins
très répandu et supporte de nombreuses applications dans une multitude de domaines.
Soyez toujours nombreux à faire vivre cette FAQ soit en postant un code qui vous semble pertinent (ici) soit en améliorant et/ou corrigeant les codes qui vous sont déjà proposés.
Si vous avez soumis un code et qu'il n'apparaît pas dans la FAQ, soyez patient, il sera certainement dans la prochaine mise à jour !
Pour toutes questions ou tous problèmes inhérents à la FAQ, vous pouvez contacter par MP bbil ou ThierryAIM
NB: Les réponses aux questions sont basées sur VISUAL BASIC 6
FAQ lues fois.
- 1. A propos de cette FAQ (3)
- 2. Concepts, langage et environnement
(42)
- 2.1. Concepts (5)
- 2.2. Langage
(30)
- A quoi sert "Option Explicit" ?
- Utilitée du # ,$ , %, !, @ dans le nom d'une variable ?
- Qu'est-ce que ByVal et ByRef ?
- Comment utiliser les énumérations. Comment créer une liste de constantes (ex : une liste de couleurs)
- Comment insérer un saut de ligne ?
- Comment récupérer l'emplacement de mon programme ?
- Comment passer un tableau en paramètres ?
- Comment tester si un tableau dynamique est vide ?
- Comment faire une fonction qui renvoie un résultat ?
- Comment faire une fonction qui renvoie un tableau ?
- Comment faire une fonction qui renvoie une variable de type utilisateur ?
- Comment rechercher une chaîne de caractères dans une autre ?
- Convertir en majuscule la première lettre de chaque mot d'une phrase
- Comment récupérer les arguments de la ligne de commande passée à l'exécutable ?
- Comment créer un nombre aléatoire ?
- Comment obtenir la constante Pi ?
- Comment manipuler des entiers supérieurs à la valeur d'un type Long ?
- Comment utiliser la compilation conditionnelle ?
- Comment lire ou modifier une propriété d'un objet par son nom ?
- Comment exécuter une méthode en passant son nom en argument ?
- Comment utiliser les expressions régulières ?
- Comment interpréter une chaine string ?
- Comment Copier, Coller, Couper, Annuler ?
- Comment redimensionner un tableau ?
- Comment accéder à une procédure, fonction ou variable déclarée dans une form, à partir d'un autre module ?
- A quoi correspond le Me. que je vois devant le nom de certains objets dans des lignes de code ?
- Comment instancier un nouvel objet ?
- Comment tester si deux variables représentent le même objet ?
- Comment faire une procédure ou une fonction qui a un ou plusieurs paramètres optionnels ?
- Exécuter un code si une variable optionnelle est passée en paramètre d'une fonction
- 2.3. Environnement de développement
(7)
- Trouver des informations sur classes,méthodes, événements... d'un projet ?
- Comment utiliser la molette de la souris dans l'éditeur de code de VB6 ?
- Donner le style Windows XP aux contrôles dans l'IDE de Visual Basic 6
- Comment commenter un bloc de code source ?
- Pourquoi vb s'arrête sur une erreur malgré "on error goto" ou "on error resume next" ?
- Pourquoi le menu qui permet de créer l'exécutable est désactivé et comment je peux le réactiver ?
- Comment savoir si l'on utilise VBA (Visual basic pour application) ou VB6 ?
- 3. Interface
(68)
- 3.1. Form
(18)
- Comment ajouter dynamiquement des contrôles dans une form ?
- Comment empêcher la fermeture d'une form ?
- Comment désactiver le bouton de fermeture sur une form ?
- Comment activer/désactiver les boutons "Réduire" et "Agrandir" d'une form ?
- Comment faire pour que ma form soit toujours au premier plan ?
- Comment faire passer une MDIChild form au 1er plan en cliquant sur un bouton dans une ToolBar?
- Comment savoir quelles forms sont chargées en mémoire ?
- Comment redimensionner les contrôles quand la form est redimensionnée ?
- Comment passer des paramètres à une form lors de son ouverture ?
- Comment permettre le déplacement d'une form qui n'a pas de barre de titre ?
- Comment énumérer les contrôles d'une form dans une boucle ?
- Comment savoir si un contrôle appartient à un groupe de contrôles ?
- Comment ouvrir une même form plusieurs fois ?
- Comment afficher une form dont les dimensions ne dépendent pas de la résolution ?
- Comment détecter le mouvement d'une form ?
- Comment centrer une feuille MDI fille par rapport à la MDI mère ?
- Comment régler la transparence d'une fenêtre ?
- Comment faire réapparaître le "Underscore _ " dans les menus de ma form ?
- 3.2. Contrôles
(35)
- Comment choisir entre une MSFlexgrid et une Datagrid ?
- Comment permettre à l'utilisateur de taper du texte dans une flexgrid ?
- Comment avoir une case à cocher dans une flexgrid (2 méthodes)?
- Comment n'autoriser la sélection que d'une seule ligne dans une MSFlexgrid ?
- Comment exporter le contenu d'une msflexgrid dans un fichier ?
- Comment modifier la largeur des colonnes d'une MSFlexgrid en fonction de la longueur du texte ?
- Comment adapter les dimensions d'une image à celle d'un PictureBox ?
- Comment contrôler les caractères qui peuvent être saisis dans un textbox ?
- Comment annuler la dernière modification du contenu d'un textbox (undo) ?
- Comment récupérer une par une les lignes d'un textbox multilignes ?
- Comment afficher son propre menu popup dans un textbox ?
- Comment utilise-t-on le contrôle TabStrip ?
- Comment se connecter à une base Access 2000 avec un contrôle Data ?
- Comment imprimer le contenu d'un RichTextBox ?
- Comment concaténer le contenu de deux contrôles RTF ?
- Comment mettre plusieurs colonnes dans une ComboBox ?
- Comment dérouler une ComboBox ?
- Comment modifier la largeur de la zone de déroulement d'une ComboBox ?
- Comment modifier la hauteur de la zone de déroulement d'une ComboBox ?
- Comment ajouter une fonctionnalité de correspondance à une ComboBox ?
- Comment ajouter un ascenseur horizontal à une ListBox ?
- Comment aligner des entrées multicolonnes dans une ListBox ?
- Comment lier une DataCombo ou une DataList à un champ d'une base de données ?
- Comment tester l'existence d'un noeud dans un contrôle TreeView ?
- Comment définir la couleur d'arrière-plan d'un TreeView ?
- Comment donner un effet d'ombre à un contrôle ?
- Comment savoir s'il y a une image dans un contrôle ?
- Comment savoir si une propriété existe pour un contrôle ?
- Comment dérouler un bouton DropDown dans une ToolBar en cliquant sur l'ensemble du bouton ?
- Comment donner le style de Windows XP à mes contrôles VB6 ?
- Comment faire évoluer un ProgressBar en fonction d'un FileCopy?
- Utilise le contrôle Common Dialog pour récupérer le chemin d'un fichier
- Comment sélectionner plusieurs extensions dans le filtre d'un CommonDialog ?
- Comment copier une image dans un RichTextBox ?
- Comment faire de l'auto complétion avec une Combobox standard ?
- 3.3. Divers
(15)
- Comment faire un écran d'accueil (splash screen) ?
- Peut-on changer la police ou la couleur du texte avec MsgBox ?
- Comment faire une barre de progression ?
- Comment modifier le texte d'un rptLabel dans un datareport ?
- Comment afficher un DataReport en mode paysage ?
- Comment faire défiler un ensemble de contrôles avec un ascenseur ?
- Comment mettre des images dans un menu ?
- Comment mettre les éléments de mon menu sur plusieurs colonnes ?
- Comment faire du Drag and Drop ?
- Comment récupérer les coordonnées de la souris ?
- Comment simuler un clic de souris ?
- Comment insérer une image au format gif animée ?
- Qu'est-ce que le sous classement ?
- Comment compiler un ou plusieurs projets VB6 à partir d'une autre application VB6 ?
- Comment détecter l'action sur une touche ?
- 3.1. Form
(18)
- 4. Graphisme
(5)
- Comment retrouver les composantes rouge, verte, bleue d'un code couleur de type Long ?
- Comment retrouver la couleur d'un pixel à l'écran ?
- Comment avoir la couleur inverse exacte ?
- Comment obtenir la taille graphique d'une chaîne de caractères ?
- Comment afficher un texte incliné par rapport à sa ligne de base ?
- 5. Système
(105)
- Comment déterminer l'identifiant et la langue du système d'exploitation ?
- Comment savoir si mon clavier est en majuscule ou pas?
- Comment Activer/Désactiver le Caps Lock du clavier
- Comment déterminer les variables d'environnement du système (Windows 2000 et +) ?
- Comment exécuter des commandes Dos ?
- Comment exécuter un programme ?
- Comment fermer un programme ouvert avec la fonction Shell ?
- Comment lister les processus actifs sans utiliser l'API Windows (Win2000 et >) ?
- Comment "tuer" un processus en mémoire (Win2000 et >)?
- Comment verrouiller la station de travail ?
- Comment arrêter ou bien redémarrer le système ?
- Comment réduire la fenêtre d'une application ?
- Comment lister et modifier les services de Windows 2000 /XP ?
- Comment obtenir le numéro de série unique du processeur machine (Windows 2000 et >) ?
- Comment tuer un processus en connaissant le nom de sa fenêtre ?
- Comment lire / écrire dans un fichier .ini ?
- Comment lister toutes les sections d'un fichier .ini ?
- Comment lister toutes les clés et valeurs d'une section d'un fichier .ini ?
- Comment ouvrir un fichier HTML, Word ou autre en utilisant l'exécutable associé ?
- Comment connaître la résolution de l'écran ?
- Comment changer la résolution de l'écran ?
- Comment détecter le changement de la résolution de l'écran ?
- Comment énumérer les polices disponibles ?
- Comment faire une pause pendant un temps défini ?
- Comment récupérer les paramètres régionaux, comme le séparateur décimal ou celui des milliers ?
- Comment récupérer le chemin UNICODE d'un lecteur ?
- Comment récupérer les chemins complets des répertoires Windows, System, et Windows\Temp ?
- Comment obtenir les chemins complets des répertoires spéciaux ?
- Comment connaître la version de Windows sur laquelle mon application est exécutée ?
- Comment savoir si mon application VB6 et exécutée sous Windows VISTA ?
- Comment créer un raccourci sur le Bureau ?
- Comment récuperer le numéro de série d'un volume physique ?
- Comment mettre mon programme à droite dans la barre des tâches (le systray) ?
- Comment lancer un exécutable et reprendre la main quand il a fini ?
- Comment obtenir le nom de l'utilisateur ?
- Comment Vérifier si l'utilisateur courant est Administrateur ?
- Comment obtenir ou modifier le contenu du Presse-papiers ?
- Comment permettre à l'utilisateur de sélectionner une imprimante ?
- Comment obtenir la quantité de mémoire du système ?
- Comment éjecter le lecteur de cd-rom ?
- Comment afficher/masquer la barre des tâches ?
- Comment lancer un élément du panneau de configuration ?
- Comment vider la corbeille ?
- Comment activer/désactiver l'économiseur d'écran ?
- Comment afficher l'écran de veille où éteindre le moniteur
- Comment désactiver le gestionnaire des tâches ou la séquence de touches Ctrl-Alt-Suppr ?
- Comment récupérer la taille et la position de la barre des tâches ?
- Comment masquer le bouton démarrer avec VB ?
- Comment récupérer l'exécutable associé à un fichier ?
- 5.1. Fichiers
(38)
- Comment savoir si un fichier existe ?
- Comment compter les fichiers dans un répertoire ?
- Comment savoir si un fichier est ouvert ?
- Comment copier un fichier ?
- Comment copier un fichier actuellement ouvert par une application?
- Comment renommer un fichier ou un répertoire ?
- Comment détruire un fichier ?
- Comment envoyer un fichier à la corbeille ?
- Comment connaître les dates de création, de dernière modification et de dernier accès d'un fichier ?
- Comment obtenir le numéro de version d'un fichier (si disponible) ?
- Comment récupérer la taille d'un fichier ?
- Comment convertir une taille de fichier donnée en octets en une unité adaptée ?
- Comment copier un répertoire ?
- Comment supprimer un répertoire ?
- Comment obtenir le contenu d'un répertoire ?
- Comment scanner un répertoire et tous ses sous-répertoires ?
- Comment obtenir la taille d'un répertoire ?
- Comment ouvrir une fenêtre de sélection de répertoire ?
- Comment modifier la fenêtre de sélection de répertoire ?
- Quelle référence dois-je ajouter à mon projet pour pouvoir utiliser le FileSystemObject ?
- Comment récupérer le répertoire d'un fichier à partir de son chemin complet ?
- Afficher la boîte de dialogue ouvrir afin de récupérer le nom et le chemin du fichier sélectionné
- Comment avec l'API GetOpenFileNameA ouvrir plusieurs fichiers à la fois ?
- Afficher la boîte de dialogue Enregistrer sous afin de récupérer le nom et le chemin du fichier sélectionné
- Comment obtenir le chemin relatif d'un fichier ?
- Comment récupérer le nom d'un fichier à partir d'un chemin complet ?
- Comment récupérer l'extension d'un fichier à partir d'un chemin complet ?
- Comment compresser et décompresser des fichiers ?
- Comment déterminer le type d'un lecteur ?
- Comment savoir si un CD se trouve dans l'un des lecteurs du système (2 codes)?
- Comment récupérer l'espace Total/Libre/Utilisé d'un disque ?
- Comment récupérer la vidéo d'une WebCam ?
- Comment lire/modifier les attributs d'un fichier/répertoire par l'API Windows ?
- Comment jouer des fichiers wav sans lecteurs (WMP ou MID) ?
- Comment récupérer l'icône associé à un fichier ?
- Comment lire ou écrire les propriétés avancées d'un fichier ?
- Comment lire un fichier avec un charset UTF 8 ?
- Comment compter les occurrences d'une chaîne dans un fichier ?
- 5.2. Réseaux
(18)
- Comment envoyer un e-mail ?
- Comment envoyer un mail SMTP ?
- Comment décoder un fichier attaché en base 64 ?
- Comment envoyer un mail avec Lotus Notes ?
- Comment obtenir l'adresse IP de la machine ?
- Comment obtenir le nom de la machine ?
- Comment savoir si l'on est connecté à internet ?
- Comment uploader un fichier par FTP ?
- Comment envoyer un fichier via FTP avec des API ?
- Comment obtenir les noms de toutes les machines sur un domaine Windows ?
- Comment obtenir l'adresse MAC de la carte réseau ?
- Comment ouvrir la fenêtre de connexion ou déconnexion à un lecteur réseau ?
- Comment obtenir la liste des ports série, parallèle, réseau ouverts ?
- Comment redémarrer un poste à distance ?
- Comment effectuer un ping sur une adresse IP ?
- Comment faire un "ping" en VB
- Comment récupérer le chemin UNC d'un fichier ?
- Comment Récupérer l'adresse MAC d'un PC distant
- 6. Bases de données
(15)
- Pourquoi j'ai l'erreur "type de données incompatible dans l'expression du critère" ?
- Pourquoi ma requête, qui a un critère sur une date, ne me renvoie aucun enregistrement ?
- Pourquoi j'ai une erreur de syntaxe dans ma requête quand un des arguments contient une apostrophe ?
- Comment spécifier les valeurs des paramètres d'une procédure stockée ?
- Qu'est-ce que MDAC et où puis-je le télécharger ?
- Comment lire la structure d'une base de données avec ADO ?
- Comment déterminer si une table existe avec ADO ?
- Pourquoi la propriété RecordCount me renvoie toujours -1 ?
- Comment connaître le nombre de lignes affectées par une requête UPDATE (ADO) ?
- Comment créer un lien ODBC à partir de VB ?
- Comment ouvrir la boîte de dialogue pour créer/éditer une connexion OleDB ?
- Comment créer une base mdb, sans Access :
- Comment compacter une base de données avec ADO ?
- Comment créer une base mdb, en DAO :
- Comment afficher les tables et champs d'une base de données ?
- 7. Documentation et installation
(8)
- Comment ouvrir mon fichier d'aide .hlp depuis mon application ?
- Comment ouvrir mon fichier d'aide .chm par du code ?
- Comment faire un programme d'installation ?
- Quels sont les fichiers nécessaires pour que mon logiciel fonctionne ?
- Comment enregistrer un ActiveX ?
- Pourquoi le setup de VB m'indique que des fichiers systèmes sont périmés pendant l'installation de mon application ?
- Comment inclure MDAC à mon programme d'installation ?
- Comment associer une extension à un programme ?
- 8. Liaison Office
(19)
- 8.1. Excel (5)
- 8.2. Word
(10)
- Comment connaître la version de Word installée ?
- Comment savoir si Word est déjà ouvert ?
- Comment ouvrir Word ou un fichier Word avec OLE ?
- Comment créer un nouveau document Word ?
- Comment imprimer un document Word ?
- Comment lister les propriétés d'un document Word ?
- Comment connaître le nombre de pages d'un document Word ?
- Comment désactiver la correction orthographique de Word ?
- Comment modifier les marges d'un document Word, exprimées en cm ?
- Comment intercepter la fermeture de WORD
- 8.3. Divers Office (4)
- 9. Divers bis
(35)
- 9.1. Routines
(25)
- Comment obtenir le temps d'exécution d'une partie de mon code ?
- Comment exécuter un code à la première exécution d'un programme ?
- Comment transmettre des données à un document Word ?
- Comment extraire un élément d'une chaine délimitée qui est à une position donnée ?
- Comment n'autoriser qu'une seule instance de mon application ?
- Comment lire un fichier XML ?
- Comment générer aléatoirement un mot de passe ?
- Comment faire une capture d'écran ?
- Comment lister les variables d'environnement d'une application ?
- Comment connaître le type du contenu d'un TextBox ?
- Comment savoir si le contenu d'un TextBox est un Integer ?
- Comment effectuer des conversions vers le Décimal, l'Hexadécimal ou le Binaire ?
- Comment convertir un nombre décimal en binaire ?
- Comment Arrondir un nombre à sa valeur supérieure ou inférieure
- Comment effectuer un calcul statistique à partir des valeurs contenues dans un tableau ?
- Comment savoir si un nombre est pair ou non ?
- Comment afficher une image en plein écran ?
- Comment savoir si mon programme est exécuté depuis l'IDE de VB6 ou en mode compilé ?
- Comment utiliser la fonction split en VB5 ?
- Comment Encoder des url ?
- Comment récupérer les propriétés d'un PDF
- Comment effectuer un codage/decodage base64 ?
- Comment effectuer un codage/décodage en Quote-Printable ?
- Comment trier un tableau d'entier ?
- Comment enlever les accents d'une chaîne
- 9.2. Manipulation de dates
(10)
- Comment obtenir une date à partir des numéros du jour, de la semaine et de l'année ?
- Comment déterminer le premier jour d'une semaine ?
- Comment convertir une chaîne de caractères en date ?
- Comment ajouter des heures, des jours ou des mois à une date ?
- Comment calculer le temps écoulé entre deux dates ?
- Comment convertir une date julienne ?
- Comment connaître le dernier jour du mois ?
- Comment trier ou comparer des dates facilement ?
- Comment savoir si une année est bisextile ?
- Comment créer un timer sans utiliser le composant standard de VB6 ?
- 9.1. Routines
(25)