Déplacement de plusieurs cellules avec Private sub Worksheets_Change

Déplacement de plusieurs cellules avec Private sub Worksheets_Change - VB/VBA/VBS - Programmation

Marsh Posté le 20-11-2012 à 11:29:27    

Bonjour à tous .
J'ai l'habitude de faire des macro mais uniquement avec le développeur.
Donc je n'arrive pas en faire une avec PRIVATE SUB Worksheets_Change)
Je souhaite que dans une colonne, lorsque j'arrive en bas du tableau , après avoir validé, je remonte dans la case située à droite et en haut du tableau et non de la colonne entière.
J'ai mis ceci que l'on m'a prescrit, mais ça ne fonctionne pas
Private Sub Worksheets_Change(ByVal sel As Range)
If sel.Count=1 And sel Row45 Then
Cell(3,sel Colum+2) Select
End If
End Sub
 
Je peux vous fournir un tableau mais comment?
 
Merci à vous et bonne journée
 
 

Reply

Marsh Posté le 20-11-2012 à 11:29:27   

Reply

Marsh Posté le 20-11-2012 à 12:19:03    

Bonjour Hiena,
 
Essaie plutôt :
 
Private Sub Worksheet_Change(ByVal sel As Range)
 If sel.Count = 1 And sel.Row = 45 Then
  Cells(3, sel.Column + 1).Select
 End If
End Sub

Reply

Marsh Posté le 20-11-2012 à 20:44:19    

Merci takama13
 
J'ai bien essayé mais rien ne se produit.  
Mon tableau va de la cellule A3 à A32 et comporte 50 colonnes.
Ce tableau est à recopier sur 3 autres ordi portables, pour pouvoir travailler en même temps, et surtout gagner du temps.  
 
J'ai mis la première ligne, mais avec un MsgBox et cela fonctionne très bien.
Merci encore et bonne soirée.

Reply

Marsh Posté le 21-11-2012 à 11:02:37    

Salut, pour un tableau qui va de A3 à A32 sur 50 colonnes :
 
Dans le code de la feuille concernée :
 
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row = 32 And Target.Column < 51 Then
Cells(3, Target.Column + 1).Select
End If
End Sub
 
 
 

Reply

Marsh Posté le 21-11-2012 à 14:40:21    

Merci pvclunacy
 
Je dois avoir un problème avec mon ordi car votre suggestion me parait pourtant la plus logique, car lorsque je serai dans une case "c32", par exemple, après validation, je devrai remonter dans la case "d33". C'est ce que je voudrai, mais RIEN ne se produit.
Je crois que je vais malheureusement abandonner mon projet.
 
Merci Beaucoup à vous tous

Reply

Marsh Posté le 21-11-2012 à 16:23:41    

Je viens de tester encore une fois, ca fonctionne bien, si je valide une saisie en C32, ça sélectionne automatiquement la cellule D3.
 
Attention, il faut que le code soit dans la feuille concerné et pas dans un module, dans l'explorateur de projet, double clique sur la feuille sur laquelle cette macro doit fonctionner et colle le code du Sub.

Reply

Marsh Posté le 21-11-2012 à 17:31:34    

et je rajoute qu'il faut entrer une valeur dans cette cellule, pas seulement valider par "entrée"

Reply

Marsh Posté le 22-11-2012 à 15:27:23    

 
 Dans ce cas, vaudrait mieux utiliser alors l'évènement  Private Sub Worksheet_SelectionChange  …


Message édité par Marc L le 22-11-2012 à 15:29:41
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed