dionys0s
XLDnaute Impliqué
Bonjour le forum
voici mon soucis. J'ai un code dans ma feuil1, qui execute une macro dès qu'une cellule d'une plage est modifiée. Voici les codes :
Il s'agit du dernier ElseIf
Voici le code de la macro :
En substance je comprends le probleme. Lors de la modification de la cellule, le remplacement se fait correctement, mais comme la cellule a été modifiée, il relance la macro, et comme il ne trouve aucune valeur définie par ma variable, il plante. Comment dois-je modifier le code pour faire comprendre à ma macro de ne rien faire si elle ne trouve pas les valeurs recherchées ?
Merci d'avance pour votre aide
voici mon soucis. J'ai un code dans ma feuil1, qui execute une macro dès qu'une cellule d'une plage est modifiée. Voici les codes :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Address = "$C$2" Then
Application.ScreenUpdating = False
Call AdresseSociété
ElseIf Target.Address = "$C$4" Then
Application.ScreenUpdating = False
Range("F8").ClearContents
Call Liste_Valideurs
Range("F6").Select
ElseIf Target.Address = "$F$6" Then
Application.ScreenUpdating = False
Call TelFax
ElseIf Target.Address = "$F$8" Then
Application.ScreenUpdating = False
Range("B23").Select
[B]ElseIf Not Intersect(Target, Range("$B$23:$B$46")) Is Nothing Then
Application.ScreenUpdating = False
Call Remplace
Target.Offset(0, 1).Select[/B]End If
End Sub
Il s'agit du dernier ElseIf
Voici le code de la macro :
Code:
Sub Remplace()
Application.ScreenUpdating = False
Fournisseur = ActiveCell.Value
Feuil6.Visible = True
Feuil6.Select
Columns("B:B").Select
Selection.Find(What:=Fournisseur, After:=ActiveCell, LookIn:=xlFormulas _
, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Offset(0, -1).Activate
CodeFournisseur = ActiveCell.Value
Feuil6.Visible = False
Feuil1.Select
Cells.Replace What:=Fournisseur, Replacement:=CodeFournisseur, LookAt:= _
xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Application.ScreenUpdating = True
End Sub
En substance je comprends le probleme. Lors de la modification de la cellule, le remplacement se fait correctement, mais comme la cellule a été modifiée, il relance la macro, et comme il ne trouve aucune valeur définie par ma variable, il plante. Comment dois-je modifier le code pour faire comprendre à ma macro de ne rien faire si elle ne trouve pas les valeurs recherchées ?
Merci d'avance pour votre aide