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").Select

Aprè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 = true

Explication : 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

Rechercher des sujets similaires à "probleme code macro mouvement curseur"