Chapitre VI : I. Fonctions RechercheV & rechercheh...1 I.1. La fonction RechercheV...1 I.2. La fonction RechercheH...2 II. Macros...3 II.1. la sécurité des macros...3 II.2. Créer une macros...4 II.3. Exécuter une macro...6 III. Visual Basic pour Applications...8 III.1. Créer une macro...8 III.2. Modifier une macro...8 I. FONCTIONS RECHERCHEV & RECHERCHEH I.1. La fonction RechercheV Cette fonction permet de chercher une valeur donnée(valeur_cherchée) dans la colonne située à l'extrême gauche d'une matrice (table_matrice) et de renvoyer une valeur situer à l intersection de la ligne contenant la valeur cherchée et la colonne que vous spécifiez dans la formule ;no_index_col). La fonction recherchev requiert 4 arguments et se présente ainsi : =RECHERCHEV(valeur_cherchée;table_matrice;no_index_col; valeur_proche) La valeur_cherchée est la valeur à trouver dans la première colonne de la matrice. L'argument valeur_cherchée peut être une valeur, une référence ou une chaîne de texte. La table_matrice est la table de données dans laquelle est exécutée la recherche de la valeur. Utilisez une référence à une plage ou un nom de plage (Champ nomé). no_index_col est le numéro de la colonne qui contient la valeur à renvoyer dans la cellule qui contient la formule (résultat de la fonction). valeur_proche peut prendre deux valeur : Vrai ( ou 1) ou Faux ( ou 0) Cours MS Excel Filières SMP-S2 ; SMC-S2 ; SV-S4 & STU-S4 1/8
o valeur_proche = vrai : la fonction renvoie la valeur la plus proche. Dans ce cas les valeurs de la première colonne de l'argument table_matrice doivent être placées en ordre croissant. Sinon, la fonction RECHERCHEV peut donner une valeur incorrecte. o valeur_proche = Faux: La fonction renvoie la valeur exacte. Dans ce cas les éléments de la table ne doivent pas nécessairement être classés. NB. : Si la fonction RECHERCHEV ne trouve pas l'argument valeur_cherchée et si l'argument valeur_proche est FAUX, la fonction RECHERCHEV renvoie la valeur #N/A. I.2. La fonction RechercheH Cette fonction permet de chercher une valeur donnée(valeur_cherchée) dans la ligne supérieure d'une matrice (table_matrice) et de renvoyer une valeur situer à l intersection de la colonne contenant la valeur cherchée et la ligne que vous spécifiez dans la formule ;no_index_lig). La fonction recherchev requiert 4 arguments et se présente ainsi : =RECHERCHEH(valeur_cherchée;table_matrice;no_index_lig; valeur_proche) La valeur_cherchée est la valeur à trouver dans la ligne supérieure de la matrice. L'argument valeur_cherchée peut être une valeur, une référence ou une chaîne de texte. La table_matrice est la table de données dans laquelle est exécutée la recherche de la valeur. Utilisez une référence à une plage ou un nom de plage (Champ nomé). no_index_lig est le numéro de la ligne qui contient la valeur à renvoyer dans la cellule qui contient la formule (résultat de la fonction). valeur_proche peut prendre deux valeur : Vrai ( ou 1) ou Faux ( ou 0) o valeur_proche = vrai : la fonction renvoie la valeur la plus proche. Dans ce cas les valeurs de la ligne supérieure de l'argument table_matrice doivent être placées en ordre croissant. Sinon, la fonction RECHERCHEH peut donner une valeur incorrecte. o valeur_proche = Faux: La fonction renvoie la valeur exacte. Dans ce cas les éléments de la table ne doivent pas nécessairement être classés. Cours MS Excel Filières SMP-S2 ; SMC-S2 ; SV-S4 & STU-S4 2/8
NB. : Utilisez la fonction RECHERCHEV lorsque les valeurs de comparaison se trouvent dans une colonne située à gauche des données recherchées. La lettre V dans RECHERCHEV est l'abréviation de "Verticale" La lettre H dans RECHERCHEH est l'abréviation de "Horizontale" La fonction ne fait pas de distinction entre les majuscules et les minuscules. II. MACROS Une macro permet d'automatiser des tâches répétitives. Deux méthodes différentes sont utilisées pour créer des macros Excel: Enregistrer une séquence utilisateur (déplacements, textes, chiffres et formules, commandes diverses,...) Programmation en VBA (Visual Basic Application, une version particulière du langage de programmation Visual Basic). Dans ce cours ; on se contentera d utiliser la première méthode c à d "enregistrer une séquence d'instructions". II.1. la sécurité des macros Avant de se lancer dans les macros, il est nécessaire de modifier le niveau de sécurité dans Microsoft Excel. Cliquer dans le menu Outils > Macro > Sécurité, on obtient la boîte de dialogue suivante : Cours MS Excel Filières SMP-S2 ; SMC-S2 ; SV-S4 & STU-S4 3/8
Niveau de sécurité élevé : Les macros sont automatiquement désactivées et le fichier est ouvert. Niveau de sécurité moyen : L'utilisateur est invité à activer ou désactiver des macros. Niveau de sécurité faible: Toutes les macros seront traitées de façon égale quelle que soit l'origine ou le statut du certificat. N'utilisez ce paramètre que si vous êtes certain que toutes les macros de vos fichiers proviennent de sources fiables. II.2. Créer une macros. Pour créer une macro, utiliser l une des deux procédures suivantes : Menu Outils > Macro > Nouvelle macro Barre d outils Visual basic > Bouton nouvelle macro On obtient la boîte de dialogue suivante : Cours MS Excel Filières SMP-S2 ; SMC-S2 ; SV-S4 & STU-S4 4/8
4 options sont disponibles: Le nom de la macro: il doit être en 1 seul mot, sans espaces, trait d'union, Le raccourci clavier. Ceci permet de démarrer la macro par une combinaison de touche. N'utilisez pas de raccourcis existants comme CTRL + G (gras), CTRL + I (italique), CTRL + U (souligné). Les raccourcis peuvent être constitués des touches <CTRL>, <ALT>, suivi ou non de <Shift>, suivi d'une lettre ou d'un chiffre. Enregistrer la macro dans : o Ce classeur o nouveau classeur o classeur de macros personnelles. Pour l'instant, sélectionnons ce classeur. Description de la suite de commandes comme commentaire (optionnel) Cliquez sur le bouton OK pour continuer. La fenêtre d'enregistrement disparaît et une petite fenêtre : Cette fenêtre restera affiché tout au long de l'enregistrement de la macro. La croix ferme la fenêtre, mais n'arrête pas la macro. Pour arrêter l enregistrement de la macro cliquer sur le bouton d arrêt de l enregistrement (carrée bleu). Le mode relatif ou absolu permet d'enregistrer les déplacements du pointeur dans les cellules ou non. Elle n'est disponible que depuis la version Excel XP et 2003. Si le bouton "Référence absolu / relatif" n est pas enfoncé, vous travaillez donc en mode absolu. Pour basculer vers le mode relatif cliquer sur le bouton "Référence absolu / relatif". Le contour du bouton devient bleu vous êtes en mode relatif. Cours MS Excel Filières SMP-S2 ; SMC-S2 ; SV-S4 & STU-S4 5/8
macro Exemple 1 : Mode absolu Créer une macro nommé "Test_1". Tapez les chiffres ci-dessus dans votre Dans la cellule A3, faites la sommes des 2 cellules supérieures, soit =somme(a1:a2) et arrêtez l'enregistrement de la macro. Supprimez le contenu des 3 cellules et positionnez le curseur dans n'importe quelle cellule (sauf A1), par exemple en B12. II.3. Exécuter une macro Pour exécuter la macro, vous pouvez utiliser l une des procédures suivantes : Menu Outils> Macro > Macros. Barre d outils Visual basic > Macros Le raccourci clavier <ALT> + <F8>. Ceci fait apparaître la liste des macros disponibles pour ce classeur. Cours MS Excel Filières SMP-S2 ; SMC-S2 ; SV-S4 & STU-S4 6/8
Exemple 1 : Mode absolu (suite) Cliquer sur la commande Exécuter, on obtient : NB. : Dans le mode absolu, la macro enregistre les déplacements en utilisant les références absolues des cellules. Exemple 2 : Mode relatif Nous venons de créer une macro en mode absolu, essayons maintenant le mode relatif. Effacez le contenu de la feuille et positionnez le curseur en A1 comme précédemment. Créez une nouvelle macro nommée "Test_2". Lorsque la fenêtre "arrêter l'enregistrement" apparaît, cliquez sur le bouton relatif. Le contour du bouton devra être coloré. Tapons de nouveau 34 en A1, 45 en A2 et la somme de ces nombres en A3. Fermer l'enregistrement, effacez le contenu et positionnez le curseur en B2 par exemple. Exécuter la macro relative. On obtient : Vous pouvez positionner votre curseur n'importe où dans votre feuille, la suite de chiffre est toujours tapée à l'endroit volu. NB. : en mode absolu, l'exécution suit les mouvements du pointeur en absolu, suivant la référence exacte de la cellule en mode relatif la macro enregistre les déplacements suivant la différence du nombre de lignes et de colonnes. Cours MS Excel Filières SMP-S2 ; SMC-S2 ; SV-S4 & STU-S4 7/8
En cours d enregistrement, vous pouvez passer d'un mode à l'autre. En cas de problème ou erreur Excel affiche la fenêtre suivante : III. VISUAL BASIC POUR APPLICATIONS III.1. Créer une macro On peut aussi céer une macros de toutes pièces à l'aide de Visual Basic pour Applications. Dans le menu Outils, pointez sur Macro, puis cliquez sur Macros. Dans la liste "Macros dans", cliquez sur le modèle ou le document dans lequel vous désirez stocker la macro. Dans la zone Nom de la macro, tapez le nom de la macro. Cliquez sur Créer pour ouvrir Visual Basic Editor. NB. : Si vous affectez à une nouvelle macro le même nom qu'une commande prédéfinie de Excel, les actions de la nouvelle macro remplaceront les actions de la commande prédéfinie. III.2. Modifier une macro Dans le menu Outils, pointez sur Macro, puis cliquez sur Macros. Dans la zone Nom de la macro, cliquez sur le nom de la macro à modifier (Exemple : Test_1) puis cliquez sur Modifier. L éditeur de Visual basic affichera le code de la macro que vous pouvez modifier pour apportez des corrections, supprimez les étapes superflues, renommez ou copiez les macros individuelles ou bien ajoutez des instructions que vous ne pouvez pas enregistrer dans Microsoft Excel. Cours MS Excel Filières SMP-S2 ; SMC-S2 ; SV-S4 & STU-S4 8/8