Problème macro VBA

Résolu/Fermé
Soph - 6 avril 2010 à 12:08
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 7 avril 2010 à 08:57
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 lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 313
6 avril 2010 à 12:53
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 jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 757
Modifié par pijaku le 6/04/2010 à 13:07
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
Merci beaucoup. Ca marche super bien. C'est super :)
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 757
7 avril 2010 à 08:57
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

Discussions similaires