Macro EXCEL : Conditionner une commande

Résolu/Fermé
alainjjb Messages postés 785 Date d'inscription jeudi 17 mai 2007 Statut Membre Dernière intervention 13 janvier 2025 - 18 juin 2008 à 14:30
alainjjb Messages postés 785 Date d'inscription jeudi 17 mai 2007 Statut Membre Dernière intervention 13 janvier 2025 - 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 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 5 110
18 juin 2008 à 14:35
Salut,

Tout simplement

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

A+
0
alainjjb Messages postés 785 Date d'inscription jeudi 17 mai 2007 Statut Membre Dernière intervention 13 janvier 2025 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 21292 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 24 janvier 2025 11 382
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 785 Date d'inscription jeudi 17 mai 2007 Statut Membre Dernière intervention 13 janvier 2025 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