ClearContents cellules non bloquées (=sans formule) ligne ayant l'icone

Bonjour à tous ! :)

J'aimerai savoir si il était possible de créer :

- un code affecté à une icône, posé sur une ligne

- et que ce code effectue une suppression de certaines cellules de ma ligne en question, en omettant celle contenant des formules

- afin, je souhaite appliquer ce même traitement sur toutes mes lignes sans devoir créer le même code pour chaque ligne précise (j'aimerai bien qu'il soit "factorisable")

Par exemple, je souhaiterai qu'en cliquant sur (1) alors toutes les cellules bleu clair avoisinantes de la ligne, se nettoie:

image

D'avance, merci car j'ai bien essayé des "activecell.resize.clearcontents" mais cela ne fonctionne pas comme je voudrais :/

Si quelqu'un à une idée, je le remercie !!

bonne journée à tous !

Bonjour

Fichier à tester

Si cela convient passer le sujet en résolu

Cordialement

Bonjour @Joco7915,

Merci pour ta réponse, je "comprends" presque le code (même si j'aurais été incapable de coder celà..).

Je comprends aussi que cela se joue dans cette zone :

image

Mais comment fonctionne-il au juste ?

J'ai une erreur :

image image

Encore merci !

Bonjour à tous,

Alternativement, je vous propose les Sub ci-après.

Il suffit de lier votre forme (la petite poubelle) à la macro ClickClearRow, puis de la c/c sur toutes les lignes.

Ensuite, pour votre demande concernant le nettoyage de toutes les lignes d'un coup, liez un nouveau bouton/forme à la macro ClickClearTable.

Le travail de nettoyage est effectué par la macro ClearRows, qui s'adapte comme vous le vouliez ("factorizable").

Bonne journée

Code à ajouter dans module1 :

' a mettre en haut du module ================
Private Const SHEET_PWD As String = "mdp"
' ===========================================

' Fonction de nettoyage des lignes startR a endR sur la feuille sht, entre les colonnes B et M
Private Sub ClearRows(startR As Long, endR As Long, sht As Worksheet)
  If sht.ProtectContents Then
    sht.Unprotect SHEET_PWD
  End If
  sht.Range("B" & startR & ":M" & endR).SpecialCells(xlCellTypeConstants).ClearContents

  sht.Protect SHEET_PWD
End Sub

' fonction de nettoyage d'une ligne
Public Sub ClickClearRow()
  ' ligne cliquee
  Dim clickedRow As Long
  clickedRow = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Row

  'nettoyage de la ligue
  ClearRows clickedRow, clickedRow, ActiveSheet
End Sub

' fonction de nettoyage de tout le tableau, lignes 8 a 24 d'apres l'exemple
Public Sub ClickClearTable()
  ClearRows 8, 24, ActiveSheet
End Sub

Bonjour @Joco7915 !

Je pense que le code doit être incroyable mais je vais utiliser celui de @saboh12617 !

Merciiii à toi @saboh12617, c'est exactement ce que je cherchais à réaliser

Merci à tout les deux et bonne journée !

Merci pour votre retour, n'oubliez pas de clôturer le fil.

Bonne journée.

Rechercher des sujets similaires à "clearcontents bloquees formule ligne ayant icone"