Bonjour ,
Je suis débutante en VBA et j'ai besoin de votre aide pour modifier ma macro s'il vous plait [IMG]
mon probléme :
Ma macro fonctionne avec un Menu contextuel [IMG] .Donc je voudrais quand utilisateur fini a remplir toute une ligne, après quand il clique sur le souris ou s'est nommé "duplication de la ligne " ; un message Box montre n° de trajet de début ,après un autre message Box ,n°de trajet de fin .
Donc a partir de n° trajet de début jusqu’au numéro de trajet de fin , il incrémente avec un +1 , avec recopie de toute la ligne .
'exemple:
N° trajet de debut :580
N) trajet de fin: 584
donc je voudrai avoir
581
582
583
584
avec coipe de tout les données de la ligne de n0 de trajet 581 de debut pour les autres numéros de trajet .
j’espère que j'ai bien expliquer mon problème .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 ' code VBA Sub dupliquerlignes() Dim lignes As Integer Dim debut As Integer debut = InputBox("N° DE DEBUT ") fin=InputBox("N °DE FIN ") For Debut To Fin With ActiveCell.EntireRow .Offset(debut, 0).Insert Shift:=xlDown .Copy Destination:=.Offset(debut, 0) debut=debut+1 End With Next debut End Sub ' Menu contextuel Private Sub Workbook_Open() Call Creer_Menu_Contextuel_2 End Sub Sub Creer_Menu_Contextuel_2() 'réinitialize la sourie comme à l'origine Application.CommandBars("Cell").Reset 'Crée une commande dans le menu With Application.CommandBars("Cell").Controls.Add(msoControlButton) .Caption = "Duplication de la ligne" 'le nom de la commande .BeginGroup = True 'ligne facultative si elle est précisée alors .OnAction = "dupliquerlignes" 'appel de la macro End With End Sub Sub reset_menudroit() CommandBars("Cell").Reset End Sub
Dans l'attente de vos répense .Je vous remercie d'avance![]()
Partager