VBA pour supprimer les valeurs saisies dans une plage de cellule

H

heriss

Guest
Bonjour,

J'ai une feuille contenant à la fois des valeurs rentrées directement et des formules...

Je cherche a créer un bout de code VBA supprimant au sein d'une plage sélectionnée UNIQUEMENT les valeurs saisies sans affecter les cellules contenant les formules.

j'ai à ma disposition le code VBA pour identifier les cellules contenant les formules =>

Function Isformula(Rng As Range) As Boolean
Isformula = Rng(1).HasFormula
End Function

en revanche, n'étant pas expert en VBA, je ne vois pas bien comment écrire le code pour que la fonction ".ClearContents" ne s'applique qu'aux cellules contenant des valeurs directemen saisies.

Je vous remercie par avance de l'aide que vous pourrez bien m'apporter.
Bonne fin de journée.

Heriss
 
H

Hervé

Guest
Bonjour

un truc dans ce style ?

Public Sub vev()
Dim c As Range
'pour chaque cellule de la sélection
For Each c In Selection
'si la cellule ne contient pas de formule, alors
If c.HasFormula = False Then
'on efface le contenu de la cellule
c.ClearContents
End If
Next c
End Sub


Salut
Hervé
 
M

Moa

Guest
Salut Heriss !

Quand tu veux atteindre certaines cellules, tu peux le faire aussi avec le menu Edition / Atteindre / Cellules / et là, plein de choix.....

Sinon, si tu travailles régulièrement sur des tableaux et que tu as des données à changer, tu devrais aller dans la zone " téléchager " du forum dans la rubrique utilitaire.
Tu y trouveras une macro complémentaire appelée "Moa's Selections II".

C'est une macro qui sert justement à faire des selections spéciales, pour y apporter un changement perso.

@ +

Moa
 

Discussions similaires

Statistiques des forums

Discussions
312 489
Messages
2 088 854
Membres
103 975
dernier inscrit
denry