Problème code macro sur mouvement curseur
Salut à tous
J'ai un souci avec l'échantillon de ma macro ci-dessous.
ElseIf Target.Address = "$B$42" And Target.Value <> "" Then
Range("D42").Select
ElseIf Target.Address = "$D$42" And Target.Value <> "" Then
Range("B44").Select
ElseIf Target.Address = "$B$45" And Target.Value <> "" Then
Range("B46").SelectAprès la cellule b42, le curseur se positionne sur la cellule D42.
Ensuite elle revient sur la cellule B44.
Normalement, après B44 le curseur devrait se positionner sur la cellule suivante (B45) mais il se positionne sur la cellule D44.
Je comprend pas pourquoi c'est comme ca.
Je sollicite vos expertises
Salut le forum
Il serait plus facile si tu donnais le code complet.
Mytå
Ci-dessous le code complet
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo fin
ElseIf Range("B4").Value = "ANCIEN CLIENT" Then
If Target.Address = "$B$4" And Target.Value <> "" Then
Range("B5").Select
ElseIf Target.Address = "$B$5" And Target.Value <> "" Then
Range("B7").Select
ElseIf Target.Address = "$B$16" And Target.Value <> "" Then
Range("B18").Select
ElseIf Target.Address = "$B$26" And Target.Value <> "" Then
Range("B28").Select
ElseIf Target.Address = "$B$29" And Target.Value <> "" Then
Range("B31").Select
ElseIf Target.Address = "$B$32" And Target.Value <> "" Then
Range("B37").Select
ElseIf Target.Address = "$B$37" And Target.Value <> "" Then
Range("B39").Select
ElseIf Target.Address = "$B$41" And Target.Value <> "" Then
Range("B42").Select
ElseIf Target.Address = "$B$42" And Target.Value <> "" Then
Range("D42").Select
ElseIf Target.Address = "$D$42" And Target.Value <> "" Then
Range("B44").Select
ElseIf Target.Address = "$B$44" And Target.Value <> "" Then
Range("B45").Select
ElseIf Target.Address = "$B$48" And Target.Value <> "" Then
Range("B49").Select
'Range("d3").Select
Range("d3").Select
Else: GoTo fin
End If
'GESTION CURSEUR SUR COMPTE ANCIEN CLIENT PF
ElseIf Range("B4").Value = "ANCIEN CLIENT" Then
If Target.Address = "$B$4" And Target.Value <> "" Then
Range("B5").Select
ElseIf Target.Address = "$B$5" And Target.Value <> "" Then
Range("B7").Select
ElseIf Target.Address = "$B$16" And Target.Value <> "" Then
Range("B18").Select
ElseIf Target.Address = "$B$26" And Target.Value <> "" Then
Range("B28").Select
ElseIf Target.Address = "$B$29" And Target.Value <> "" Then
Range("B31").Select
ElseIf Target.Address = "$B$32" And Target.Value <> "" Then
Range("B37").Select
ElseIf Target.Address = "$B$37" And Target.Value <> "" Then
Range("B39").Select
ElseIf Target.Address = "$B$41" And Target.Value <> "" Then
Range("B42").Select
ElseIf Target.Address = "$B$42" And Target.Value <> "" Then
Range("D42").Select
ElseIf Target.Address = "$D$42" And Target.Value <> "" Then
Range("B44").Select
ElseIf Target.Address = "$B$45" And Target.Value <> "" Then
Range("B46").Select
ElseIf Target.Address = "$B$48" And Target.Value <> "" Then
Range("B49").Select
Call Macro10
'Range("d3").Select
Range("d3").Select
Else: GoTo fin
End If
Else: GoTo fin
End If
fin:
Exit Sub
End Sub
Re le forum
Ton code semble être en double et merci d'utiliser les balises Code
Mytå
Bonjour,
C'est clair qu'il y a un problème dans le copier coller du code. Je ne vois pas comment le code peut fonctionner en commençant par un elseif.
Par contre attention aux termes, ce n'est pas sur le "mouvement curseur" que l'événement se déclenche mais bien à chaque changement d'une valeur dans une cellule.
Private Sub Worksheet_Change(ByVal Target As Range)Pour que l'événement se déclenche à chaque changement de cellule il faut utiliser l'événement :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)Une dernière remarque importante, bien penser à désactiver les événements selon le cas afin de ne pas tomber dans une boucle infinie avec :
application.EnableEvents = False
'action
application.EnableEvents = trueExplication : j'ai un événement qui se déclenche lors d'un changement de cellule, à l'intérieur de cette procédure je sélectionne une autre cellule, du coup l'événement se re-déclenche etc etc etc
Salut chrix
Merci pour tes observations et tes conseils.
J'ai pu tirer lecon et ca ma beaucoup servi.
Infiniment merci à toi et à Myta