Re:Remplacement d'un mot par un autre macro
bonjour charly2
Merci pour ta réponse. Effectivement dans l'exemple que j'ai envoyé, j'ai en fait bêtement mis une seule des conditions de recherche pensant que la modif sera la même pour chacune d'elles.
Mais au vu de ta macro, je me rends compte que c'est nettement plus complexe que je l'imaginais. Donc pour clarifier la situation je te mets ci-dessous la macro complète de Pascal (légèrement modifiée par un msgbox avec choix)
Private Sub Worksheet_Change(ByVal Target As Range)
'code sans respect de la casse
Dim MonMot As String, MotCel As String
Dim i As Integer
For i = 13 To 47
MonMot = 'PP'
If Target.Address(0, 0) = 'U' & i Then
MotCel = UCase(Target)
If MotCel Like '* ' & MonMot & ' *' Then
MsgBox 'Vous avez choisi du' & ' ' & MonMot & ' ' & 'comme contenant. Ne préférez vous pas utiliser du PETG ?', vbInformation + vbYesNo
If vbNo Then
Exit Sub
Else
Range('U13').Replace What:=MotCel, Replacement:='PETG', LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
End If
ElseIf MotCel Like MonMot & ' *' Then
MsgBox 'Vous avez choisi du' & ' ' & MonMot & ' ' & 'comme contenant. Ne préférez vous pas utiliser du PETG ?', vbInformation + vbYesNo
If vbNo Then
Exit Sub
Else
'Remplacement de MonMot par 'PETG'
End If
Exit Sub
ElseIf MotCel Like '* ' & MonMot Then
MsgBox 'Vous avez choisi du' & ' ' & MonMot & ' ' & 'comme contenant. Ne préférez vous pas utiliser du PETG ?', vbInformation + vbYesNo
If vbNo Then
Exit Sub
Else
'Remplacement de MonMot par 'PETG'
End If
Exit Sub
ElseIf MotCel Like MonMot Then
MsgBox 'Vous avez choisi du' & ' ' & MonMot & ' ' & 'comme contenant. Ne préférez vous pas utiliser du PETG ?', vbInformation + vbYesNo
If vbNo Then
Exit Sub
Else
'Remplacement de MonMot par 'PETG'
End If
Exit Sub
End If
End If
Next i
End Sub
|