Bonjour à tous,
Je me tourne vers vous pour un besoin qui me ronge le cerveau depuis quelques heures!
Mon but est de copier coller une liste de produits d'un onglet COMMANDES et quelques attributs (quantité, numéro de commande, famille de produits), et de remplacer les lignes de commandes liées à des menus par le contenu de ce menu (cf feuille MENU)
Voici mon code pour l'instant, mais je n'arrive pas à la partie sur le contenu des menus :/ Peut etre que ce serait plus simple avec les fonctionnalités de tableau, mais je ne les maîtrise pas..
J'attache aussi le fichier avec un onglet "Target" où on voit ce que j'essaye de faire, avec en jaune ce que les menus devraient renvoyer.
Sauriez vous m'aider?
Merci beaucoup!!
Je me tourne vers vous pour un besoin qui me ronge le cerveau depuis quelques heures!
Mon but est de copier coller une liste de produits d'un onglet COMMANDES et quelques attributs (quantité, numéro de commande, famille de produits), et de remplacer les lignes de commandes liées à des menus par le contenu de ce menu (cf feuille MENU)
Voici mon code pour l'instant, mais je n'arrive pas à la partie sur le contenu des menus :/ Peut etre que ce serait plus simple avec les fonctionnalités de tableau, mais je ne les maîtrise pas..
J'attache aussi le fichier avec un onglet "Target" où on voit ce que j'essaye de faire, avec en jaune ce que les menus devraient renvoyer.
VB:
Sub copier_coller()
Dim Nbrligne&, L&, L1&
Dim ws_menu As Worksheet
Dim ws_source As Worksheet
Dim ws_resultat As Worksheet
Set ws_menu = Worksheets(1)
Set ws_source = Worksheets(2)
Set ws_resultat = Worksheets(3)
ws_source.Select
Application.ScreenUpdating = False 'Désactive l'affichage en temps réel
Application.Calculation = xlCalculationManual 'Désactive le recalcul auto des formules Excel à chaque modification
With ws_source
Nbrligne = .Range("A" & .Rows.Count).End(xlUp).Row 'Calcul le nombre de lignes en ws_source
L1 = 2
For L = 186 To Nbrligne
If .Range("I" & L).Value Like "Menu*" Then
' ici je ne sais pas comment copier le contenu du menu (présent dans ws_menu) au lieu du nom
'du menu, avec une ligne pour chaque produit du menu (donc 6 lignes copiée à chaque fois qu'un
'menu tombe)
'De même je dois réussir à faire revenir la quantité, le numéro de commande et la famille de
'produit correspondant au menu
Else
Range("A" & L).Copy
Range("A" & Range("A65536").End(xlUp).Row + 1).PasteSpecial (xlPasteValues)
Range("B" & L).Copy
Range("B" & Range("B65536").End(xlUp).Row + 1).PasteSpecial (xlPasteValues)
Range("I" & L).Copy
Range("C" & Range("C65536").End(xlUp).Row + 1).PasteSpecial (xlPasteValues)
Range("J" & L).Copy
Range("D" & Range("D65536").End(xlUp).Row + 1).PasteSpecial (xlPasteValues)
End If
Next
End With
Application.CutCopyMode = False
End Sub
Sauriez vous m'aider?
Merci beaucoup!!