Automatiser Excel
Combien d’heures ai-je passé sous Excel à faire des tâches répétitives, comme supprimer une colonne sur deux 35 fois de suite pour transformer un calendrier par demi-journées en un calendrier par journées ? Trop.
Aujourd’hui nous voyons donc comment automatiser cela, sur l’exemple de la suppression d’une colonne sur deux 35 fois de suite.
Activer les macros
L’exécution de code sous Excel passe nécessairement par la création d’une macro. Pour activer cette fonctionnalité avec Excel 2010, allez dans le menu Fichier > Options, puis Personnaliser le Ruban et activez l’onglet Développeur dans la colonne de droite. Faites OK, un nouvel onglet Développeur doit maintenant apparaître dans le ruban en haut.
Dans cet onglet, cliquez sur Sécurité des macros > Paramètres des macros puis Activer toutes les macros (non recommandé …) et OK.
Dans l’onglet Développeur cliquez ensuite sur le bouton Macros, une boîte de dialogue s’ouvre. Saisissez le nom de votre macro (par exemple, efface_1_colonne_sur_2) puis cliquez sur Créer. La fenêtre Microsoft Visual Basic pour Applications apparaît pour saisir le code.
Saisir le code
Saisissez le code suivant :
Sub efface_1_colonne_sur_2()
Range("C1").Select
For i = 1 To 35
ActiveCell.Offset(0, i).EntireColumn.Delete
Next
End Sub
Quelques explications :
- La 1ère ligne (
Range("C1").Select
) positionne le curseur en C1 ; - Puis on rentre dans une boucle For … Next qui commence avec
i
à 1 ; ActiveCell.Offset(0, i)
indique la cellule située 0 lignes plus bas eti
colonnes plus à droite que C1, c’est-à-dire D1, et.EntireColumn.Delete
efface toute la colonne (D) ;- Puis on recommence la boucle avec
i
qui vaut 2, on efface la colonne E, et ainsi de suite 35 fois.
Laisser faire
Pour exécuter cette macro, appuyez sur le bouton Exécuter dans la barre de menu (la petite flèche verte), ou appuyez simplement sur F5. Si le fichier est ouvert en lecture seule Excel vous demandera alors d’en enregistrer une copie.
L’opération s’exécute automatiquement. Vous pouvez ensuite fermer la fenêtre Visual Basic. Bravo, vous venez de gagner 10 minutes !