Utilisez Macros dans Excel sur Mac pour gagner du temps et en faire plus.

  • Lesley Fowler
  • 0
  • 2598
  • 682
Publicité

Excel sur Mac n’a pas toujours été aussi puissant que sous Windows. Les macros ne fonctionneraient vraiment que si elles étaient créées exclusivement pour 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 la même base de code sur toutes les plateformes. Cette modification facilitera le travail des macros sur plusieurs plates-formes..

Voyons donc comment cela fonctionne actuellement sur macOS..

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 meilleure façon de le savoir est de savoir si vous avez le Développeur onglet disponible sur le ruban dans Excel. Si vous ne le voyez pas, il est simple d'activer.

Cliquer sur Exceller dans la barre de menus, 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 devrait être en bas, cliquez sur la case à cocher. Enfin, cliquez sur sauvegarder 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 utiliser les macros après avoir rouvert le fichier. Si vous oubliez, Excel vous le rappellera chaque fois que vous essayez de sauvegarder. Vous devrez également activer les macros à chaque fois que vous ouvrez le fichier..

Enregistrer manuellement une macro dans Excel sur Mac

Bien que vous puissiez coder des macros, cela peut ne pas convenir à tout le monde. Si vous n'êtes pas prêt à commencer à utiliser VBA, Excel vous permet d'enregistrer les étapes pour votre macro dans une feuille existante. Cliquez sur l'onglet Développeur pour voir vos options..

Vous recherchez la troisième option du 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 définir votre macro à la Cahier actuel, une Nouveau classeur, ou dans votre Classeur de macros personnelles. Le classeur de macros personnelles se trouve dans votre profil d’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. Cliquez sur les macros pour afficher 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 vente quotidienne, avec les ventes ventilées par totaux horaires. Votre macro va ajouter un total des ventes quotidiennes, puis une moyenne dans la dernière colonne de chaque période horaire. Si vous travaillez dans la vente au détail ou dans d’autres postes de vente, c’est une feuille utile pour suivre vos revenus..

Nous devons mettre en place la première feuille. En utilisant ce premier espace comme modèle à copier chaque jour dans un nouvel onglet, vous gagnerez du temps. Dans la première colonne / rangée, inscrivez Heure / Date. En haut, ajouter du lundi au vendredi.

Ensuite, dans la première colonne, indiquez les totaux horaires de 8 à 5. J'ai utilisé l'heure 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. Ensuite, remplissez vos données de vente pour la journée. (Si vous ne disposez pas de données pour renseigner cette feuille, vous pouvez entrer = RandBetween (10,1000) dans toutes les cellules pour créer des données factices.) Cliquez ensuite sur Développeur dans le ruban.

Ensuite, cliquez sur Enregistrer une macro. Dans la boîte de dialogue, entrez le nom comme AverageandSum et laissez-le stocké dans Ce cahier. 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 de la liste horaire entrez Totaux quotidiens. Dans la cellule à côté, entrez = Somme (B2: B10). Ensuite, copiez et collez-le dans le reste des colonnes. Puis dans l'en-tête, ajoutez Moyenne après la dernière colonne. Puis 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 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, retournez à Développeur et cliquez Les macros. Votre macro doit être en surbrillance, cliquez sur Exécuter pour ajouter vos sommes et vos moyennes.

Cet exemple peut vous éviter quelques étapes, mais pour des actions plus complexes qui peuvent s’additionner. Si vous effectuez 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 aident avec des données toujours de la même taille et de la même forme. C'est également utile si vous souhaitez effectuer des actions sur la totalité de la feuille. Vous pouvez utiliser votre macro pour prouver le problème.

Ajoutez une heure et un jour supplémentaires à la feuille et exécutez la macro. Vous verrez que la macro remplace vos nouvelles données. Pour résoudre ce problème, nous utilisons du code pour rendre la macro plus dynamique à l’aide de VBA, qui est une version allégée de Visual Basic. La mise en œuvre est axée sur l’automatisation pour Office..

