Facturier

Y compris Power BI, Power Query et toute autre question en lien avec Excel
t
toto222
Nouveau venu
Nouveau venu
Messages : 4
Inscrit le : 5 août 2018
Version d'Excel : 2018

Message par toto222 » 21 août 2018, 18:35

Bonjour, j'essaye de créer un fichier facture
mon souci je ne trouve pas comment procéder pour copier les donnée de la feuille facture dans la feuille historique facture
j'aimerai que les données ce mette chaque fois en-dessous des dernière données voici le code mais je suis un amateur

Sub Copie()


If Range("C10").Range("C65536").End(xlUp).Offset(1, 0) Then
Range("B10:G40").Select
Selection.Copy
Sheets("Historique Facture").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Facture").Select
Range("J3").Select
Application.CutCopyMode = False
End If
End Sub

pourriez-vous m'aider svp
merci d'avance
T
Theze
Passionné d'Excel
Passionné d'Excel
Messages : 3'865
Appréciations reçues : 282
Inscrit le : 26 janvier 2011
Version d'Excel : 2007

Message par Theze » 22 août 2018, 08:42

Bonjour,

Une piste :
Sub Copie()
    
    Dim Plage As Range
    Dim Lig As Long
    
    Set Plage = Worksheets("Facture").Range("B10:G40")
    
    'colle les valeurs à partir de la colonne B ! Adapter si colonne A
    With Worksheets("Historique Facture")
    
        Lig = .Cells(.Rows.Count, 2).End(xlUp).Row
        .Range(.Cells(Lig + 1, 2), .Cells(Lig + Plage.Rows.Count, Plage.Columns.Count + 1)).Value = Plage.Value
        
    End With
    
End Sub
Il vaut mieux un qui sait que cent qui cherchent :wink:

Ce forum étant un lieu de partage, je n'accepte pas les messages privés !
t
toto222
Nouveau venu
Nouveau venu
Messages : 4
Inscrit le : 5 août 2018
Version d'Excel : 2018

Message par toto222 » 22 août 2018, 08:44

merci vous tiens au courant
voila la solution que l'on ma donnée

Sub Copie()
Application.ScreenUpdating = False
Set wf = WorksheetFunction
Set f = Sheets("Facture")
Set h = Sheets("Historique Facture")

nb_f = wf.CountA(f.Range("a:a")) - 2
nb_h = wf.CountA(h.Range("a:a"))

f.Range("B10:G" & 9 + nb_f).Copy
h.Range("c1").Offset(nb_h, 0).PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False

End Sub

s'avez-vous comment calculer les heures au delà de 24 heures svp
merci en tout cas de votre aide
T
Theze
Passionné d'Excel
Passionné d'Excel
Messages : 3'865
Appréciations reçues : 282
Inscrit le : 26 janvier 2011
Version d'Excel : 2007

Message par Theze » 22 août 2018, 11:09

Re,

Pour faire un calcul d'heures au delà de 24, il faut utiliser le format "[h]:mm:ss" soit avec Format--->Personalisée soit avec la fonction Texte() mais la fonction Texte() retourne une chaîne et non un nombre donc, Excel ne peut pas utiliser le résultat sans construire une formule scabreuse !
Admettons que tu souhaites ajouter 14:52:25 et 16:45:12 tu obtiendras 07:37:37 et bien tu fais Format ---> Personalisée et tu colles le format que je t'ai donné plus haut et la valeur va devenir 31:37:37
Il vaut mieux un qui sait que cent qui cherchent :wink:

Ce forum étant un lieu de partage, je n'accepte pas les messages privés !
s
sylberlyon
Jeune membre
Jeune membre
Messages : 42
Inscrit le : 28 avril 2018
Version d'Excel : 2010 FR

Message par sylberlyon » 22 août 2018, 12:43

Bonjour
En temps que débutant, j'ai été confronté à la même problematique.
J'avais trouvé ce code dans mes recherches qui fonctionne
Il permet archiver dans une feuille "Historique facture" des éléments de la facture.
De plus, il efface toutes les données de la facture et incrémente le numéro de facture de +1
Pour cela, dans l'historique, écris dans la ligne 1 de ton tableau , un numéro de facture (nombre) et lorsque tu archiveras ta 1ère facture, il incrémentera
Cordialement

Sub Archiver()
ligne = Sheets("Historique_facture").Range("A4").End(xlDown).Row + 1
'copier-coller les cellules indiquées de la feuille Facture sur la feuille Historique facture
Sheets("Historique_facture").Range("A" & ligne).Value = Sheets("Facture").Range("J10").Value
Sheets("Historique_facture").Range("B" & ligne).Value = Sheets("Facture").Range("e10").Value
Sheets("Historique_facture").Range("C" & ligne).Value = Sheets("Facture").Range("f13").Value
Sheets("Historique_facture").Range("D" & ligne).Value = Sheets("Facture").Range("f14").Value
Sheets("Historique_facture").Range("E" & ligne).Value = Sheets("Facture").Range("k35").Value
Sheets("Historique_facture").Range("F" & ligne).Value = Sheets("Facture").Range("k36").Value
Sheets("Historique_facture").Range("G" & ligne).Value = Sheets("Facture").Range("k37").Value
Sheets("Historique_facture").Range("H" & ligne).Value = Sheets("Facture").Range("k38").Value

'efface les données des cellules indiquées de la feuille Facture
Sheets("Facture").Range("b24:i33").ClearContents 'désignation-unité-qté-puht-remise
Sheets("Facture").Range("k24:k33").ClearContents 'taux TVA
Sheets("Facture").Range("f13:k13").ClearContents 'nom client
Sheets("Facture").Range("d19:l19").ClearContents 'prestation
Sheets("Facture").Range("d21:l21").ClearContents 'nature
Sheets("Facture").Range("d35:e35").ClearContents 'travaux réalisés
Sheets("Facture").Range("d36:e36").ClearContents 'transport Aller
Sheets("Facture").Range("d37:e37").ClearContents 'transport Retour
Sheets("Facture").Range("b46:l49").ClearContents 'observations
Sheets("Facture").Range("k40:l40").ClearContents 'acompte à la commande
Sheets("Facture").Range("e42:g42").ClearContents 'conditions de reglement
Sheets("Facture").Range("e43:g43").ClearContents 'echéance de paiement
Sheets("Facture").Range("k37:l37").ClearContents 'frais de port
Sheets("Facture").Range("h6:h7").ClearContents 'numéro devis
Sheets("Facture").Range("c13:d13").ClearContents 'votre commande
Sheets("Facture").Range("c14:d14").ClearContents ' du

'incrémente de +1 le numéro de facture
Sheets("Facture").Range("j10").Value = Sheets("Facture").Range("j10").Value + 1
t
toto222
Nouveau venu
Nouveau venu
Messages : 4
Inscrit le : 5 août 2018
Version d'Excel : 2018

Message par toto222 » 22 août 2018, 16:17

Un tout grand merci je test cela cesoir
t
toto222
Nouveau venu
Nouveau venu
Messages : 4
Inscrit le : 5 août 2018
Version d'Excel : 2018

Message par toto222 » 22 août 2018, 17:11

Merci pour les calcules des heures cela était tout simple mais j'ai décrocher depuis 8 ans "pensionner"
et dur dur de revenir dedans je fais cela pour un jeune qui ce lance et lui demande bonbon alors que moi c'est gratuit
encore merci
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message