XL 2019 effacement valeurs cellules

didier Costille

XLDnaute Junior
Bonsoir le forum ,je suis actuellement sur un fichier de pointage de congés et je souhaiterais pouvoir effacer certaines cellules ,mais je voudrais éviter d'effacer par erreur d'autres cellules qui contiennent des formules .
Voici mon code d'effacement :
Private Sub CommandButton5_Click()
'bouton annulation
Selection.Interior.Color = [B44].Interior.Color
Selection.ClearContents

End Sub

Merci de votre aide
 

didier Costille

XLDnaute Junior
Bonsoir

Utilises SpecialCells
Selection.SpecialCells(xlCellTypeConstants, 23).ClearContents
Bonsoir merci de ta réponse mais cela ne fonctionne pas ,j'ai fait l'essai sur une cellule contenant une formule du genre "=SI(DECALER($A15;;ENT((COLONNE()-2)/2)*2+1)="";"";DECALER(Bdd!$A$1;MOD(DECALER($A15;;ENT((COLONNE()-2)/2)*2+1)-Bdd!$K$1;196);$Y$54-1)) " ou bien simplement "=Z14+1" et cela m'a effacer quasiment tout le tableau ,je souhaiterait supprimer des valeurs dans les cellules que je sélectionne manuellement mais pouvoir éviter de faire une erreur de sélection et de supprimer des formules .
 

didier Costille

XLDnaute Junior
Bonsoir voici le fichier nu ,je souhaiterais lorsque je selectionne des cellules dans les colonnes B.C.F.G.J.K.N.O.R.S.V.W.Z.AA.AD.AE.AH.AI.AL.AM.AP.AQ.AT.AU que je ne puisse pas faire l'effacement des valeurs et formules avec le bouton annulation,cela aura pour but d'éviter toute fausse manipulation et de devoir refaire le fichier ,merci de votre aide
 

Fichiers joints

Staple1600

XLDnaute Barbatruc
Re

Pour te convaincre que ma proposition dans le message#2 fonctionne
Fais ce test, sur une feuille vierge
VB:
Sub Supprimer_Mais_Garder_Formules()
Call PourTest
[A1].CurrentRegion.Select
MsgBox "Effacer valeurs seules et garder les formules ?", vbQuestion + vbOKOnly, "Test"
Selection.SpecialCells(xlCellTypeConstants, 23).ClearContents '-< proposition initiale
End Sub
Private Sub PourTest()
Range("A1:F3") = "=ADDRESS(ROW(),COLUMN(),4)"
Range("A4:F6") = "=ROW()*COLUMN()"
Range("A7:F9") = "=ROW()/0"
Range("A10:F10") = Application.UserName
Range("A1:F3") = Range("A1:F3").Value
Range("A8:F8") = Range("A8:F8").Value
Range("A1:F3,A8:F8").Interior.Color = vbYellow
End Sub
Les formules sont conservées, les valeurs seules sont effacées.
 

didier Costille

XLDnaute Junior
Bonjour Jm , excuses moi pour ma maladresse ,j'ai testé ce tu m'a proposé ,en effet cela fonctionne mais ce n'est pas tout à fait ce que je souhaite .
J'aimerais pouvoir faire un effacement sur une sélection manuelle de cellules et que si par inadvertance, j'ai sélectionné des cellules avec formules ,que mon bouton "effacement " soit inactif sur ces cellules sélectionnées par erreur ,j'espère que mon explication est claire .
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil, didier Costille

Sauf si nous somnes dans la Quatrième dimensien, ce que j'ai proposé précédemment ne peut effacer les cellules avec formules
Donc si tu modifies le code de ton bouton avec le bout de code proposé depuis le message#2...
VB:
Private Sub CommandButton5_Click()
'bouton annulation
Selection.Interior.Color = [B44].Interior.Color
Selection.SpecialCells(xlCellTypeConstants, 23).ClearContents
End Sub
Koikissepasse sur ton PC ?
 

didier Costille

XLDnaute Junior
Bonsoir lorsque j'essaie cela provoque une erreur 1004 ,pas de cellules correspondantes lorsque je selectionne des cellules vides avec d'autres qui possèdent des formules,pb les utilisateurs ne pourront pas se sortir du blocage visual basic ,pour ma part si ,mais je dois pouvoir éviter d'une part les erreurs et d'autres les blocages ,merci de ta compréhension
 

Staple1600

XLDnaute Barbatruc
Re

Et comme ceci ?
VB:
Private Sub CommandButton5_Click()
'bouton annulation
Selection.Interior.Color = [B44].Interior.Color
On error Resume Next
Selection.SpecialCells(xlCellTypeConstants, 23).ClearContents
End Sub
 

Staple1600

XLDnaute Barbatruc
Re

didier Costille
Donc depuis mon 1er message ( c'est à le message#2 dans la discussion), cela fonctionnait alors ;)
Il fallait juste le On error pour t'éviter les sueurs froides ;)
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas