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
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 SubEn 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], TrueRemplacer l'adresse de destination par ta cellule dynamique : colonne "Noms" sur la dernière ligne du grand tableauBonsoir 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.