Macro EXCEL : Conditionner une commande

Résolu
Bonjour,
je viens d'obtenir la solution pour initialiser les données d'un tableau sans modifier les formules par contre cette commande ne marche pas si la zone concernée du tableau est déjà vide (message d'erreur). Comment puis-je conditionner cette commande dans ma macro afin de n'exécuter cette commande d'init que lorsque le tableau contient des données ?
Range("E9:M500,D5").Select
Selection.SpecialCells(xlCellTypeConstants).ClearContents

Merci d'avance

Alain
Configuration: Windows XP
Firefox 2.0.0.14

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. Salut,

    Tout simplement

    Range("E9:M50,D5").Select
    Selection.ClearContents

    A+
    1. Bonjour mike,

      ce que je recherche c'est de conditionner la commande d'init pour qu'elle ne s'exécute que lorsque la sélection contient des données. Sinon la commande fonctionne bien et efface les données sans toucher aux formules ( la commande que tu me transmets efface aussi les formules).

      Merci quand même

      Alain
  2. Modérateur
    Bonjour,

    Voici une macro qui efface toutes les cellules qui ne contiennent pas de formules :

    Sub efface_constantes()

    For Each cellule In Range("E9:M500,D5")
    If cellule.HasFormula = False Then
    cellule.ClearContents
    End If
    Next cellule

    End Sub
    1. Merci beaucoup m@rina,

      sur un autre post (je me suis trompé de forum) onesdf m'a donné à peu près la même solution. Je vous remercie beaucoup à tous de partager vos connaissance.

      Alain