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

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

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





À partir de 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 le même base de code sur toutes les plateformes . Ce changement facilitera le fonctionnement des macros sur toutes les plates-formes.





Voyons donc comment cela fonctionne actuellement sur macOS.





pouvez-vous télécharger des épisodes sur hulu

Activation des macros dans Excel sur Mac

L'utilisation de macros dans Excel sur votre Mac peut ne pas être activée par défaut. Ce paramètre est dû au fait que les macros peuvent être un vecteur de malware possible. La façon la plus simple de savoir est de voir si vous avez le Développeur onglet disponible sur le ruban dans Excel. Si vous ne le voyez pas, il est simple à activer.

Cliquer sur Exceller 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, Développeur doit être en bas, cochez la case. Enfin, cliquez sauvegarder et vous devriez voir l'onglet Développeur s'afficher à la fin du ruban.



Après avoir créé chaque classeur avec des macros, enregistrez-le dans un nouveau format .xlsm d'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 puissiez coder des macros , ce n'est peut-être pas 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.





Vous recherchez la troisième option dans le ruban, Enregistrer une macro . Cliquez dessus et une boîte de dialogue apparaît vous permettant de nommer votre macro et de définir un raccourci clavier. Vous pouvez étendre votre macro au Classeur actuel , à Nouveau classeur , ou dans votre Cahier d'exercices sur les 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 que vous avez enregistré vos actions, elles sont disponibles sur ce même onglet. Cliquer sur les macros affichera les macros enregistrées dans votre classeur. Cliquez sur le nom de votre macro et cliquez sur Courir 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 ventes quotidiennes, 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 dans un autre poste de vente, il s'agit d'une feuille utile pour suivre les revenus.

Nous devons mettre en place la première feuille. L'utilisation de ce premier blanc comme modèle à copier dans un nouvel onglet chaque jour pourrait vous faire gagner du temps. Dans la première colonne/ligne, 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 sur 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.

Ajoutez un nouvel onglet et copiez votre modèle dedans. Ensuite, 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 = RandEntre (10.1000) dans toutes les cellules pour créer des données factices.) Ensuite, cliquez sur Développeur dans le Ruban.

Ensuite, cliquez sur Enregistrer une macro . Dans la boîte de dialogue, entrez le nom comme MoyenneetSomme et laissez-le stocké dans Ce 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 =SOMME(B2:B10) . Ensuite, copiez et collez cela dans le reste des colonnes. Puis dans l'en-tête ajouter Moyenne après la dernière colonne. Ensuite, dans la cellule suivante, entrez =Moyenne(B2:F2) . Ensuite, collez-le dans les cellules du reste de la colonne.

Puis clique Arrête d'enregistrer . Votre macro peut maintenant être utilisée sur chaque nouvelle feuille que vous ajoutez à votre classeur. Une fois que vous avez une autre feuille de données, retournez à Développeur et cliquez Macro . Votre macro doit être mise en surbrillance, cliquez sur Exécuter pour ajouter vos sommes et moyennes.

Cet exemple peut vous faire économiser quelques étapes, mais pour des actions plus complexes qui peuvent s'additionner. Si vous effectuez les mêmes opérations sur des données au 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. Il est également utile si vous souhaitez effectuer des actions sur l'ensemble de la feuille. Vous pouvez utiliser votre macro pour prouver le problème.

Ajoutez une autre heure et un autre jour à la feuille et exécutez la macro. Vous verrez que la macro écrase vos nouvelles données. Pour contourner ce problème, nous utilisons du code pour rendre la macro plus dynamique à l'aide de VBA, qui est un version allégée de Visual Basic . L'implémentation se concentre sur l'automatisation pour Office.

Ce n'est pas comme facile à prendre en Applescript , mais l'automatisation d'Office est entièrement construite autour de 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 également ê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 de vos données de feuille.

Office 2016 est désormais livré avec l'éditeur Visual Basic complet. Il vous permet d'utiliser le navigateur d'objets et les outils de débogage qui étaient auparavant limités à la version Windows. Vous pouvez accéder au navigateur d'objets en allant sur Affichage > Navigateur d'objets ou appuyez simplement sur Maj + Commande + B . Vous pouvez ensuite parcourir toutes les classes, méthodes et propriétés disponibles. Il a été très utile dans la construction du 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 novice d'accéder plus facilement à votre macro. Ils peuvent cliquer sur un bouton pour appeler la macro plutôt que de creuser dans les onglets et les menus.

Revenez à la feuille de modèle vierge que vous avez créée à la dernière étape. Cliquer sur Développeur pour revenir à l'onglet. Une fois sur l'onglet, cliquez sur 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 répertorié comme Module2 dans le navigateur de projet. Le volet de code aura Sous-moyenne et bouton Somme() en haut et quelques lignes en bas Fin du sous-marin . 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 . 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 Rien 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éfini sur toutes les cellules actives de la feuille, ce qui inclut les étiquettes de colonne et de ligne. Vous obtenez ceci en appelant le Feuille active objet et puis c'est Plage d'occasion biens.

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ébut sera la cellule de la deuxième ligne de la deuxième colonne de la plage.

