Macro EXCEL : Conditionner une commande

Résolu
alainjjb Messages postés 788 Date d'inscription   Statut Membre Dernière intervention   -  
alainjjb Messages postés 788 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

2 réponses

Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Salut,

Tout simplement

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

A+
0
alainjjb Messages postés 788 Date d'inscription   Statut Membre Dernière intervention   110
 
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
0
m@rina Messages postés 23880 Date d'inscription   Statut Contributeur Dernière intervention   11 464
 
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
0
alainjjb Messages postés 788 Date d'inscription   Statut Membre Dernière intervention   110
 
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
0