Bonjour
Problème , car je voudrais que ces données arrivent directement dans mon tableau 1.
Dans mon cas elles arrivent juste en dessous.
je ne comprends pas trop le en dessous... mais bon essayez le code ci-dessous
Sub Incrementation()
Dim fb As Worksheet, fs As Worksheet, cell As Range
Dim i As Integer, lgn As Integer, derln As Integer, k As Integer
Dim colB As Byte, colS As Byte, ln As Byte
Set fb = Sheets("Demande")
With fb
If .Range("D3").Value = "" Then
MsgBox "Merci de renseigner votre Prénom"
Else
Set fs = Sheets("Liste")
derln = .Range("A" & .Rows.Count).End(xlUp).Row
If derln = 8 Then derln = 9
For i = 9 To derln
lgn = fs.Range("A" & fs.Rows.Count).End(xlUp).Row + 1
For k = 1 To 10
colB = Choose(k, 7, 4, 1, 2, 3, 4, 5, 6, 7, 8)
colS = Choose(k, 1, 2, 5, 6, 7, 8, 9, 10, 11, 12)
ln = Choose(k, 1, 3, 9, 9, 9, 9, 9, 9, 9, 9, i)
fs.Cells(lgn, colS) = .Cells(ln, colB)
Next k
Next i
MsgBox "Le bon de commande " & Range("g1") & " a été enregistré."
.Range("D3").ClearContents
.Range("A9:H28").ClearContents
.Range("G1").Value = .Range("G1").Value + 1
End If
End With
End Sub
Evitez les accents si vous travaillez avec VBA. J'ai enlevé le "é" du nom de la macro
Autre chose, veillez à mettre le nom de votre feuille devant les ROWS.COUNT, sans quoi excel pourrait dans certains cas vous renvoyer autre chose.
Si ok, merci de cloturer le fil en cliquant sur le petit v en haut à droite
Crdlt