background preloader

Macro SCE

Facebook Twitter

Bibliograph

Les variables. Les variables permettent de stocker toutes sortes de données. Voici un premier exemple : 'Affichage de la valeur de la variable dans une boîte de dialogueSub variables() 'Déclaration de la variable Dim ma_variable As Integer 'Attribution d'une valeur à la variable ma_variable = 12 'Affichage de la valeur de ma_variable dans une MsgBox MsgBox ma_variableEnd Sub Cette première ligne de code est la déclaration de la variable (généralement placée en début de procédure). Dim ma_variable As Integer Dim : déclaration de la variablema_variable : nom choisi pour cette variable (sans espaces)As : déclaration du type de la variableInteger : type de la variable Déclarer ses variables n'est pas obligatoire mais recommandé.

Le type de la variable indique la nature de son contenu (texte, nombres, date, etc.). Une valeur est ensuite donnée à cette variable : ma_variable = 12 Et enfin, la valeur de la variable est affichée dans une boîte de dialogue : MsgBox ma_variable Le résultat de ce code : Exemple pratique. Fonctions intégrées d'Excel dans VBA. Les conditions. Les conditions sont très utiles en programmation, elles nous serviront à effectuer des actions en fonction de critères précis (même principe que la fonction SI).

La principale fonction est If, voici comment elle fonctionne : If [CONDITION ICI] Then ' => SI condition validée ALORS 'Instructions si vraiElse ' => SINON 'Instructions si fauxEnd If Passons directement à la pratique et reprenons l'exemple développé à la leçon sur les variables. Il avait pour but d'afficher dans une boite de dialogue la ligne du tableau correspondant au numéro indiqué dans la cellule F5. Fichier source : conditions.xls Si vous entrez une lettre en F5, cela génère un bug. Sub variables() 'Déclaration des variables Dim nom As String, prenom As String, age As Integer, numero_ligne As Integer 'Valeurs des variables numero_ligne = Range("F5") + 1 nom = Cells(numero_ligne, 1) prenom = Cells(numero_ligne, 2) age = Cells(numero_ligne, 3) 'Boîte de dialogue MsgBox nom & " " & prenom & ", " & age & " ans"End Sub ElseIf.

UserForm. Pour ajouter un UserForm, procédez de la même manière que pour un nouveau module : La fenêtre de l'UserForm ainsi que la "Boîte à outils" apparaissent : Si la fenêtre des propriétés n'est pas présente, affichez-la et commencez par modifier le nom de l'UserForm (pour mieux s'y retrouver par la suite) : Tout comme le classeur ou les feuilles, l'UserForm a ses propres événements. Pour ajouter des événements, double-cliquez sur la fenêtre de l'UserForm : Pour prendre un exemple, nous allons créer deux événements. Le premier pour définir les dimensions initiales de l'UserForm et le second pour augmenter ses dimensions de 50 pixels au clic. L'événement UserForm_Initialize se déclenche au lancement de l'UserForm : La propriété Height est la hauteur, Width la largeur : Private Sub UserForm_Initialize() Mon_userform.Height = 100 Mon_userform.Width = 100End Sub Private Sub UserForm_Initialize() Me.Height = 100 Me.Width = 100End Sub Le second événement est déclenché au clic sur l'UserForm :

Aller plus loin avec les userforms. Accueil VBA Communiquer avec un port série (RS232) Créer ses propres boîtes de dialogue (le retour !) Ou "Aller un peu plus loin ! " La première partie était destinée à décrire le fonctionnement d'un USERFORM. Cette page est destinée à expliquer comment exploiter les renseignements fourni par l'utilisateur à partir de quelques contrôles de la boite à outils. Comme indiqué dans la page précédente, chaque objet utilisé dans un USERFORM a des propriétés. Certaines de ces propriétés peuvent être modifiées par l'utilisateur; le programme doit donc être conçu pour exploiter ces valeurs. Les cases à cocher (CheckBox) et intitulés (labels) Les CheckBox servent à donner un réponse de type binaire: oui ou non, un ou zéro, vrai ou faux.

Sub case_a_cocher() userform1.show end sub - sur la grille du USERFORM, posez un label et enlevez le texte "Label1" ou laissez sa propriété "Caption" vide - posez une case à cocher - double cliquez sur la CheckBox et entrez le code suivant: End Sub fin: End Sub End Sub. Rechercher des valeurs dans une liste de données - Support technique. Supposons que vous vouliez rechercher le numéro de téléphone d’un employé en utilisant le numéro de son badge, ou le taux à appliquer pour calculer une commission sur le montant d’une vente. Vous parcourez les données pour trouver rapidement et avec efficacité des données spécifiques dans une liste et vérifier automatiquement que vous utilisez les bonnes informations. Après avoir recherché vos données, vous pouvez effectuer des calculs ou afficher comme résultat les valeurs renvoyées.

Il existe plusieurs moyens de rechercher des valeurs dans une liste de données et d’afficher des résultats. Que voulez-vous faire ? Rechercher des valeurs verticalement dans une liste en utilisant une correspondance exacte Utilisez la fonction RECHERCHEV. Exemple L’exemple sera plus compréhensible si vous le copiez dans une feuille de calcul vide. Comment copier un exemple ? Sélectionnez l’exemple dans cet article. Important Ne sélectionnez pas les en-têtes des lignes ou des colonnes. Appuyez sur Ctrl + C.

Ecriture et déplacement dans les cellules. Ecriture dans une certaine cellule de la feuille active La procédure qui suit, toute simple, Sub Test() Cells(4, 2) = "Tralala" End Sub Ecrit Tralala dans la 4ème ligne, 2ème colonne de la feuille courante du classeur courant. En d'autres mots dans la cellule B4. En fait, Cells est un membre de Application, mais lorsqu'il s'agit de l'objet Application, nul besoin de le préciser. La procédure suivante fait exactement la même chose : Sub Test() Application.Cells(4, 2) = "Tralala" End Sub Nous aurions pu également préciser que Tralala est bien le CONTENU de la cellule, en effet, si nous avions écrit GREEN à la place de Tralala, on pourrait imaginer qu'Excel allait reconnaître qu'il s'agit non pas d'écrire GREEN, mais de mettre le texte, ou même la couleur de fond de la cellule en Vert.

Sub Test() Application.Cells(4, 2).Value = "Tralala" End Sub En fait, la propriété Value ne doit pas obligatoirement se préciser, car Excel imagine (intelligemment) que nous voulons nous occuper du contenu. Premiers pas en VBA. Fonction INDEX. Renvoie une valeur ou une référence à une valeur provenant d’un tableau ou d’une plage. La fonction INDEX existe sous deux formes : la forme matricielle (matrice : permet de créer des formules uniques permettant d’obtenir plusieurs résultats et qui agissent sur un groupe d’arguments répartis dans des lignes et des colonnes. Une plage matricielle partage une même formule tandis qu’une constante matricielle est un groupe de constantes qui sert d’argument.) et la forme référentielle.

Renvoie la valeur d’un élément d’un tableau ou d’une matrice (matrice : permet de créer des formules uniques permettant d’obtenir plusieurs résultats et qui agissent sur un groupe d’arguments répartis dans des lignes et des colonnes. Une plage matricielle partage une même formule tandis qu’une constante matricielle est un groupe de constantes qui sert d’argument.), sélectionné à partir des index de numéros de ligne et de colonne. INDEX(matrice;no_lig;no_col) Notes Exemple 1 Comment copier un exemple Exemple 2.