chris6999
XLDnaute Impliqué
Bonjour
J'ai toujours des difficultés à faire fonctionner correctement la procédure "Private Sub Worksheet_Change(ByVal Target As Range)" sur une Target.Adress où plusieurs cellules sont fusionnées.
Dans le cas ci-après ma Target de référence est K3 alors qu'en réalité il s'agit d'une zone de choix fusionnée de K3 à O3.
La macro fonctionne nickel dans le cas où K3 est différent de ""
Par contre lorsque je supprime ma valeur dans la plage en question rien ne se passe alors que je lui demande de sélectionner la cellule B23.
Je pense que c'est lié à la fusion de la plage car quand je "défusionne" les cellule et supprime les valeurs en K3 la macro fonctionne correctement.
Quelqu'un saurait-il comment contourner ce problème?
Cordialement
Private Sub Worksheet_Change(ByVal Target As Range)
Dim PlageRecherche As Range
If Target.Address(0, 0) = "K3" Then
Application.Calculation = xlCalculationAutomatic
If Target.Value = "" Then Range("B23").Select
'Exit Sub
End If
'RECHERCHE DANS LA COLONNE C la valeur saisie dans la cellule K3
With ActiveSheet
Set PlageRecherche = .Range("c:c").Find(what:=Range("k3").Value, LookIn:=xlValues, lookat:=xlWhole)
If Not PlageRecherche Is Nothing Then
PlageRecherche.Select
End If
End With
Application.Calculation = xlCalculationManual
End Sub
J'ai toujours des difficultés à faire fonctionner correctement la procédure "Private Sub Worksheet_Change(ByVal Target As Range)" sur une Target.Adress où plusieurs cellules sont fusionnées.
Dans le cas ci-après ma Target de référence est K3 alors qu'en réalité il s'agit d'une zone de choix fusionnée de K3 à O3.
La macro fonctionne nickel dans le cas où K3 est différent de ""
Par contre lorsque je supprime ma valeur dans la plage en question rien ne se passe alors que je lui demande de sélectionner la cellule B23.
Je pense que c'est lié à la fusion de la plage car quand je "défusionne" les cellule et supprime les valeurs en K3 la macro fonctionne correctement.
Quelqu'un saurait-il comment contourner ce problème?
Cordialement
Private Sub Worksheet_Change(ByVal Target As Range)
Dim PlageRecherche As Range
If Target.Address(0, 0) = "K3" Then
Application.Calculation = xlCalculationAutomatic
If Target.Value = "" Then Range("B23").Select
'Exit Sub
End If
'RECHERCHE DANS LA COLONNE C la valeur saisie dans la cellule K3
With ActiveSheet
Set PlageRecherche = .Range("c:c").Find(what:=Range("k3").Value, LookIn:=xlValues, lookat:=xlWhole)
If Not PlageRecherche Is Nothing Then
PlageRecherche.Select
End If
End With
Application.Calculation = xlCalculationManual
End Sub