Sub RemplacementCellule()
Dim CelluleARemplacer As Range
Dim ContenuCellule As String, Feuille_Depart As String, Mon_Range As String
Dim Choix
'1re étape : Le 1er inputbox
'Quand tu utilises Application.InputBox, il faut mettre un Set devant ta variable.
'2 manières de traiter l'erreur, soit par l'exemple qui suit, ou encore avec une manip du type
'On error Goto Annuler
'J'ai mis un Annuler: plus bas en commentaire. Ça fonctionnerait aussi.
On Error Resume Next
Application.DisplayAlerts = False
Set CelluleARemplacer = Application.InputBox(Prompt:= _
"Entrez ci-dessous la cellule qui doit etre remplacée.", _
Title:="Choix de Cellule", Type:=8)
On Error GoTo 0
Application.DisplayAlerts = True
If CelluleARemplacer Is Nothing Then Exit Sub
Mon_Range = CelluleARemplacer.Address
'2e étape : Le 2e inputbox
'La manière de traiter l'erreur est avec un vbNullString
ContenuCellule = InputBox("Entrez le texte que vous souhaitez y voir apparaitre")
If ContenuCellule = vbNullString Then Exit Sub
Choix = MsgBox("Voulez vous vraiment procéder à l'opération de remplacement des cellules?", vbCritical + vbYesNo, "ATTENTION")
Application.ScreenUpdating = False
If Choix = vbYes Then
Feuille_Depart = ActiveSheet.Name
For Each sh In Sheets
If sh.Visible = True Then
sh.Select
Range(Mon_Range).Value = ContenuCellule
End If
Next sh
Sheets(Feuille_Depart).Select
Else
Exit Sub
End If
'Annuler:
End Sub