XL 2013 Utiliser feuil excel comme formulaire et copié les valeurs vers une autre

iliess

XLDnaute Junior
Bonjour
J’utilise feuil "caisse " comme un formulaire pour saisir des montants et après je les archiver dans un autre feuil " table " et je vide le formulaire
au début j'ai commencé par ce code
==================================================================
Sub TEST()
'les cellules de la colonne b
Sheets("table").Range("a1").End(xlDown).Offset(1, 0) = Sheets("caisse").Range("b1").Value
Sheets("table").Range("a1").End(xlDown).Offset(0, 1) = Sheets("caisse").Range("b2").Value
Sheets("table").Range("a1").End(xlDown).Offset(0, 2) = Sheets("caisse").Range("b4").Value
Sheets("table").Range("a1").End(xlDown).Offset(0, 3) = Sheets("caisse").Range("b5").Value
Sheets("table").Range("a1").End(xlDown).Offset(0, 4) = Sheets("caisse").Range("b7").Value
Sheets("table").Range("a1").End(xlDown).Offset(0, 5) = Sheets("caisse").Range("b8").Value
Sheets("table").Range("a1").End(xlDown).Offset(0, 6) = Sheets("caisse").Range("b11").Value
Sheets("table").Range("a1").End(xlDown).Offset(0, 7) = Sheets("caisse").Range("b12").Value
Sheets("table").Range("a1").End(xlDown).Offset(0, 8) = Sheets("caisse").Range("b13").Value
Sheets("table").Range("a1").End(xlDown).Offset(0, 9) = Sheets("caisse").Range("b14").Value
Sheets("table").Range("a1").End(xlDown).Offset(0, 10) = Sheets("caisse").Range("b16").Value
Sheets("table").Range("a1").End(xlDown).Offset(0, 11) = Sheets("caisse").Range("b21").Value
'les cellules de la colonne c
Sheets("table").Range("a1").End(xlDown).Offset(0, 12) = Sheets("caisse").Range("c5").Value
Sheets("table").Range("a1").End(xlDown).Offset(0, 13) = Sheets("caisse").Range("c9").Value
Sheets("table").Range("a1").End(xlDown).Offset(0, 14) = Sheets("caisse").Range("c11").Value
Sheets("table").Range("a1").End(xlDown).Offset(0, 15) = Sheets("caisse").Range("c12").Value
Sheets("table").Range("a1").End(xlDown).Offset(0, 16) = Sheets("caisse").Range("c13").Value
Sheets("table").Range("a1").End(xlDown).Offset(0, 18) = Sheets("caisse").Range("c16").Value
Sheets("table").Range("a1").End(xlDown).Offset(0, 19) = Sheets("caisse").Range("c21").Value
'les cellules de la colonne d
Sheets("table").Range("a1").End(xlDown).Offset(0, 20) = Sheets("caisse").Range("d4").Value
Sheets("table").Range("a1").End(xlDown).Offset(0, 21) = Sheets("caisse").Range("d11").Value
Sheets("table").Range("a1").End(xlDown).Offset(0, 22) = Sheets("caisse").Range("d15").Value
Sheets("table").Range("a1").End(xlDown).Offset(0, 23) = Sheets("caisse").Range("d18").Value
Sheets("table").Range("a1").End(xlDown).Offset(0, 24) = Sheets("caisse").Range("d19").Value
Sheets("table").Range("a1").End(xlDown).Offset(0, 25) = Sheets("caisse").Range("d20").Value
Sheets("table").Range("a1").End(xlDown).Offset(0, 26) = Sheets("caisse").Range("d21").Value

Sheets("caisse").Range("B2, b4:b10, b12:b20").ClearContents

End Sub

==========================================================================
mais j'ai trouvé deux problèmes
1- le code est très long et surtout si j'ajoute une deuxième ou troisième formulaire
2- les cellules "B11" "C11" "D11" contiennent une formule matricielle et le code ne copier pas leurres valeurs et voici la formule
===================================================================
{=INDEX(TABLE!G1:G39948;MAX((TABLE!B1:B39948=B2)*LIGNE(TABLE!G1:G39948)))}
===================================================================
Apres j'ai essayé cette méthode

j'ai affecte tous les valeurs dans une seul ligne c-a-d E1=B1 F1=B2 G1=B4 H1=B5 jusqu’à AD1=D21 et en suite copier tous la plage de E1:AD1 vers feuil Table
=====================================================================
Sub Macro2()
Range("E1:AD1").Copy
Sheets("TABLE").Range("a1").End(xlDown).Offset(1, 0).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Sheets("TABLE").Columns("A:A").NumberFormat = "m/d/yyyy"
Application.CutCopyMode = False
Sheets("caisse").Range("B2, b4:b10, b12:b20").ClearContents
End Sub

========================================================================
SVP aidez moi de trouvez un code pratique et rapide en excution parce que au fin d’année je me trouve avec une 10000 ligne dans la feuil TABLE
merci beaucoup
 

Bebere

XLDnaute Barbatruc
bonsoir Iliess bienvenue
pour pouvoir t'aider un fichier serait le bienvenu
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas