Bonjour,
Je réalise actuellement une macro pour automatiser la création d’une feuille de relevé de poids rempli manuellement par un opérateur sur le terrain.
L’idée est d’extraire les données d’une feuille pour les transférer et les mettre en forme en fonction de la quantité réceptionnée du jour.
La macro doit dans un premier temps transférer certaines des données d’une feuille appelée « Commandes » vers une autre feuille de relevé de poids appelée «Feuille ».
La macro doit ensuite fusionner les cellules pour créer plusieurs lignes en fonction du nombre de palettes en colonne I de la feuille « Feuille »).
J’ai fait le code pour la première colonne mais j’ai quelques soucis : quand je colle les données dans ma feuille de relevé la case sélectionné à la fin du collage n'est pas celle ou les données ont été collées - je ne peux donc pas enchainer mon code pour fusionner mes lignes en fonction de mon nombre de palettes.
Ci joint une image du résulta attendu :
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 Sub Copier() Dim numligne As String numligne = ActiveCell.Row Sheets("Commandes").Select Range("A" & numligne).Select Selection.Copy With Sheets("Feuille") ActiveSheet.Paste Destination:=.Range("A" & .Range("A" & Rows.Count).End(xlUp).Row).Offset(1) Application.CutCopyMode = False .Activate End With Range ("A" & numligne & .Range("A" & Range("I" & numligne-1)).Select) ' La macro plante ci dessus : ' je souhaite sélectionner la case de mon activecell (point de départ) jusqu'à mon point arrivée activecell + valeur nombre de ligne présente en colonne I-1 With Selection .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter End With End Sub
Merci pour votre aide.
Partager