Copie et boucle

Résolu
emmjacq -  
 emmjacq -
Bonjour,

Comme vous etes tous au top sur ce forum, et que moi je suis plus que débutant en vba, je souhaiterais un peu/beaucoup d'aide.
Vouilà je copie d'une feuille "commande" vers une feuille "stock" mes lignes de commande. Mais le soucis c'est que je ne dois pas copier obligatoirement ma ligne dans mon stock...

Pour être plus complet mon bon de commande peut faire jusqu'à 16 lignes.
Après chaque ligne tapée je pose la question ligne stochée ou non... et à la fin une question fin et impression.

J'ai donc, grâce au forum, écrit ce programme dans ma userform :

Private Sub OptionButton3_Click()
If OptionButton3.Value = True Then
With Sheets("Pièces en attente de classement")
DrLig = .Range("D" & Rows.Count).End(xlUp).Row + 1
End With
With Sheets("Feuil1")
.Range("B11:E26").Copy Sheets("Pièces en attente de classement").Range("D" & DrLig)
End With
End If



Hors il me mets systématiquement toute mes lignes... Normal car je selectionne le tableau complet : ("B11:E26")...pas que bête...

J'ai essayé d'incrémenter "B" et "E" mais sans succès.

Alors Help me

Merci à tous


A voir également:

4 réponses

pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Bonjour,
Déjà de retour...
Bon, si j'ai bien compris, tu remplis une ligne, admettons pour l'exemple la ligne 24. Tu lances ton userform et, si tu clique sur OptioButton3 et qu'il est coché, tes cellules B24 à E24 doivent être copiées/collées.
Si c'est exact :
Private Sub OptionButton1_Click()
Dim DrLig As Long, Lign As Byte

If OptionButton1.Value = True Then
    With Sheets("Pièces en attente de classement")
        DrLig = .Range("D" & Rows.Count).End(xlUp).Row + 1
    End With
    With Sheets("Feuil1")
        Lign = ActiveCell.Row
        .Range("B" & Lign & ":E" & Lign).Copy Sheets("Pièces en attente de classement").Range("D" & DrLig)
    End With
End If
End Sub

!!!! en fin de saisie de ta ligne, il faut que soit toujours sélectionnée une cellule de la même ligne.
Exemple : tu saisis de B15 à E15, tu dois rester dans la ligne 15 pour que cela fonctionne. Si tu fais Entrée en fin de saisie et que ta cellule sélectionnée est en ligne 16 le code ne fonctionnera plus...
Ok?
0
emmjacq
 
Et oui... déjà de retour...

en fait pour essayer d'être clair... pas très simple...
Ma ligne de commande par exemple B15 à E15 soit elle est copièe en ligne Dn à Gn soit elle ne l'est pas et dans ma feuille commande je conserve cette ligne, je passe à une autre et cette nouvelle ligne B16 à E16 de nouveau question mise en ligne Dn à Gn...
Suis-je claire ou pas.
Au fait bonjour et merci pour hier.
@+
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
T'as essayé le nouveau code? Il ne transfère que la ligne "active"
0
emmjacq
 
Nouveau code testé.
Hélas rien n'est copié...
Pas de plantage mais rien ne se passe...
@++
0
emmjacq
 
Bonjour à Tous,

Encore moi et mes problèmes de boucles...
Bon j'ai testé et contrairement à ce que j'ai écris, ça fonctionne... ou presque...
Le problème est que je n'ai pas de cellule sélectionnée. En effet maligne de commande est tapée comme suit :

'Code Eone
eone = InputBox("Code commande Eone?", "Saisir le code Eone")
Range("a11").Value = eone

'référence
référence = InputBox("Référence fabricant?", "Saisir la référence à commander")
Range("b11").Value = référence

'designation
designation = InputBox("Désignation de l'article?", "Saisir la désignation")
Range("c11").Value = designation

'quantite
quantite = InputBox("Nombre de pièces?", "Quantité à commander")
Range("d11").Value = quantite

'puht
puht = InputBox("Prix unitaire HT?", "Prix unitaire")
Range("e11").Value = puht

Puis la userform pour mettre en stock ou pas...
Donc ma cellule n'est pas active...
Comment faire.
Merci à tous de votre aide.
@++
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Salut,
Dans ton exemple, il s'agit toujours de la ligne 11.
merci de nous donner toutes les infos d'un coup, ça évite de passer xx heures sur un souci...
0
emmjacq
 
Salut,
Non, je change de ligne si mon bon dez commande n'est pas terminé.
1ere ligne-> puis je pose la question autre ligne ou autre ligne et mise en stock ou fin.
Ce qui me manque c'est :"!!!! en fin de saisie de ta ligne, il faut que soit toujours sélectionnée une cellule de la même ligne"
Merci de votre aide.
@+
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Envoie nous ton fichier via https://www.cjoint.com/
Tu va sur ce site créer un lien vers ton fichier (sans données confidentielles) et reviens coller le lien dans une réponse ici.
0
emmjacq
 
Voilà le lien...
http://cjoint.com/?3IAmubBj1Xz
Clic sur "commande" dans onglet menu...
@++
0
emmjacq
 
Ok pour le lien???
Etant débutant dans cette démarche...
merci et @+
0