Bonjour,
Voici mon " soucis" je débute et en vba et j'ai bricolé en fouinant sur le web un code qui me permet de tester un tableau sous forme de boucle.
Si la colone f= x (dans la feuille stock) ça recopie toute la ligne vers la seconde feuille ( commande).
tout fonctionne à merveille sauf que dans la feuille stock ensuite ma macro fait le ménage et supprime les colonnes inutiles.
J'ai beau bricolé tout et n'importe quoi , je n'arrive pas à faire en sorte que si la case f=X (stock) ça ne copie que les cases a b et h au lieu de toute la ligne histoire de simplifier la macro et le travail d excel.
Mon " travail" fonctionne mais je voudrai optimiser car la en gros je test je copie tout et je supprime.
Voici mon code
Merci pour votre aide
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 Sub fournitures() Dim Lig As Long Dim Col As String Dim NbrLig As Long Dim NumLig As Long Sheets("commande").Activate ' feuille de destination Col = "f" ' colonne données non vides à tester' NumLig = 2 'alors là ca doit etre le N° de la 1er ligne de données en comptant la ligne 1 = 0 .... ? ' With Sheets("stock") ' feuille source' NbrLig = .Cells(65536, Col).End(xlUp).Row For Lig = 2 To NbrLig 'n° de la 1ere ligne de donnéesla ligne 1 = 0' If .Cells(Lig, Col).Value = "x" Then .Cells(Lig, Col).EntireRow.Copy c'est cette ligne la que je ne sais pas modifier correctement NumLig = NumLig + 1 Sheets("commande").Cells(NumLig, 1).Insert Shift:=xlDown 'ici pour insérer ou .Paste pour coller' 'ici .insert Shift:=xlDown pour coller' End If Next End With End Sub
Partager