Utiliser des macros dans Excel sur Mac pour gagner du temps et en faire plus

Découvrez comment améliorer la productivité de votre feuille de calcul avec des macros dans Excel sur Mac.

Découvrez comment améliorer la productivité de votre feuille de calcul avec des macros dans Excel sur Mac.
Publicité

Excel sur Mac n'a pas toujours été la même puissance que sur Windows. Les macros ne fonctionneraient vraiment que si elles étaient créées exclusivement pour le Mac.

Depuis 2013, Microsoft a ramené des macros. Il existe deux types de macros: celles que vous pouvez créer en enregistrant rapidement vos actions et celles qui utilisent VBA pour concevoir des automatisations plus avancées. Avec Office 2016, Excel utilise la même base de code sur toutes les plateformes. Cette modification permettra aux macros de fonctionner plus facilement sur toutes les plates-formes.

Jetons un coup d'œil à la façon dont cela fonctionne actuellement sur macOS.

Activation des macros dans Excel sur Mac

Travailler avec des macros dans Excel sur votre Mac peut ne pas être activé par défaut. Ce paramètre est parce que les macros peuvent être un vecteur de malware possible Comment se protéger de Microsoft Word Malware Saviez-vous que votre ordinateur peut être infecté par des documents Microsoft Office malveillants, ou que vous pourriez être dupé dans l'activation les paramètres dont ils ont besoin pour infecter votre ordinateur? Lire la suite . Le plus simple est de voir si l'onglet Développeur est disponible sur le ruban dans Excel. Si vous ne le voyez pas, c'est simple à activer.

macros en Excel sur mac pour gagner du temps

Cliquez sur Excel dans la barre de menu, puis sélectionnez Préférences dans la liste déroulante. Dans le menu, cliquez sur Ruban et barre d'outils . Dans la liste de droite, le développeur doit être en bas, cliquez sur la case à cocher. Enfin, cliquez sur Enregistrer et vous devriez voir l'onglet Développeur apparaître à la fin du ruban.

Après avoir créé chaque classeur avec des macros, enregistrez-le dans un nouveau format .xlsm pour utiliser les macros après la réouverture du fichier. Si vous oubliez, Excel vous rappellera chaque fois que vous essayez d'enregistrer. Vous devrez également activer les macros chaque fois que vous ouvrez le fichier.

Enregistrement manuel d'une macro dans Excel sur Mac

Bien que vous pouvez coder les macros 4 erreurs que vous pouvez éviter lors de la programmation des macros Excel avec VBA 4 erreurs que vous pouvez éviter lors de la programmation des macros Excel avec VBA Le code et les macros sont les clés des superpouvoirs Microsoft Excel. Même les non-programmeurs peuvent facilement ajouter des fonctionnalités impressionnantes à leurs feuilles de calcul avec Virtual Basics for Applications (VBA). Évitez simplement ces erreurs de programmation de débutant! Lire la suite, cela pourrait ne pas être pour tout le monde. Si vous n'êtes pas prêt à commencer à travailler avec VBA, Excel vous permet d'enregistrer les étapes de votre macro dans une feuille existante. Cliquez sur l'onglet Développeur pour voir vos options.

macros en Excel sur mac pour gagner du temps

Vous recherchez la troisième option dans le ruban, Enregistrer une macro . Cliquez sur ceci, et une boîte de dialogue apparaît vous permettant de nommer votre macro et de définir un raccourci clavier. Vous pouvez définir votre macro dans le classeur en cours, dans un nouveau classeur ou dans votre classeur de macros personnelles . Le classeur de macros personnelles se trouve dans votre profil utilisateur et vous permet d'utiliser vos macros entre vos fichiers.

Une fois vos actions enregistrées, elles sont disponibles sur ce même onglet. Cliquer sur les macros fera apparaître les macros sauvegardées dans votre classeur. Cliquez sur le nom de votre macro et cliquez sur Exécuter pour exécuter vos actions enregistrées.

Exemple 1: Total des ventes quotidiennes et moyenne horaire

Pour un exemple de macro, vous allez parcourir une feuille de vente quotidienne, avec les ventes ventilées par totaux horaires. Votre macro va ajouter un total des ventes quotidiennes, puis ajouter une moyenne dans la dernière colonne de chaque période horaire. Si vous travaillez dans la vente au détail ou d'autres positions de vente, c'est une feuille utile pour suivre les revenus.

Nous devons mettre en place la première feuille. En utilisant ce premier blanc comme modèle pour copier dans un nouvel onglet chaque jour pourrait vous faire gagner du temps. Dans la première colonne / rangée mettez Heure / Date. En haut, ajoutez du lundi au vendredi.

