Copie et boucle
Résolu
emmjacq
-
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
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:
- Copie et boucle
- Copie cachée - Guide
- Super copie - Télécharger - Gestion de fichiers
- Copie écran samsung - Guide
- Copie disque dur - Guide
- Copie rapide - Télécharger - Gestion de fichiers
4 réponses
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 :
!!!! 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?
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?
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.
@+
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.
@+
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.
@++
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.
@++
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.
@+
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.
@+
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.
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.