Utilisez Macros dans Excel sur Mac pour gagner du temps et en faire plus.
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 fonctionnement des macros sur plusieurs plates-formes..
Voyons maintenant 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. Comment se protéger contre les logiciels malveillants Microsoft Word Comment se protéger contre les programmes malveillants Microsoft Word Saviez-vous que votre ordinateur peut être infecté par des documents Microsoft Office malveillants ou que vous pourriez être dupé les paramètres dont ils ont besoin pour infecter votre ordinateur? Lire la suite . 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 4 erreurs que vous pouvez éviter lors de la programmation de macros Excel avec VBA 4 Des erreurs que vous pouvez éviter lors de la programmation de macros Excel avec VBA Le code et les macros simples sont la clé 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). Il suffit d'éviter ces erreurs de débutant en programmation! Lire la suite, cela pourrait ne pas être pour 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 pour afficher une boîte de dialogue 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, entrez 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 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-y 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 mise 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 contourner ce problème, nous utilisons du code pour rendre la macro plus dynamique à l'aide de VBA, une version allégée de Visual Basic 4. Sites Web de qualité pour vous transformer en gourou Visual Basic. 4 Sites Web de qualité pour vous transformer en gourou Visual Basic. Vous voulez apprendre Visual Basic? Voici quelques ressources utiles pour vous aider à démarrer. Lire la suite . La mise en œuvre est axée sur l’automatisation pour Office..
Applescript Apprenez à automatiser votre Mac avec AppleScript [Partie 1: Introduction] Apprenez à automatiser votre Mac avec AppleScript [Partie 1: Introduction] Lisez-en plus, mais l’automatisation d’Office repose entièrement sur Visual Basic. Donc, une fois que vous travaillez avec cela ici, vous êtes rapidement capable de faire demi-tour et de 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 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 devez déclarer toutes vos variables. Notions de base de la programmation informatique 101 - Variables et types de données Notions de base de la programmation informatique 101 - Variables et types de données Après avoir introduit 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 aux bases de la programmation sans prendre en compte les spécificités linguistiques. This… 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 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 DimCellCellules 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 appelez toujours 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 principes de base absolus de la programmation pour les débutants (partie 2) Les principes de base absolus de la programmation pour les débutants (partie 2) Dans la partie 2 de notre guide de la programmation pour les débutants absolus, je couvrirai les principes de base de fonctions, valeurs de retour, boucles et conditions. Assurez-vous d'avoir lu la partie 1 avant d'aborder cette question, où j'ai expliqué… Lire la suite des 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, 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 décrites dans l'exemple de code ci-dessous. La seconde boucle permute les lignes pour les colonnes et remplace la formule par Somme. L'utilisation de 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 TargetCells.Columns ActiveSheet.Cells (RowPlaceHolder, subColumn.Column) .Value =. Somme (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, identifiez la nouvelle ligne et la nouvelle colonne, définissez 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 sur “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 devez maintenant disposer de l'intégralité de la macro 5 Ressources pour les macros Excel permettant l'automatisation de vos feuilles de calcul 5 Ressources pour les macros Excel de l'automatisation de vos feuilles de calcul Vous recherchez des macros Excel? Voici cinq sites qui ont ce que vous cherchez. Lire la suite 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 l’amusement dans cette?
ColumnPlaceHolder = AllCells.Columns.Count + 1 RowPlaceHolder = AllCells.Row ActiveSheet.Cells (RowPlaceHolder, ColumnPlaceHolder) .Value = "Moyenne des ventes" ActiveSheet.Cells (RowPlaceHolder, ColumnPlaceHolder) .Fold = 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 idéales 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 de manière dynamique aux données, ce qui les rend plus polyvalentes. Si vous avez la patience, cela peut être la porte à une programmation plus avancée.
En savoir plus sur: Microsoft Excel, Programmation Visual Basic.