Il n'est pas aussi facile à prendre en main qu'Applescript Qu'est-ce que AppleScript? Écrire votre premier script d'automatisation Mac Qu'est-ce que AppleScript? Écriture de votre premier script d'automatisation Mac AppleScript peut vous aider à automatiser des tâches répétitives sur votre Mac. Voici un aperçu et comment écrire votre premier script AppleScript. , mais l’automatisation d’Office repose entièrement sur Visual Basic. Donc, une fois que vous travaillez avec cela ici, vous pouvez rapidement faire demi-tour et l'utiliser dans d'autres applications Office. (Cela peut aussi être très utile si vous êtes coincé avec un PC Windows au travail.)

Lorsque vous utilisez 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 votre apprentissage. Lorsque votre macro est bloquée, il existe des outils de débogage pour examiner l'état de vos variables et de vos données de feuille..

Office 2016 est maintenant livré avec l'éditeur complet Visual Basic. 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 à 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. Cela a été 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 facilite beaucoup l'accès d'un utilisateur novice à 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 verrez qu'il est répertorié comme Module2 dans le navigateur du projet. Le volet de code aura Sub AverageandSumButton () en haut et quelques lignes plus 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 de variables

Pour commencer, vous devrez déclarer toutes vos variables. Celles-ci se trouvent dans le bloc de code ci-dessous, mais une note sur leur construction. Vous devez déclarer toutes les variables en utilisant Faible avant le nom, puis comme avec le type de données.

Sub AverageandSumButton () Dim RowPlaceHolder en tant qu'entier Dim ColumnPlaceHolder en tant qu'entier Dim StringHolder en tant que chaîne Dim AllCells en tant que Range DimCellCelles en tant que Range Dim MoyenneTarget en tant que Dim DimTarget en tant que 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 sous forme d'adresses. La variable Toutes les cellules sera défini sur toutes les cellules actives de la feuille, y compris les étiquettes de colonne et de ligne. Vous obtenez cela en appelant le Feuille active objet et puis il est UsedRange propriété.

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 gamme AllCells. Ce sera la gamme TargetCells. Vous déclarez manuellement sa plage. Son adresse de départ sera la cellule de la deuxième ligne de la deuxième colonne de la plage..

Vous appelez cela en appelant votre AllCells gamme, en utilisant ses Cellules classe pour obtenir cette cellule spécifique en utilisant (2,2). Pour obtenir la dernière cellule de la plage, vous devez toujours appeler AllCells. 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.

 Définir AllCells = ActiveSheet.UsedRange Définir TargetCells = Range (AllCells.Cells (2, 2), AllCells.SpecialCells (xlCellTypeLastCell)) 

Étape 2: Pour chaque boucle

Les deux sections de code suivantes sont pour chacun Les bases absolues de la programmation pour les débutants (partie 2) Les bases absolues de la programmation pour les débutants (partie 2) Dans la deuxième partie de notre guide de la programmation pour débutants absolus, je traiterai des bases du fonctions, valeurs de retour, boucles et conditions. Assurez-vous d'avoir lu la partie 1 avant d'aborder cette question, où j'ai expliqué les… boucles. Ces boucles traversent un objet pour agir sur chaque sous-ensemble de cet objet. Dans ce cas, vous en exécutez deux, une pour chaque ligne et une 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 commencer 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 ColumnPlaceHolder variable pour définir cette cible. Vous le définissez égal à la Compter variable de la Cellules une sorte de AllCells. Ajoutez-en un pour le déplacer à droite de vos données en ajoutant +1.

Ensuite, vous allez commencer la boucle en utilisant Pour chaque. Ensuite, vous voulez créer une variable pour le sous-ensemble, dans ce cas, subRow. Après le Dans, nous définissons l'objet principal que nous analysons TargetCells. Ajouter .Rangées à 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 se trouve la boucle. Ensuite, vous utilisez ColumnPlaceHolder pour l'autre coordonnée.

Vous l'utilisez pour les trois étapes. La première vous ajoutez .valeur après les parenthèses et mis égal à WorksheetFunction.Average (subRow). Ceci écrit la formule pour la moyenne de la ligne dans votre cellule cible. La ligne suivante que vous ajoutez .Style et mettre cela égal à “Devise”. 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 en gras la police pour que les informations récapitulatives ressortent du reste de la feuille..

