bonjour tout le monde,
voici mon code
Sub EffacerContenuColonneB()
Dim ws As Worksheet
Dim rngB As Range
Dim cell As Range
Dim searchRange As Range
Dim searchTerm As String
' feuille de calcul où se trouvent les données
Set ws = ActiveSheet
' la plage de données dans la colonne B
Set rngB = ws.Range("B1:B" & ws.Cells(ws.Rows.Count, "B").End(xlUp).Row)
' Parcour chaque cellule de la colonne P et recherche si la valeur est dans la colonne B
For Each cell In ws.Range("P1:P" & ws.Cells(ws.Rows.Count, "P").End(xlUp).Row)
searchTerm = cell.Value
Set searchRange = rngB.Find(What:=searchTerm, LookIn:=xlValues, LookAt:=xlWhole)
' Si la valeur est trouvée dans la colonne B, effacez le contenu
If Not searchRange Is Nothing Then
searchRange.ClearContents
End If
Next cell
End Sub
il me permet d'effacer le contenu dans les cellules de la colonne B si il est également contenu dans une des cellules de la colonne P
dans l'ensemble, ca fonctionne sauf que ça n'efface que 1 cellule sur 2
je doit cliquer plusieurs fois sur mon bouton pour qu'au finale tout soit effacer. a chaque fois ca en supprime moitié par moitié . de 16 on passe à 8 puis à 4 puis à 2; 1 enfin la dernière
je précise que le contenu de P est obtenu grâce à une fonction FILTRE qui fait appel a la colonne B.
au final je souhaite juste à n'avoir a cliquer qu'une seule fois sur mon bouton pour tout effacer.
merci d'avance de votre aide.