Problème ligne macro trop longue

jerleswatt

XLDnaute Nouveau
Bonjour,

j'ai un macro pour afficher la date sur de nombreuse colonne, tous les 9 colonne à partir du 2 exactement seulement je but au bout de ma ligne dans mon macro!
Aurez-vous une solution pour abréger mon macro ?
je vous laisse un exemple pour vous donner une idée:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Select Case Target.Column
Case 2, 11, 20, 29, 38, 47, 56, 65, 74, 83, 92, 101, 110, 119, 128, 137, 146, 155, 164, 173, 182, 191, 200, 209, 218, 227, 236, 245, 254, 263, 272, 281, 290, 299, 308, 317, 326, 335, 344, 353, 362, 371, 380, 389, 398, 407, 416, 425, 434, 443, 452, 461, 470, 479, 488, 497, 506, 515, 524, 533, 542, 551, 560, 569, 578, 587, 596, 605, 614, 623, 632, 641, 650, 659, 668, 677, 686, 695, 704, 713, 722, 731, 740, 749, 758, 767, 776, 785, 794, 803, 812, 821, 830, 839, 848, 857, 866, 875, 884, 893, 902, 911, 920, 929, 938, 947, 956, 965, 974, 983, 992, 1001, 1010, 1019, 1028, 1037, 1046, 1055, 1064, 1073, 1082
If Target = "" Then Target = Date
End Select
End Sub


Cordialement Jérôme.
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Problème ligne macro trop longue

Bonjour à tous,

avec ceci:
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column Mod 9 = 2 And Target.Value = "" Then Target.Value = Date
End Sub
ou alors ceci pour limiter à la colonne 1082
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column < 1083 And Target.Column Mod 9 = 2 And Target.Value = "" Then Target.Value = Date
End Sub
à+
Philippe
 
Dernière édition:

jerleswatt

XLDnaute Nouveau
Re : Problème ligne macro trop longue

Merci pour vos réponses cela fonctionne, mais le soucis c'est que mes cellules d'après sont liées cela provoque une erreur d'exécution "13" et me demande un débogage .
j'ai bon chercher, je ne vois pas comment modifier vos code pour régler ce petit soucis.

Cordialement Jérôme.
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Problème ligne macro trop longue

Re,

avec ceci pour le cas où il y aurait des cellules fusionnées
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count <> 1 Then Exit Sub
If Target.Column Mod 9 = 2 And Target.Value = "" Then Target.Value = Date
End Sub

à+
Philippe
 

Discussions similaires