correction saut de ligne dans Macro

philipos_353

XLDnaute Nouveau
Bonjour le Forum,

Pourriez vous corriger ma macro afin d'eviter le mélange des numéros de lignes et éviter les sauts de lignes sur le bon de commane en PJ.
Merci à tous

philippe

Private Sub CommandButton8_Click()

' Initialisation des variables
Dim Listes ' Tableau contenant le nom des feuilles de stock traitées
Listes = Array( _
"SOMMAIRE 2.1" _
)

n = 1 ' Nombre de stocks à traiter
i = 1 ' Nombre de lignes traitées
c = 0 ' Offset (est incrémenté de 1 pour passer à un nouveau bon de commande)



' "Virginiser" les bons de commande, au cas où ils seraient déjà renseignés...
With Sheets("Requisition ")
For z = 1 To 20 ' Vingt bons de commande disponibles
k = (z - 1) * 8 + 6
s = "A" + Trim(Str(k)) + ":X" + Trim(Str(k + 2))
.Range(s).ClearContents
Next
End With

' Traitement des stocks
For a = 0 To (n - 1)
Liste = Listes(a)
k = Stock(i, c, Liste)
c = Int(k / 1000)
i = k - c * 1000
Next

' Affichage des bons de commande !
Sheets("Requisition ").Select
If (c > 0) Then
t$ = " bons de commande ont été renseignés !"
Else
t$ = " bon de commande a été renseigné !"
End If
rc$ = Chr(10) + Chr(13)
MsgBox Str(c + 1) + t$, vbOKOnly, "Edition de bon(s) de commande"
MsgBox "Pensez à enregistrer la commande globale (copier/coller dans un nouveau classeur)" + rc$ + rc$ + "sous le nom type COMMANDE_JJMMAAAA !", vbOKOnly, "Edition de bon(s) de commande"

End Sub
' Traitement d'un stock
Private Function Stock(i, c, t)

With Sheets(t)
l = 5 ' 1ère ligne vérifiée dans le sommaire
While (.Cells(l, 2) > "")
a$ = .Cells(l, 2)
e$ = .Cells(l, 5)
b$ = .Cells(l, 3)
d$ = .Cells(l, 4)
f$ = .Cells(l, 6)
s$ = .Cells(l, 7)
qnom = .Cells(l, 8)
un$ = .Cells(l, 9)
qext = .Cells(l, 10)
' Si quantité existante < quantité nominale
' alors insérer dans le bon de commande la qté manquante
If (qext < qnom) Then
With Sheets("Requisition ")
X = 1 + (i - 1) Mod 16
lbc = 14 + X + 23 * c
If X = 15 Then c = c + 1
.Cells(lbc, 1) = a$
.Cells(lbc, 2) = s$
.Cells(lbc, 4) = d$
.Cells(lbc, 5) = e$
.Cells(lbc, 3) = f$
.Cells(lbc, 5) = qext
.Cells(lbc, 6) = qnom - qext
End With
i = i + 1
End If
l = l + 1
Wend
End With

Stock = i + c * 1000

End Function
 

Pièces jointes

  • Requisition.xlsx
    75.3 KB · Affichages: 53
  • Requisition.xlsx
    75.3 KB · Affichages: 55
  • Requisition.xlsx
    75.3 KB · Affichages: 63

Staple1600

XLDnaute Barbatruc
Re : correction saut de ligne dans Macro

Bonsoir Brest, ici Rennes

Le Brestois, c'est comme le Rennais, normalement, il est censé avoir la comprenette facile ;)
Tu vas ouvrir combien de fils pour la même question ?

PS: Pour retrouver ses propres discussions, il suffit de cliquer sur Discussions suivies
(Dans Liens rapides)
discusuiv.jpg

PS: Ca souffle encore à Brest, ce soir ?
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
314 630
Messages
2 111 381
Membres
111 118
dernier inscrit
gmc