Problème macro VBA

Résolu
Soph -  
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Je suis entrain de faire un modèle de facture sur Excel et j'ai créer une macro qui permet de mettre la facture à zéro. j'aimerai également que cette macro permette la conservation d'un historique de facture. J'ai réussi pour l'instant mais le problème c'est que mon historique de facture est présenté sous forme de tableau et l'historique se colle toujours dans la première ligne.

Sous VBA, ma macro se présente comme cela :

ActiveWindow.SmallScroll Down:=18
Range("A50:K50").Select
Selection.Copy
Sheets("Historique de factures").Select
Range("A4").Select CETTE CELLULE DOIT SE MODIFIER A CHAQUE ENREGISTREMENT
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Facture automatisée").Select
Range("F53").Select
ActiveWindow.SmallScroll Down:=-15
Range("J9:K9").Select
Application.CutCopyMode = False
Selection.ClearContents
Range("A18:B29").Select
Selection.ClearContents
Range("E18:E29").Select
Selection.ClearContents
Range("F31").Select
Selection.ClearContents
Range("F33").Select
Selection.ClearContents
Range("J34").Select
Selection.ClearContents
ActiveWindow.SmallScroll Down:=6
Range("G37").Select
Selection.ClearContents
Range("C14").Select
Selection.ClearContents
ActiveWindow.SmallScroll Down:=-18
End Sub

Pourriez vous m'aider svp.
Merci d'avance
A voir également:

2 réponses

michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour Soph

macro légèrement simplifiée, essaies
au déclenchement de la macro tu dois être sur la feuille "facture automatisée"
Sub archiver()

With Sheets("Historique de factures")
ligvid = .Range("A65536").End(xlUp).Row + 1
.Range(Cells(ligvid, 1), Cells(ligvid, 11)).Value = Sheets("Facture automatisée").Range("A50:K50").Value
End With


plage = Union(Range("F53"), Range("J9:K9"), Range("A18:B29"), Range("E18:E29"), Range("F31"), _
                            Range("F33"), Range("J34"), Range("G37"), Range("C14")).ClearContents

End Sub
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Bonjour,
Voici ton code avec quelques modifications :
Range("A50:K50").Copy    
With Sheets("Historique de factures")  
.Range("A65536").End(xlUp).Offset(1, 0).Select    
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _    
:=False, Transpose:=False    
End With  
Range("J9:K9").ClearContents    
Range("A18:B29").ClearContents    
Range("E18:E29").ClearContents    
Range("F31").ClearContents    
Range("F33").ClearContents    
Range("J34").ClearContents    
Range("G37").ClearContents    
Range("C14").ClearContents    
End Sub 



EDIT : je n'ai pas vu la petite erreur avec le "select" du range("A65536"). Ce code fonctionne mieux :
Range("A50:K50").Copy 
With Sheets("Historique de factures") 
.Range("A65536").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 
:=False, Transpose:=False 
End With 
Range("J9:K9").ClearContents 
Range("A18:B29").ClearContents 
Range("E18:E29").ClearContents 
Range("F31").ClearContents 
Range("F33").ClearContents 
Range("J34").ClearContents 
Range("G37").ClearContents 
Range("C14").ClearContents


Cordialement,
-- Tout problème à sa solution. S'il n'y a pas de solution, ou est le problème? --
0
Soph
 
Merci beaucoup. Ca marche super bien. C'est super :)
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Salut,
As tu au moins essayé le code de michel_m ci dessus?
C'est important, lorsque l'on débute de voir, et de tester, toutes sortes de solution...
0