Autrefois, Excel sur Mac était limité par rapport à la version Windows, notamment pour les macros qui devaient être créées spécifiquement pour macOS. Depuis Excel 2013, Microsoft a pleinement intégré les macros, avec deux approches principales : l'enregistrement rapide d'actions ou le développement avancé via VBA (Visual Basic for Applications). À partir d'Office 2016, la même base de code est utilisée sur toutes les plateformes, garantissant une compatibilité optimale.
Découvrez comment activer et utiliser les macros dans Excel sur macOS de manière efficace et sécurisée.
Par défaut, les macros ne sont pas activées dans Excel sur Mac pour des raisons de sécurité, car elles peuvent être un vecteur de malwares. Vérifiez la présence de l'onglet Développeur sur le ruban. S'il est absent, activez-le facilement :

Cliquez sur Excel > Préférences > Ruban & Barre d'outils. Cochez Développeur dans la liste de droite, puis cliquez sur Enregistrer. L'onglet apparaît désormais.
Enregistrez tout classeur contenant des macros au format .xlsm. Excel vous le rappellera si nécessaire, et activez les macros à chaque ouverture du fichier.
Pas besoin de coder pour débuter : enregistrez vos actions directement. Accédez à l'onglet Développeur.

Cliquez sur Enregistrer une macro. Nommez-la, assignez un raccourci clavier optionnel, et choisissez le classeur (actuel, nouveau ou personnel pour une réutilisation). Une fois enregistré, exécutez-la via Macros > Sélection > Exécuter.
Créez une feuille pour suivre les ventes par heure et jour (lundi à vendredi, 8h-17h). Copiez ce modèle quotidiennement.

Remplissez avec des données réelles ou fictives (=RANDOMBETWEEN(10,1000)). Cliquez Enregistrer une macro, nommez-la AverageAndSum, stockez dans Ce classeur.
Ajoutez Totaux quotidiens en bas des colonnes, avec =SOMME(B2:B10) (copiez). Ajoutez Moyenne en en-tête, avec =MOYENNE(B2:F2) (copiez). Arrêtez l'enregistrement. Réutilisez sur de nouvelles feuilles via Macros.
Idéal pour des tâches répétitives sur données structurées.
Les macros enregistrées sont statiques. Pour plus de flexibilité, passez à VBA, adapté dynamiquement aux données variables.

Les macros Excel sur Mac utilisent une version VBA optimisée depuis Office 2016, avec éditeur complet, navigateur d'objets (Affichage > Navigateur d'objets ou Maj+Cmd+B) et outils de débogage.

Ajoutez un bouton : Développeur > Bouton, placez-le, assignez Nouveau.

Dans l'éditeur VBA (Module2) :
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 RangeInitialisez les plages :
Set AllCells = ActiveSheet.UsedRange
Set TargetCells = Range(AllCells.Cells(2, 2), AllCells.SpecialCells(xlCellTypeLastCell))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 subColumnColumnPlaceHolder = AllCells.Columns.Count + 1
RowPlaceHolder = AllCells.Row
ActiveSheet.Cells(RowPlaceHolder, ColumnPlaceHolder).Value = "Ventes moyennes"
ActiveSheet.Cells(RowPlaceHolder, ColumnPlaceHolder).Font.Bold = True
ColumnPlaceHolder = AllCells.Column
RowPlaceHolder = AllCells.Rows.Count + 1
ActiveSheet.Cells(RowPlaceHolder, ColumnPlaceHolder).Value = "Total des ventes"
ActiveSheet.Cells(RowPlaceHolder, ColumnPlaceHolder).Font.Bold = True
End Sub
Cette macro s'adapte automatiquement à vos données.
Les macros enregistrées conviennent aux tâches répétitives simples. VBA offre une puissance inégalée pour l'automatisation avancée. Explorez la mise en forme conditionnelle dans Excel ou Numbers pour plus d'astuces.
[]