Remplacement mot par un autre

  • Initiateur de la discussion Odile
  • Date de début
O

Odile

Guest
Bonjour à toutes et à tous

Grâce à votre aide, j'ai une macro qui affiche un msgbox (vbokcancel) lorsque l'utilisateur tape un certain mot dans une cellule.

j'aimerais compléter ce code de façon à ce que si l'utilisateur tape ok, le mot soit changé par un autre. Dans mon cas 'PETG'

Ci-dessous le code macro

Merci pour votre aide

amicalement
Odile

Code:
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 + vbOKCancel
If vbCancel Then
Exit Sub
Else
'Remplacement de MonMot par 'PETG'
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 + vbOKCancel
If vbCancel 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 + vbOKCancel
If vbCancel 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 + vbOKCancel
If vbCancel Then
Exit Sub
Else
'Remplacement de MonMot par 'PETG'
End If
Exit Sub
End If
End If
Next i
End Sub
 

Gorfael

XLDnaute Barbatruc
Salut
Je comprend pas tout (comment ça comme d'habitude ! Qui a dit ça ?)

tu testes bizarrement :
Si MotCel = '* PP *'
sinon si MotCel = 'PP *'
sinon si MotCel = '* PP'
Pour quoi pas MotCel = '*PP*' ?

Pareil pour les messages :
'texte1' & ' ' & MonMot & ' ' & 'Texte2'
Pourquoi pas
'texte1 ' & MonMot & ' texte2' Plus lisible, non ?

Donc comme tu sais mettre
MonMot = 'PP'
Donc, le problème n'est pas
MonMot = 'PETG'
, mais je ne comprends pas ce que tu veux faire.
S'te plait tu peux m'expliquer ?
A+
 

Jam

XLDnaute Accro
Salut Gorfael,

Dans ta proposition de
Pareil pour les messages :
'texte1' & ' ' & MonMot & ' ' & 'Texte2'
Pourquoi pas
'texte1 ' & MonMot & ' texte2' Plus lisible, non ?
Ben je ne ferais pas cela non plus car source d'erreur. Es-tu bien sur d'avoir saisi 1 espace avant/après les guillements double ?
Bref, pour éviter ce questionnement autant utiliser:
'texte1' & space(1) & 'texte2'

Désolé Odile de ne pas répondre à ta question première mais là j'ai pô le temps de jeter un oeil à ton code.
 

Statistiques des forums

Discussions
312 499
Messages
2 089 000
Membres
104 002
dernier inscrit
SkrauzTTV