Sur double-clic dans une cellule, pointer le curseur dans un autre tableau

Bonsoir,

Serait-il possible, sur double-clique dans une cellule (entourée en rouge) de faire pointer le curseur (c'est à dire le pointeur de la souris) dans un autre tableau (entourée en bleu), et plus précisément sur la ligne qui a été rajoutée dans ce tableau "TBL_5ateliers" (dans l'exemple, ligne 21)

Parce que pour le moment la souris pointe sur la cellule du double-clique mais je voudrais éviter cela

image

Code VBA dans l'objet "feuil2 (5 ateliers)" :

'Feuille 5 ateliers

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
     On Error GoTo Catch
     Cancel = True                           ' // On evite de passer en mode édition après l'éxécution du code

     Dim Ateliers As Excel.ListObject
     Set Ateliers = Me.Range("TBL_5Ateliers").ListObject

     If Not Ateliers Is Nothing Then         ' // Le tableau exist-il bien ?
          Application.EnableEvents = False

          'TODO "Utiliser une constante pour ce mot de passe."
          Me.Unprotect Password:=GlobalConstants.SHEETS_MDP

          'TODO "Utiliser une autre méthode pour sélectionner un nom. par exemple une zone de liste déroulante."
          If Not Intersect(Target, Me.Range("tabel8[noms]")) Is Nothing Then
               Dim arr As Variant
               'TODO "Le formatage doit-être fait avant. (A l'insertion d'un nouveau nom par exemple.)
               arr = Array(UCase(Target.Value), Application.Proper(Target.Offset(0, 1).Value), UCase(Target.Offset(0, 2).Value))
               Dim newRow As Excel.ListRow
               If GlobalConstants.POSITION_TO_ADD_ON_TAB > 0 Then
                    Set newRow = Ateliers.ListRows.Add(Position:=GlobalConstants.POSITION_TO_ADD_ON_TAB)     ' // Par défaut on ajoute à la fin du tableau. modification dans le module GlobalConstants.
               Else
                    Set newRow = Ateliers.ListRows.Add     ' // Par défaut on ajoute à la fin du tableau. modification dans le module GlobalConstants.
               End If
               With newRow
                    .Range.Range("A1:C1").Value = arr
                    .Range.Range("D1:W1").Value = 0
               End With
          End If
          Me.Protect Password:=GlobalConstants.SHEETS_MDP
     End If

Finally:
     Application.EnableEvents = True
     Exit Sub

Catch:
     ' // Do something.
     MsgBox "Oupss... Nous avons rencontré une erreur : " & Err.Number & _
            " (" & Err.Description & ") dans la procédure tempSub du Document VBA Feuil2"

     Resume Finally

End Sub

Private Sub tempSub(ByVal Target As Range, Cancel As Boolean)
     On Error GoTo Catch
     Cancel = True                           ' // On evite de passer en mode édition après l'éxécution du code

     Dim Ateliers As Excel.ListObject
     Set Ateliers = Me.Range("TBL_5Ateliers").ListObject

     If Not Ateliers Is Nothing Then         ' // Le tableau exist-il bien ?
          Application.EnableEvents = False
          'TODO "Utiliser une constante pour ce mot de passe."
          Me.Unprotect Password:="seb"
          'TODO "Utiliser une autre méthode pour sélectionner un nom."
          If Not Intersect(Target, Me.Range("tabel8[noms]")) Is Nothing Then
               Dim arr As Variant
               arr = Array(UCase(Target.Value), Application.Proper(Target.Offset(0, 1).Value), UCase(Target.Offset(0, 2).Value))
               Dim newRow As Excel.ListRow
               Set newRow = Ateliers.ListRows.Add
               With newRow
                    .Range = arr
               End With
          End If

     End If

Finally:
     Application.EnableEvents = True
     Exit Sub

Catch:
     ' // Do something.
     MsgBox "Oupss... Nous avons rencontré une erreur : " & Err.Number & _
            " (" & Err.Description & ") dans la procédure tempSub du Document VBA Feuil2"

     Resume Finally
End Sub

En tout cas, merci beaucoup de vous être intéressé à ce sujet.

Pour débloquer les feuilles, mdp ==> seb

Bonne soirée

Hello, tu peux gratter à base de

Application.GoTo [A1], True
Remplacer l'adresse de destination par ta cellule dynamique : colonne "Noms" sur la dernière ligne du grand tableau

Bonsoir Tomato et merci beaucoup

Désolé mais je ne comprends pas ta proposition. Suis vraiment pas bon en code VBA

J'ai ouvert ton fichier :

1/ ta macro présentée ici n'existe nulle part

2/ l'effet que tu recherches (pointer sur la nouvelle ligne) est déjà opérationnel avec la macro existante

mille excuses tomato...

Tu as raison, ça le faisait sur cet ancien fichier mais plus l'actuel

Je vais relancer un autre sujet...

Merci encore tomato.

Bon w.e.

Rechercher des sujets similaires à "double clic pointer curseur tableau"