XL 2016 Transfert de lignes avec boutons de commande

Fat

XLDnaute Nouveau
Bonjour le Forum,

Je cherche à transférer avec un bouton vert des lignes contenant les données des produits à facturer au fur et à mesure de leur saisie , et ensuite transférer avec un bouton rouge l'ensemble des données de la facture vers une autre feuille (archivage).
Ci joint un fichier que j'espère assez explicite.

Merci pour votre assistance
Cordialement
Fat
 

Pièces jointes

  • Transfert lignes.xlsm
    49.2 KB · Affichages: 22

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Fat,
Quelques questions :
1- tout en gardant les formules contenues dans G9:Z9
Pourquoi transférer les formules. Il suffit de transférer les valeurs. Non ? Les formules n'apportent rien dans l'archivage.
2-(de A12 à Z999)
C'est à dire que votre tableau ira au delà de la ligne 20 comme dans votre fichier et qu'il faudra l'étendre ?
3-TableauREP, cellule A5,
C'est à dire qu'à chaque fois on efface les valeurs contenues dans Rep, ou on colle les valeurs après les valeurs déjà contenues ?
 

Fat

XLDnaute Nouveau
Bonjour Fat,
Quelques questions :

Pourquoi transférer les formules. Il suffit de transférer les valeurs. Non ? Les formules n'apportent rien dans l'archivage.

C'est à dire que votre tableau ira au delà de la ligne 20 comme dans votre fichier et qu'il faudra l'étendre ?

C'est à dire qu'à chaque fois on efface les valeurs contenues dans Rep, ou on colle les valeurs après les valeurs déjà contenues ?
Bonjour Sylvanu,
1 - Les formules ne sont gardées que dans la feuille SAI. Pour l'archivage, ce n'est pas nécessaire.
2 - Le tableau d'archivage n'a effectivement pas de limite. Il est fonction du nombre de factures saisies.
Le tableau de report en SAI n'est pas limité aussi et il est en fonction du nombre de produits saisis avant archivage.
3 - Pour l'archivage, on ne reprend pas à zéro. Il se fait à la suite l'un de l'autre, après repérage de la dernière ligne pleine. (A5 n'est valable que pour la 1ère fois)

Merci de vous intéresser à mon problème.
Cordialement
Fat
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
Un essai en PJ avec :
VB:
Private Sub CommandButton1_Click()
    Dim DL%
    If [I9] = "" Or [I10] = "" Then Exit Sub
    DL = 1 + Range("I100").End(xlUp).Row                ' 1ere lig vide de SAI_32
    Range("G" & DL & ":Z" & DL) = Range("G9:Z9").Value  ' Copier Coller Données
End Sub
Private Sub CommandButton2_Click()
    Dim DL%, NbLig%, DLrep%
    DL = Range("I100").End(xlUp).Row                    ' Dernière lig de SAI_32
    NbLig = DL - 12                                     ' Nombre de lig à tranferer
    With Sheets("REP")
        DLrep = 1 + .Range("I65000").End(xlUp).Row      '  1ere lig vide de REP
        .Range("A" & DLrep & ":Z" & DLrep + NbLig) = Range("A12:Z" & DL).Value  ' Copier Coller Données
        .Range("A" & DLrep & ":Z" & DLrep).Interior.Color = RGB(150, 255, 150)  ' Première ligne en couleur
        .Range("E" & DLrep).Font.Bold = True                                    ' Client en gras
    End With
    Sheets("SAI").Rows("13:100").ClearContents          ' Effacer tableau SAI
    Sheets("SAI").Range("G9,H9,I9,J9,K9,L9,O9,Q9,T9,W9,Z9").ClearContents ' Effacer ligne 9 cellules sans formules
    [A1].Select
End Sub
Par contre je n'efface pas toute la ligne 9. Uniquement les cellules n'ayant pas de formules.
 

Pièces jointes

  • Transfert lignes (2).xlsm
    67.8 KB · Affichages: 5
Dernière édition:

Fat

XLDnaute Nouveau
Re,
Un essai en PJ avec :
VB:
Private Sub CommandButton1_Click()
    Dim DL%
    If [I9] = "" Or [I10] = "" Then Exit Sub
    DL = 1 + Range("I100").End(xlUp).Row                ' 1ere lig vide de SAI_32
    Range("G" & DL & ":Z" & DL) = Range("G9:Z9").Value  ' Copier Coller Données
End Sub
Private Sub CommandButton2_Click()
    Dim DL%, NbLig%, DLrep%
    DL = Range("I100").End(xlUp).Row                    ' Dernière lig de SAI_32
    NbLig = DL - 12                                     ' Nombre de lig à tranferer
    With Sheets("REP")
        DLrep = 1 + .Range("I65000").End(xlUp).Row      '  1ere lig vide de REP
        .Range("A" & DLrep & ":Z" & DLrep + NbLig) = Range("A12:Z" & DL).Value  ' Copier Coller Données
        .Range("A" & DLrep & ":Z" & DLrep).Interior.Color = RGB(150, 255, 150)  ' Première ligne en couleur
        .Range("E" & DLrep).Font.Bold = True                                    ' Client en gras
    End With
    Sheets("SAI").Rows("13:100").ClearContents          ' Effacer tableau SAI
    Sheets("SAI").Range("G9,H9,I9,J9,K9,L9,O9,Q9,T9,W9,Z9").ClearContents ' Effacer ligne 9 cellules sans formules
    [A1].Select
End Sub
Par contre je n'efface pas toute la ligne 9. Uniquement les cellules n'ayant pas de formules.
Merci Sylvanu

Le bouton vert ne fonctionne pas et je n'arrive donc pas à déplacer le contenu de la ligne 9 vers la ligne 13.
Je dois procéder ensuite à la saisie du 2ème produit en ligne 9 pour le transférer en ligne 14 etc...
Une fois tous les produits de la facture n° 03-326 saisis et transférés dans le tableau rose de SAI, je valide avec le bouton rouge pour archiver les données de cette facture dans la feuille REP. Et là, le bouton rouge fonctionne et le transfert se fait bien (mais juste les lignes 9 et 12 !)
Donc, il nous reste à activer le bouton vert pour transférer d'abord les différents contenus de la ligne 9 plus bas, et une fois terminé, archiver en feuille REP avec le bouton rouge (ligne 12 et suivantes de la même facture)

Il y a lieu aussi de garder les formules dans la ligne 9 pour que les calculs se fassent automatiquement en fonction du Code et de la Quantité.

Merci encore pour votre assistance.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Oups!
J'ai mis la sécurité de vérifier si il y avait une désignation, juste avant de livrer ... et c'était bugguer.
( pour qu'un transfert ait lieu il faut qu'il y ait au moins N° Code et Désignation. )
La V3 marche. Sorry.
 

Pièces jointes

  • Transfert lignes (3).xlsm
    65 KB · Affichages: 7

Fat

XLDnaute Nouveau
C'est parfait Sylvanu,
Il reste juste un petit réglage : Effacer le contenu de la ligne 9 (en laissant les formules) après chaque validation avec le bouton vert OK. Comme ça, on peut continuer à saisir les autres produits.
Les cellules à effacer sont G9, H9, K9, O9 et T9 ; les autres ont des formules dans la version originale.
La validation avec le bouton rouge va archiver les données en REP et en même temps effacer le contenu du tableau rose en SAI (la ligne 9 ayant déjà été effacée après la saisie du dernier produit).
A+
 

Discussions similaires

Réponses
7
Affichages
688

Statistiques des forums

Discussions
315 127
Messages
2 116 538
Membres
112 774
dernier inscrit
Foudil59