Les deux étapes sont dans l'exemple de code ci-dessous. La deuxième boucle permute les lignes pour les colonnes et remplace la formule par Somme. Cette méthode lie vos calculs au format de la feuille en cours. Sinon, il est lié à la taille au moment de l’enregistrement de 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 pour chaque subRow dans TargetCells.Rows ActiveSheet.Cells (subRow.Row, ColumnPlaceHolder) .Value = WorksheetFunction.Average (subRow) ActiveSheet.Cells (subRow.Row, ColumnPlaceHolder). "ActiveSheet.Cells (subRow.Row, ColumnPlaceHolder) .Font.Bold = True subRow suivant RowPlaceHolder = AllCells.Rows.Count + 1 pour chaque sous-colonne dans TargetCells.Columns ActiveSheet.Cells (RowPlaceHolder, subColumn.Column) .sol. Sum (subColumn) ActiveSheet.Cells (RowPlaceHolder, subColumn.Column) .Style = "Devise" ActiveSheet.Cells (RowPlaceHolder, subColumn.Column) .Font.Bold = "True" Prochaine sous-colonne 

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

Ensuite, étiquetez la nouvelle ligne et colonne, set RowPlaceHolder et ColumnPlaceHolder encore. Première utilisation AllCells.Row pour obtenir la première ligne de la plage, puis Toutes les cellules. Colonne + 1 pour obtenir la dernière colonne. Ensuite, vous utiliserez la même méthode que la boucle pour définir la valeur “Ventes moyennes”. Vous utiliserez également le même .Caractères gras propriété pour mettre en gras votre nouvelle étiquette.

Puis inversez-la 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 l'audace.

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 et pouvoir cliquer sur le bouton pour l'exécuter. Vous pouvez coller tous ces blocs de code dans votre feuille Excel si vous voulez tricher, mais où est le plaisir?

 ColumnPlaceHolder = AllCells.Columns.Count + 1 RowPlaceHolder = AllCells.Row ActiveSheet.Cells (RowPlaceHolder, ColumnPlaceHolder) .Value = "Moyenne des ventes" ActiveSheet.Cells (RowPlaceHolder, ColumnPlaceHolder) .Fold.Bold = AllCells.Rows.Count + 1 ActiveSheet.Cells (RowPlaceHolder, ColumnPlaceHolder) .Value = "Ventes totales" ActiveSheet.Cells (RowPlaceHolder, ColumnPlaceHolder) .Font.Bold = True End Sub 

Prochaines étapes pour les macros dans Excel sur Mac?

Les macros enregistrées sont très utiles pour une répétition prévisible. Même si c'est aussi simple que de redimensionner toutes les cellules et les en-têtes, ils peuvent vous faire gagner du temps..

Visual Basic ouvre la porte aux utilisateurs Mac Excel pour approfondir l'automatisation Office. Visual Basic n'était traditionnellement disponible que sous Windows. Il 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 à une programmation plus avancée.

Vous voulez plus de trucs pour gagner du temps avec les feuilles de calcul? Apprenez à mettre en évidence automatiquement des données spécifiques avec la mise en forme conditionnelle dans Excel Formater automatiquement les données dans des feuilles de calcul Excel avec mise en forme conditionnelle Mettre automatiquement en forme des données dans des feuilles de calcul Excel avec mise en forme conditionnelle La fonction de mise en forme conditionnelle d'Excel vous permet de formater des cellules individuelles dans une feuille de calcul Excel en fonction de leur valeur. Nous vous montrons comment l'utiliser pour diverses tâches quotidiennes. et mise en surbrillance conditionnelle dans Numbers sur Mac Comment utiliser la mise en forme conditionnelle dans Numbers sur Mac Comment utiliser la mise en forme conditionnelle dans Numbers sur Mac La mise en forme conditionnelle met en valeur vos feuilles de calcul. Voici comment utiliser la mise en forme conditionnelle dans Numbers sur Mac. .




Personne n'a encore commenté ce post.

De la technologie moderne, simple et abordable.
Votre guide dans le monde de la technologie moderne. Apprenez à utiliser les technologies et les gadgets qui nous entourent chaque jour et à découvrir des choses intéressantes sur Internet.