Ensuite, dans la première colonne, mettez une ventilation des totaux horaires de 8-5. J'ai utilisé l'heure de 24 heures, mais vous pouvez utiliser la notation AM / PM si vous préférez. Votre feuille doit correspondre à la capture d'écran ci-dessus.

macros en Excel sur mac pour gagner du temps

Ajoutez un nouvel onglet et copiez votre modèle dans celui-ci. Puis remplissez vos données de vente pour la journée. (Si vous n'avez pas de données pour remplir cette feuille, vous pouvez entrer = RandBetween (10, 1000) dans toutes les cellules pour créer des données fictives.) Ensuite, cliquez sur Développeur dans le ruban.

Ensuite, cliquez sur Enregistrer la macro . Dans la boîte de dialogue, entrez le nom AverageandSum et laissez-le dans le classeur . Vous pouvez définir une touche de raccourci si vous le souhaitez. Vous pouvez entrer une description si vous avez besoin de plus de détails sur ce que fait la macro. Cliquez sur OK pour commencer à configurer la macro.

Au bas des listes horaires, entrez Totaux quotidiens . Dans la cellule à côté, entrez = SUM (B2: B10) . Ensuite, copiez et collez cela dans le reste des colonnes. Puis dans l'en-tête ajoutez Moyenne après la dernière colonne. Ensuite, dans la cellule suivante, entrez = Moyenne (B2: F2) . Ensuite, collez-le dans les cellules dans le reste de la colonne.

Puis cliquez sur Arrêter l'enregistrement . Votre macro est maintenant en mesure d'utiliser sur chaque nouvelle feuille que vous ajoutez à votre classeur. Une fois que vous avez une autre feuille de données, revenez à Developer et cliquez sur Macros . Votre macro doit être mise en surbrillance, cliquez sur Exécuter pour ajouter vos sommes et vos moyennes.

Cet exemple peut vous sauver quelques étapes, mais pour des actions plus complexes qui peuvent s'additionner. Si vous faites les mêmes opérations sur des données avec un formatage identique, utilisez des macros enregistrées.

Macros VBA dans Excel sur Mac

Les macros enregistrées manuellement dans Excel permettent d'obtenir des données toujours de la même taille et de la même forme. C'est également utile si vous voulez effectuer des actions sur toute la feuille. Vous pouvez utiliser votre macro pour prouver le problème.

macros en Excel sur mac pour gagner du temps

Ajoutez une heure et un jour supplémentaires à la feuille et exécutez la macro. Vous verrez la macro écraser vos nouvelles données. La façon dont nous contourner cela est en utilisant le code pour rendre la macro plus dynamique en utilisant VBA, qui est une version allégée de Visual Basic 4 Grands sites Web pour vous faire un gourou Visual Basic 4 Grands sites Web pour vous faire un gourou Visual Basic Vous voulez apprendre Visual Basic? Voici d'excellentes ressources pour vous aider à démarrer. Lire la suite . La mise en œuvre se concentre sur l'automatisation pour Office.

macros en Excel sur mac pour gagner du temps

Applescript Apprenez à automatiser votre Mac avec AppleScript [Partie 1: Introduction] Apprenez à automatiser votre Mac avec AppleScript [Partie 1: Introduction] En savoir plus, mais l'automatisation de Office est entièrement basée sur Visual Basic. Ainsi, une fois que vous l'utilisez ici, vous pouvez rapidement faire demi-tour et l'utiliser dans d'autres applications Office. (Cela peut aussi être d'une grande aide si vous êtes coincé avec un PC Windows au travail.)

Lorsque vous travaillez avec VBA dans Excel, vous disposez d'une fenêtre distincte. La capture d'écran ci-dessus est notre macro enregistrée telle qu'elle apparaît dans l'éditeur de code. Le mode fenêtré peut être utile pour jouer avec votre code pendant que vous apprenez. Lorsque votre macro se bloque, il existe des outils de débogage pour examiner l'état de vos variables et données de feuille.

Office 2016 est maintenant livré avec l'éditeur Visual Basic complet. Il vous permet d'utiliser l'Explorateur d'objets et les outils de débogage qui étaient auparavant limités à la version Windows. Vous pouvez accéder à l'Explorateur d'objets en allant dans Affichage> Explorateur d'objets ou en appuyant simplement sur Maj + Commande + B. Vous pouvez ensuite parcourir toutes les classes, méthodes et propriétés disponibles. C'était très utile pour construire le code dans la section suivante.

Exemple 2: Total des ventes quotidiennes et moyenne horaire avec code

Avant de commencer à coder votre macro, commençons par ajouter un bouton au modèle. Cette étape permet à un utilisateur débutant d'accéder à votre macro beaucoup plus facilement. Ils peuvent cliquer sur un bouton pour appeler la macro plutôt que de creuser dans les onglets et les menus.

macros en Excel sur mac pour gagner du temps

Revenez à la feuille de modèle vierge que vous avez créée à la dernière étape. Cliquez sur Développeur pour revenir à l'onglet. Une fois que vous êtes sur l'onglet, cliquez sur le bouton . Ensuite, cliquez quelque part dans la feuille sur le modèle pour placer le bouton. Le menu des macros apparaît, nommez votre macro et cliquez sur Nouveau .

La fenêtre Visual Basic s'ouvrira; vous le verrez listé comme Module2 dans le navigateur du projet. Le volet de code aura Sub AverageandSumButton () en haut et quelques lignes vers le bas End Sub . Votre code doit aller entre ces deux, car c'est le début et la fin de votre macro.

Étape 1: Déclaration des variables

Pour commencer, vous devrez déclarer toutes vos variables Les bases de la programmation informatique 101 - Variables et DataTypes Les bases de la programmation informatique 101 - Variables et DataTypes Ayant présenté et parlé un peu de la programmation orientée objet avant et d'où vient son nom, Je pensais qu'il était temps de passer en revue les bases absolues de la programmation d'une manière non spécifique à la langue. Ce ... Lire la suite. Ceux-ci sont dans le bloc de code ci-dessous, mais une note sur la façon dont ils sont construits. Vous devez déclarer toutes les variables en utilisant Dim avant le nom, puis comme avec le type de données.

Sub AverageandSumButton() Dim RowPlaceHolder As Integer Dim ColumnPlaceHolder As Integer Dim StringHolder As String Dim AllCells As Range Dim TargetCells As Range Dim AverageTarget As Range Dim SumTarget As Range 

Maintenant que vous avez toutes vos variables, vous devez utiliser certaines des variables de plage immédiatement. Les plages sont des objets qui contiennent des sections de la feuille de calcul en tant qu'adresses. La variable Toutes les cellules sera définie sur toutes les cellules actives de la feuille, y compris les étiquettes de colonne et de ligne. Vous obtenez cela en appelant l'objet ActiveSheet, puis sa propriété UsedRange .

Le problème est que vous ne voulez pas que les étiquettes soient incluses dans les données de moyenne et de somme. Au lieu de cela, vous utiliserez un sous-ensemble de la plage AllCells. Ce sera la gamme TargetCells. Vous déclarez manuellement sa plage. Son adresse de départ va être la cellule à la deuxième rangée dans la deuxième colonne de la gamme.

Vous appelez cela en appelant votre plage AllCells, en utilisant sa classe Cells pour obtenir cette cellule spécifique en utilisant (2, 2) . Pour obtenir la dernière cellule de la plage, vous appelez toujours AllCells . Cette fois, en utilisant la méthode SpecialCells pour obtenir la propriété xlCellTypeLastCell . Vous pouvez voir ces deux éléments dans le bloc de code ci-dessous.

 Set AllCells = ActiveSheet.UsedRange Set TargetCells = Range(AllCells.Cells(2, 2), AllCells.SpecialCells(xlCellTypeLastCell)) 

Étape 2: Pour chaque boucle

Les deux prochaines sections de code sont pour chaque Les bases absolues de la programmation pour les débutants (Partie 2) Les bases de la programmation pour les débutants (Partie 2) Dans la partie 2 de notre guide absolu de débutants à la programmation, je vais couvrir les bases de fonctions, valeurs de retour, boucles et conditions. Assurez-vous que vous avez lu la partie 1 avant d'aborder cela, où j'ai expliqué ... Lire la suite boucles. Ces boucles traversent un objet pour agir sur chaque sous-ensemble de cet objet. Dans ce cas, vous en faites deux, un pour chaque ligne et un pour chaque colonne. Comme ils sont presque exactement les mêmes, un seul d'entre eux est ici; mais les deux sont dans le bloc de code. Les détails sont pratiquement identiques.

Avant de démarrer la boucle pour chaque ligne, vous devez définir la colonne cible où la boucle écrit la moyenne de chaque ligne. Vous utilisez la variable ColumnPlaceHolder pour définir cette cible. Vous le définissez égal à la variable Count de la classe Cells de AllCells . Ajoutez-en un pour le déplacer vers la droite de vos données en ajoutant +1 .

Ensuite, vous allez commencer la boucle en utilisant For Each . Ensuite, vous voulez créer une variable pour le sous-ensemble, dans ce cas, subRow . Après l' entrée, nous définissons l'objet principal que nous analysons TargetCells . Ajoutez .Rows à la fin pour limiter la boucle à chaque ligne, au lieu de chaque cellule de la plage.

Dans la boucle, vous utilisez la méthode ActiveSheet.Cells pour définir une cible spécifique sur la feuille. Les coordonnées sont définies en utilisant subRow.Row pour obtenir la ligne dans laquelle la boucle est actuellement. Ensuite, vous utilisez ColumnPlaceHolder pour l'autre coordonnée.

Vous l'utilisez pour les trois étapes. La première fois vous ajoutez .value après les parenthèses et définissez égal à WorksheetFunction.Average (subRow) . Cela écrit la formule pour la moyenne de la ligne dans votre cellule cible. La ligne suivante vous ajoutez .Style et définissez cela égal à "Devise" . Cette étape correspond au reste de votre feuille. Sur la dernière ligne, vous ajoutez .Font.Bold et définissez-le égal à True . (Notez qu'il n'y a pas de guillemets autour de celui-ci, car c'est la valeur booléenne.) Cette ligne bonde la police pour faire ressortir les informations de résumé du reste de la feuille.

Les deux étapes sont dans l'exemple de code ci-dessous. La deuxième boucle échange les lignes pour les colonnes et modifie la formule en Sum . L'utilisation de cette méthode lie vos calculs au format de la feuille actuelle. Sinon, il est lié à la taille au moment où vous enregistrez la macro. Ainsi, lorsque vous travaillez plus de jours ou d'heures, la fonction se développe avec vos données.

 ColumnPlaceHolder = AllCells.Columns.Count + 1 For Each subRow In TargetCells.Rows ActiveSheet.Cells(subRow.Row, ColumnPlaceHolder).Value = WorksheetFunction.Average(subRow) ActiveSheet.Cells(subRow.Row, ColumnPlaceHolder).Style = "Currency" ActiveSheet.Cells(subRow.Row, ColumnPlaceHolder).Font.Bold = True Next subRow RowPlaceHolder = AllCells.Rows.Count + 1 For Each subColumn In TargetCells.Columns ActiveSheet.Cells(RowPlaceHolder, subColumn.Column).Value = WorksheetFunction.Sum(subColumn) ActiveSheet.Cells(RowPlaceHolder, subColumn.Column).Style = "Currency" ActiveSheet.Cells(RowPlaceHolder, subColumn.Column).Font.Bold = "True" Next subColumn 

Étape 3: Étiquetez vos résumés

Ensuite, étiquetez la nouvelle ligne et la nouvelle colonne, définissez à nouveau RowPlaceHolder et ColumnPlaceHolder . Tout d'abord, utilisez AllCells.Row pour obtenir la première ligne de la plage, puis AllCells.Column + 1 pour obtenir la dernière colonne. Ensuite, vous utiliserez la même méthode que la boucle pour définir la valeur sur "Ventes moyennes" . Vous utiliserez également la même propriété .Font.Bold pour mettre en gras votre nouvelle étiquette.

macros en Excel sur mac pour gagner du temps

Puis inversez-le, en définissant vos espaces réservés à la première colonne et à la dernière ligne pour ajouter "Ventes totales" . Vous voulez en gras aussi.

Les deux étapes sont dans le bloc de code ci-dessous. C'est la fin de la macro notée par End Sub . Vous devriez maintenant avoir la macro entière 5 Ressources pour les macros Excel pour automatiser vos feuilles de calcul 5 Ressources pour les macros Excel pour automatiser vos feuilles de calcul Recherche de macros Excel? Voici cinq sites qui ont ce que vous cherchez. Lire la suite, et être capable de cliquer sur le bouton pour l'exécuter. Vous pouvez coller tous ces blocs de code dans votre ordre dans votre feuille excel si vous voulez tricher, mais où est le plaisir dans tout ça?

 ColumnPlaceHolder = AllCells.Columns.Count + 1 RowPlaceHolder = AllCells.Row ActiveSheet.Cells(RowPlaceHolder, ColumnPlaceHolder).Value = "Average Sales" ActiveSheet.Cells(RowPlaceHolder, ColumnPlaceHolder).Font.Bold = True ColumnPlaceHolder = AllCells.Column RowPlaceHolder = AllCells.Rows.Count + 1 ActiveSheet.Cells(RowPlaceHolder, ColumnPlaceHolder).Value = "Total Sales" ActiveSheet.Cells(RowPlaceHolder, ColumnPlaceHolder).Font.Bold = True End Sub 

Quelle est la prochaine étape pour les macros dans Excel sur Mac?

Les macros enregistrées sont idéales pour une répétition prévisible. Même si c'est quelque chose d'aussi simple que de redimensionner toutes les cellules et tous les en-têtes, cela peut vous faire gagner du temps.

Visual Basic ouvre la porte aux utilisateurs de Mac Excel pour approfondir Office Automation. Visual Basic était traditionnellement uniquement disponible sur Windows. Cela permet à vos macros de s'adapter dynamiquement aux données, ce qui les rend plus polyvalentes. Si vous avez la patience, cela peut être la porte vers une programmation plus avancée.

In this article