Macro EXCEL : Conditionner une commande

Résolu/Fermé
alainjjb Messages postés 771 Date d'inscription jeudi 17 mai 2007 Statut Membre Dernière intervention 5 février 2024 - 18 juin 2008 à 14:30
alainjjb Messages postés 771 Date d'inscription jeudi 17 mai 2007 Statut Membre Dernière intervention 5 février 2024 - 18 juin 2008 à 15:44
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 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
18 juin 2008 à 14:35
Salut,

Tout simplement

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

A+
0
alainjjb Messages postés 771 Date d'inscription jeudi 17 mai 2007 Statut Membre Dernière intervention 5 février 2024 110
18 juin 2008 à 14:42
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 20077 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 25 avril 2024 11 272
18 juin 2008 à 15:25
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 771 Date d'inscription jeudi 17 mai 2007 Statut Membre Dernière intervention 5 février 2024 110
18 juin 2008 à 15:44
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