Roni veut tout effacer dans une feuille de calcul, à l’exception des cellules qui peuvent contenir des formules. Cette tâche peut être effectuée manuellement ou à l’aide d’une macro.

Si vous souhaitez effectuer la compensation manuellement, vous pouvez suivre ces étapes:

  1. Appuyez sur F5. Excel affiche la boîte de dialogue Atteindre. (Voir la figure 1.)

  2. Cliquez sur le bouton Spécial. Excel affiche la boîte de dialogue Aller à spécial.

(Voir la figure 2.)

  1. Sélectionnez le bouton radio Constantes. Les quatre cases à cocher sous l’option Formules deviennent alors disponibles. (Cela peut être un peu déroutant. Pourquoi Microsoft a fait le bouton radio Constantes contrôler certaines cases à cocher sous un bouton radio différent n’est pas immédiatement clair.)

  2. Assurez-vous que toutes les cases à cocher sous le bouton radio Formules sont sélectionnées. (Ils doivent être sélectionnés par défaut.)

  3. Cliquez sur OK. Excel sélectionne toutes les constantes (cellules qui ne contiennent pas de formules) dans la feuille de calcul.

  4. Appuyez sur la touche Suppr.

Cela fonctionne très bien si vous ne devez effacer le contenu non-formule d’une feuille de calcul que de temps en temps. Si vous devez le faire plus souvent, vous pouvez simplement utiliser l’enregistreur de macros pour enregistrer les étapes ci-dessus. Ou, si vous préférez, vous pouvez créer votre propre macro à partir de zéro, telle que la suivante:

Sub ClearAllButFormulas()

Dim wks As Worksheet

'ignore errors in case there is only formulas     On Error Resume Next     For Each wks In Worksheets         wks.Cells.SpecialCells(xlCellTypeConstants).ClearContents     Next     On Error GoTo 0     Set wks = Nothing End Sub

Cette macro est particulièrement utile si vous devez effacer toutes les cellules sans formule dans un classeur entier. La raison en est qu’il effectue l’effacement sur chaque feuille de calcul de l’ensemble du classeur, sans que vous ayez besoin de l’effacer manuellement.

Vous devez être prudent lorsque vous utilisez cette macro. Assurez-vous que vous voulez vraiment tout effacer, à l’exception des cellules qui contiennent des formules dans la feuille de calcul ou le classeur avant d’exécuter cette macro. Il serait dommage de se débarrasser accidentellement du contenu des cellules que vous aviez vraiment besoin de conserver. Si vous êtes un peu dégoûté d’une telle possibilité, vous voudrez peut-être utiliser la version suivante de la macro:

Sub ClearAllButFormulas2()

Dim wks As Worksheet     Dim sTemp As String     Dim iCheck As Integer

sTemp = "This macro deletes everything in the current "

sTemp = sTemp & "workbook except formulas. Once done, "

sTemp = sTemp & "it cannot be undone." & vbCrLf & vbCrLf     sTemp = sTemp & "Are you sure you want to continue?"



iCheck = MsgBox(sTemp, vbYesNo + vbExclamation, "Warning!")



If iCheck = vbYes Then         'ignore errors in case there is only formulas         On Error Resume Next         For Each wks In Worksheets             wks.Cells.SpecialCells(xlCellTypeConstants).ClearContents         Next         On Error GoTo 0     Else         MsgBox "Operation cancelled."

End If End Sub

Cette version affiche une boîte de message vous demandant si vous êtes sûr de vouloir faire l’effacement. Le résultat est que vous avez moins de chances de gâcher votre classeur par accident.

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (9097) s’applique à Microsoft Excel 2007, 2010, 2013, 2016, 2019 et Excel dans Office 365. Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu d’Excel ici:

lien: / excel-Clearing_Everything_Except_Formulas [Effacer tout sauf les formules].