Vous appelez cela en appelant votre Toutes les cellules gamme, en utilisant son Cellules classe pour obtenir cette cellule spécifique en utilisant (2.2) . Pour obtenir la dernière cellule de la plage, vous devrez toujours appeler Toutes les cellules . Cette fois en utilisant Cellules spéciales méthode pour obtenir la propriété xlCellTypeLastCell . Vous pouvez voir les deux 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 sections de code suivantes sont des boucles For Each. Ces boucles traversent un objet pour agir sur chaque sous-ensemble de cet objet. Dans ce cas, vous en faites deux, une pour chaque ligne et une pour chaque colonne. Puisqu'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 dans laquelle la boucle écrit la moyenne de chaque ligne. Vous utilisez le ColonnePlaceHolder variable pour définir cette cible. Vous le définissez égal à la Compter variable de la Cellules une sorte de Toutes les cellules . Ajoutez-en un pour le déplacer à droite de vos données en ajoutant +1 .

Ensuite, vous allez démarrer la boucle en utilisant Pour chaque . Ensuite, vous voulez créer une variable pour le sous-ensemble, dans ce cas, sous-ligne . Après le Dans , nous définissons l'objet principal que nous analysons Cellules cibles . Ajouter .Lignes à la fin pour limiter la boucle à chaque ligne, au lieu de chaque cellule de la plage.

À l'intérieur de 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 se trouve actuellement la boucle. Ensuite, vous utilisez ColonnePlaceHolder pour l'autre coordonnée.

Vous l'utilisez pour les trois étapes. Le premier que vous ajoutez .valeur après les parenthèses et mis égal à WorksheetFunction.Average(subRow) . Cela écrit la formule pour la moyenne de la ligne dans votre cellule cible. La ligne suivante que vous ajoutez .Style et définissez cela égal à 'Monnaie' . Cette étape correspond au reste de votre feuille. Sur la dernière ligne, vous ajoutez .Caractères gras et le mettre égal à Vrai . (Notez qu'il n'y a pas de guillemets autour de celui-ci, car il s'agit de la valeur booléenne.) Cette ligne met la police en gras pour faire ressortir les informations récapitulatives du reste de la feuille.

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

comment utiliser les airpods avec android
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 RowPlaceHolder et ColonnePlaceHolder de nouveau. Première utilisation AllCells.Row pour obtenir la première ligne de la plage, puis ToutesCellules.Colonne+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 le même .Caractères gras pour mettre en gras votre nouvelle étiquette.

Ensuite, inversez-le en définissant vos espaces réservés sur la première colonne et la dernière ligne pour ajouter 'Ventes totales' . Vous voulez aussi mettre cela en gras.

Les deux étapes sont dans le bloc de code ci-dessous. C'est la fin de la macro notée par Fin du sous-marin . Vous devriez maintenant avoir la macro entière et pouvoir cliquer sur le bouton pour l'exécuter. Vous pouvez coller tous ces blocs de code dans l'ordre dans votre feuille Excel si vous voulez tricher, mais où est le plaisir là-dedans ?

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 s'il s'agit de quelque chose d'aussi simple que de redimensionner toutes les cellules et de mettre en gras les en-têtes, cela peut vous faire gagner du temps. Seulement éviter les erreurs macro courantes .

Visual Basic ouvre la porte aux utilisateurs de Mac Excel pour approfondir l'automatisation d'Office. Visual Basic n'était traditionnellement disponible que sur Windows. Il permet à vos macros de s'adapter dynamiquement aux données, les rendant plus polyvalentes. Si vous avez la patience, cela peut être la porte d'entrée vers une programmation plus avancée.

Vous voulez plus d'astuces pour gagner du temps sur les feuilles de calcul ? Apprenez à mettre en évidence automatiquement des données spécifiques avec la mise en forme conditionnelle dans Excel et la mise en évidence conditionnelle dans Numbers sur Mac .

Partager Partager Tweeter E-mail 3 façons de vérifier si un e-mail est réel ou faux

Si vous avez reçu un e-mail qui vous semble un peu douteux, il est toujours préférable de vérifier son authenticité. Voici trois façons de savoir si un e-mail est réel.

Lire la suite
Rubriques connexes
  • Mac
  • Productivité
  • La programmation
  • Programmation Visual Basic
  • Microsoft Excel
A propos de l'auteur Michael McConnell(44 articles publiés)

Michael n'utilisait pas de Mac quand ils étaient condamnés, mais il peut coder en Applescript. Il est diplômé en informatique et en anglais ; il écrit sur Mac, iOS et les jeux vidéo depuis un certain temps maintenant ; et il est un singe informatique diurne depuis plus d'une décennie, spécialisé dans les scripts et la virtualisation.

Plus de Michael McConnell

Abonnez-vous à notre newsletter

Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !

Cliquez ici pour vous abonner
Catégorie Mac