XL 2019 effacement valeurs cellules

Did25

XLDnaute Occasionnel
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
 

Did25

XLDnaute Occasionnel
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 .
 

Did25

XLDnaute Occasionnel
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
 

Pièces jointes

  • Pointage.xlsm
    56.3 KB · Affichages: 7

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.
 

Did25

XLDnaute Occasionnel
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 ?
 

Did25

XLDnaute Occasionnel
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
 

Discussions similaires

Statistiques des forums

Discussions
311 724
Messages
2 081 936
Membres
101 844
dernier inscrit
pktla