Ecrire la macro réalisée avec l'enregistreur de macro sous Excel en VB correct

mimi3581 Messages postés 3 Date d'inscription mercredi 8 septembre 2010 Statut Membre Dernière intervention 9 septembre 2010 - 8 sept. 2010 à 16:01
mimi3581 Messages postés 3 Date d'inscription mercredi 8 septembre 2010 Statut Membre Dernière intervention 9 septembre 2010 - 9 sept. 2010 à 13:19
Bonjour,
Débutante en VB
J'ai une table excel sur laquelle je réalise plusieurs actions pour avoir seulement les informations qui m'intéressent.
J'ai utilisé l'enregistreur de macros pour pouvoir lancer la macro plus tard.
Bien que très pratique, l'enregistrement automatique d'Excel tend à créer un code de mauvaise qualité. Donc j'aimerai transformer ce code en VB correct.
J'insère un extrait du code enregistrer:

"
Sub tout()
Rows("1:5").Select 'Suppression des 5 premières lignes
Selection.Delete Shift:=xlUp
Range("J:J,K:K,L:L,M:M").Select
'Suppression des champs inutiles
Range("M1").Activate
ActiveWindow.SmallScroll ToRight:=6
Range("J:J,K:K,L:L,M:M,N:N,O:O,P:P,Q:Q,R:R,S:S,T:T").Select
Range("T1").Activate
ActiveWindow.SmallScroll ToRight:=10
Range( _
"J:J,K:K,L:L,M:M,N:N,O:O,P:P,Q:Q,R:R,S:S,T:T,U:U,V:V,W:W,X:X,Y:Y,AA:AA,AB:AB,AC:AC,AD:AD,AE:AE" _
).Select
Range("AE1").Activate
ActiveWindow.SmallScroll ToRight:=10
Range( _
"J:J,K:K,L:L,M:M,N:N,O:O,P:P,Q:Q,R:R,S:S,T:T,U:U,V:V,W:W,X:X,Y:Y,AA:AA,AB:AB,AC:AC,AD:AD,AE:AE,AF:AF,AG:AG,AH:AH,AI:AI,AK:AK,AL:AL,AM:AM,AN:AN,AO:AO,AP:AP,AQ:AQ" _
).Select
Range("AQ1").Activate
ActiveWindow.SmallScroll ToRight:=11
Union(Range( _
"AR:AR,AS:AS,AT:AT,AU:AU,AV:AV,AW:AW,AX:AX,J:J,K:K,L:L,M:M,N:N,O:O,P:P,Q:Q,R:R,S:S,T:T,U:U,V:V,W:W,X:X,Y:Y,AA:AA,AB:AB,AC:AC,AD:AD,AE:AE,AF:AF,AG:AG,AH:AH,AI:AI" _
), Range("AK:AK,AL:AL,AM:AM,AN:AN,AO:AO,AP:AP,AQ:AQ")).Select
Range("AX1").Activate
ActiveWindow.SmallScroll ToRight:=11
Union(Range( _
"AR:AR,AS:AS,AT:AT,AU:AU,AV:AV,AW:AW,AX:AX,AY:AY,AZ:AZ,BA:BA,BB:BB,BC:BC,BD:BD,J:J,K:K,L:L,M:M,N:N,O:O,P:P,Q:Q,R:R,S:S,T:T,U:U,V:V,W:W,X:X,Y:Y,AA:AA,AB:AB,AC:AC" _
), Range( _
"AD:AD,AE:AE,AF:AF,AG:AG,AH:AH,AI:AI,AK:AK,AL:AL,AM:AM,AN:AN,AO:AO,AP:AP,AQ:AQ" _
)).Select
Range("BD1").Activate
ActiveWindow.SmallScroll ToRight:=7
Union(Range( _
"AR:AR,AS:AS,AT:AT,AU:AU,AV:AV,AW:AW,AX:AX,AY:AY,AZ:AZ,BA:BA,BB:BB,BC:BC,BD:BD,BN:BN,BO:BO,J:J,K:K,L:L,M:M,N:N,O:O,P:P,Q:Q,R:R,S:S,T:T,U:U,V:V,W:W,X:X,Y:Y,AA:AA" _
), Range( _
"AB:AB,AC:AC,AD:AD,AE:AE,AF:AF,AG:AG,AH:AH,AI:AI,AK:AK,AL:AL,AM:AM,AN:AN,AO:AO,AP:AP,AQ:AQ" _
)).Select
Range("BO1").Activate
ActiveWindow.SmallScroll ToRight:=10
Union(Range( _
"AR:AR,AS:AS,AT:AT,AU:AU,AV:AV,AW:AW,AX:AX,AY:AY,AZ:AZ,BA:BA,BB:BB,BC:BC,BD:BD,BN:BN,BO:BO,BY:BY,J:J,K:K,L:L,M:M,N:N,O:O,P:P,Q:Q,R:R,S:S,T:T,U:U,V:V,W:W,X:X,Y:Y" _
), Range( _
"AA:AA,AB:AB,AC:AC,AD:AD,AE:AE,AF:AF,AG:AG,AH:AH,AI:AI,AK:AK,AL:AL,AM:AM,AN:AN,AO:AO,AP:AP,AQ:AQ" _
)).Select
Range("BY1").Activate
ActiveWindow.SmallScroll ToRight:=7
Union(Range( _
"AR:AR,AS:AS,AT:AT,AU:AU,AV:AV,AW:AW,AX:AX,AY:AY,AZ:AZ,BA:BA,BB:BB,BC:BC,BD:BD,BN:BN,BO:BO,BY:BY,BZ:BZ,CA:CA,CB:CB,CC:CC,CD:CD,J:J,K:K,L:L,M:M,N:N,O:O,P:P,Q:Q,R:R,S:S,T:T" _
), Range( _
"U:U,V:V,W:W,X:X,Y:Y,AA:AA,AB:AB,AC:AC,AD:AD,AE:AE,AF:AF,AG:AG,AH:AH,AI:AI,AK:AK,AL:AL,AM:AM,AN:AN,AO:AO,AP:AP,AQ:AQ" _
)).Select
Range("CD1").Activate
ActiveWindow.SmallScroll ToRight:=9
Union(Range( _
"AR:AR,AS:AS,AT:AT,AU:AU,AV:AV,AW:AW,AX:AX,AY:AY,AZ:AZ,BA:BA,BB:BB,BC:BC,BD:BD,BN:BN,BO:BO,BY:BY,BZ:BZ,CA:CA,CB:CB,CC:CC,CD:CD,CE:CE,CF:CF,CG:CG,CH:CH,CI:CI,CJ:CJ,J:J,K:K,L:L,M:M,N:N" _
), Range( _
"O:O,P:P,Q:Q,R:R,S:S,T:T,U:U,V:V,W:W,X:X,Y:Y,AA:AA,AB:AB,AC:AC,AD:AD,AE:AE,AF:AF,AG:AG,AH:AH,AI:AI,AK:AK,AL:AL,AM:AM,AN:AN,AO:AO,AP:AP,AQ:AQ" _
)).Select
Range("CJ1").Activate
ActiveWindow.SmallScroll ToRight:=5
Union(Range( _
"AR:AR,AS:AS,AT:AT,AU:AU,AV:AV,AW:AW,AX:AX,AY:AY,AZ:AZ,BA:BA,BB:BB,BC:BC,BD:BD,BN:BN,BO:BO,BY:BY,BZ:BZ,CA:CA,CB:CB,CC:CC,CD:CD,CE:CE,CF:CF,CG:CG,CH:CH,CI:CI,CJ:CJ,CK:CK,CL:CL,CM:CM,CN:CN,CO:CO" _
), Range( _
"J:J,K:K,L:L,M:M,N:N,O:O,P:P,Q:Q,R:R,S:S,T:T,U:U,V:V,W:W,X:X,Y:Y,AA:AA,AB:AB,AC:AC,AD:AD,AE:AE,AF:AF,AG:AG,AH:AH,AI:AI,AK:AK,AL:AL,AM:AM,AN:AN,AO:AO,AP:AP,AQ:AQ" _
)).Select
Range("CO1").Activate
ActiveWindow.SmallScroll ToRight:=6
Union(Range( _
"AR:AR,AS:AS,AT:AT,AU:AU,AV:AV,AW:AW,AX:AX,AY:AY,AZ:AZ,BA:BA,BB:BB,BC:BC,BD:BD,BN:BN,BO:BO,BY:BY,BZ:BZ,CA:CA,CB:CB,CC:CC,CD:CD,CE:CE,CF:CF,CG:CG,CH:CH,CI:CI,CJ:CJ,CK:CK,CL:CL,CM:CM,CN:CN,CO:CO" _
), Range( _
"CP:CP,CQ:CQ,CR:CR,CS:CS,CT:CT,CU:CU,CV:CV,J:J,K:K,L:L,M:M,N:N,O:O,P:P,Q:Q,R:R,S:S,T:T,U:U,V:V,W:W,X:X,Y:Y,AA:AA,AB:AB,AC:AC,AD:AD,AE:AE,AF:AF,AG:AG,AH:AH,AI:AI" _
), Range("AK:AK,AL:AL,AM:AM,AN:AN,AO:AO,AP:AP,AQ:AQ")).Select
Range("CV1").Activate
ActiveWindow.SmallScroll ToRight:=6
Union(Range( _
"AR:AR,AS:AS,AT:AT,AU:AU,AV:AV,AW:AW,AX:AX,AY:AY,AZ:AZ,BA:BA,BB:BB,BC:BC,BD:BD,BN:BN,BO:BO,BY:BY,BZ:BZ,CA:CA,CB:CB,CC:CC,CD:CD,CE:CE,CF:CF,CG:CG,CH:CH,CI:CI,CJ:CJ,CK:CK,CL:CL,CM:CM,CN:CN,CO:CO" _
), Range( _
"CP:CP,CQ:CQ,CR:CR,CS:CS,CT:CT,CU:CU,CV:CV,CW:CW,CX:CX,CY:CY,CZ:CZ,DA:DA,DB:DB,J:J,K:K,L:L,M:M,N:N,O:O,P:P,Q:Q,R:R,S:S,T:T,U:U,V:V,W:W,X:X,Y:Y,AA:AA,AB:AB,AC:AC" _
), Range( _
"AD:AD,AE:AE,AF:AF,AG:AG,AH:AH,AI:AI,AK:AK,AL:AL,AM:AM,AN:AN,AO:AO,AP:AP,AQ:AQ" _
)).Select
Range("DB1").Activate
ActiveWindow.SmallScroll ToRight:=7
Union(Range( _
"AR:AR,AS:AS,AT:AT,AU:AU,AV:AV,AW:AW,AX:AX,AY:AY,AZ:AZ,BA:BA,BB:BB,BC:BC,BD:BD,BN:BN,BO:BO,BY:BY,BZ:BZ,CA:CA,CB:CB,CC:CC,CD:CD,CE:CE,CF:CF,CG:CG,CH:CH,CI:CI,CJ:CJ,CK:CK,CL:CL,CM:CM,CN:CN,CO:CO" _
), Range( _
"CP:CP,CQ:CQ,CR:CR,CS:CS,CT:CT,CU:CU,CV:CV,CW:CW,CX:CX,CY:CY,CZ:CZ,DA:DA,DB:DB,DC:DC,DD:DD,DE:DE,DF:DF,DG:DG,DH:DH,DI:DI,J:J,K:K,L:L,M:M,N:N,O:O,P:P,Q:Q,R:R,S:S,T:T,U:U" _
), Range( _
"V:V,W:W,X:X,Y:Y,AA:AA,AB:AB,AC:AC,AD:AD,AE:AE,AF:AF,AG:AG,AH:AH,AI:AI,AK:AK,AL:AL,AM:AM,AN:AN,AO:AO,AP:AP,AQ:AQ" _
)).Select
Range("DI1").Activate
ActiveWindow.SmallScroll ToRight:=7
Union(Range( _
"AR:AR,AS:AS,AT:AT,AU:AU,AV:AV,AW:AW,AX:AX,AY:AY,AZ:AZ,BA:BA,BB:BB,BC:BC,BD:BD,BN:BN,BO:BO,BY:BY,BZ:BZ,CA:CA,CB:CB,CC:CC,CD:CD,CE:CE,CF:CF,CG:CG,CH:CH,CI:CI,CJ:CJ,CK:CK,CL:CL,CM:CM,CN:CN,CO:CO" _
), Range( _
"CP:CP,CQ:CQ,CR:CR,CS:CS,CT:CT,CU:CU,CV:CV,CW:CW,CX:CX,CY:CY,CZ:CZ,DA:DA,DB:DB,DC:DC,DD:DD,DE:DE,DF:DF,DG:DG,DH:DH,DI:DI,DJ:DJ,DK:DK,DL:DL,DM:DM,DN:DN,DO:DO,DP:DP,DQ:DQ,J:J,K:K,L:L,M:M" _
), Range( _
"N:N,O:O,P:P,Q:Q,R:R,S:S,T:T,U:U,V:V,W:W,X:X,Y:Y,AA:AA,AB:AB,AC:AC,AD:AD,AE:AE,AF:AF,AG:AG,AH:AH,AI:AI,AK:AK,AL:AL,AM:AM,AN:AN,AO:AO,AP:AP,AQ:AQ" _
)).Select
Range("DQ1").Activate
ActiveWindow.SmallScroll ToRight:=8
Union(Range( _
"AR:AR,AS:AS,AT:AT,AU:AU,AV:AV,AW:AW,AX:AX,AY:AY,AZ:AZ,BA:BA,BB:BB,BC:BC,BD:BD,BN:BN,BO:BO,BY:BY,BZ:BZ,CA:CA,CB:CB,CC:CC,CD:CD,CE:CE,CF:CF,CG:CG,CH:CH,CI:CI,CJ:CJ,CK:CK,CL:CL,CM:CM,CN:CN,CO:CO" _
), Range( _
"CP:CP,CQ:CQ,CR:CR,CS:CS,CT:CT,CU:CU,CV:CV,CW:CW,CX:CX,CY:CY,CZ:CZ,DA:DA,DB:DB,DC:DC,DD:DD,DE:DE,DF:DF,DG:DG,DH:DH,DI:DI,DJ:DJ,DK:DK,DL:DL,DM:DM,DN:DN,DO:DO,DP:DP,DQ:DQ,DR:DR,DS:DS,DT:DT,DU:DU" _
), Range( _
"DV:DV,DW:DW,DX:DX,DY:DY,J:J,K:K,L:L,M:M,N:N,O:O,P:P,Q:Q,R:R,S:S,T:T,U:U,V:V,W:W,X:X,Y:Y,AA:AA,AB:AB,AC:AC,AD:AD,AE:AE,AF:AF,AG:AG,AH:AH,AI:AI,AK:AK,AL:AL,AM:AM" _
), Range("AN:AN,AO:AO,AP:AP,AQ:AQ")).Select
Range("DY1").Activate
ActiveWindow.SmallScroll ToRight:=8
Union(Range( _
"AR:AR,AS:AS,AT:AT,AU:AU,AV:AV,AW:AW,AX:AX,AY:AY,AZ:AZ,BA:BA,BB:BB,BC:BC,BD:BD,BN:BN,BO:BO,BY:BY,BZ:BZ,CA:CA,CB:CB,CC:CC,CD:CD,CE:CE,CF:CF,CG:CG,CH:CH,CI:CI,CJ:CJ,CK:CK,CL:CL,CM:CM,CN:CN,CO:CO" _
), Range( _
"CP:CP,CQ:CQ,CR:CR,CS:CS,CT:CT,CU:CU,CV:CV,CW:CW,CX:CX,CY:CY,CZ:CZ,DA:DA,DB:DB,DC:DC,DD:DD,DE:DE,DF:DF,DG:DG,DH:DH,DI:DI,DJ:DJ,DK:DK,DL:DL,DM:DM,DN:DN,DO:DO,DP:DP,DQ:DQ,DR:DR,DS:DS,DT:DT,DU:DU" _
), Range( _
"DV:DV,DW:DW,DX:DX,DY:DY,DZ:DZ,EA:EA,EB:EB,EC:EC,ED:ED,EE:EE,EF:EF,EG:EG,J:J,K:K,L:L,M:M,N:N,O:O,P:P,Q:Q,R:R,S:S,T:T,U:U,V:V,W:W,X:X,Y:Y,AA:AA,AB:AB,AC:AC,AD:AD" _
), Range( _
"AE:AE,AF:AF,AG:AG,AH:AH,AI:AI,AK:AK,AL:AL,AM:AM,AN:AN,AO:AO,AP:AP,AQ:AQ")). _
Select
Range("EG1").Activate
ActiveWindow.SmallScroll ToRight:=8
Union(Range( _
"AR:AR,AS:AS,AT:AT,AU:AU,AV:AV,AW:AW,AX:AX,AY:AY,AZ:AZ,BA:BA,BB:BB,BC:BC,BD:BD,BN:BN,BO:BO,BY:BY,BZ:BZ,CA:CA,CB:CB,CC:CC,CD:CD,CE:CE,CF:CF,CG:CG,CH:CH,CI:CI,CJ:CJ,CK:CK,CL:CL,CM:CM,CN:CN,CO:CO" _
), Range( _
"CP:CP,CQ:CQ,CR:CR,CS:CS,CT:CT,CU:CU,CV:CV,CW:CW,CX:CX,CY:CY,CZ:CZ,DA:DA,DB:DB,DC:DC,DD:DD,DE:DE,DF:DF,DG:DG,DH:DH,DI:DI,DJ:DJ,DK:DK,DL:DL,DM:DM,DN:DN,DO:DO,DP:DP,DQ:DQ,DR:DR,DS:DS,DT:DT,DU:DU" _
), Range( _
"DV:DV,DW:DW,DX:DX,DY:DY,DZ:DZ,EA:EA,EB:EB,EC:EC,ED:ED,EE:EE,EF:EF,EG:EG,EH:EH,EI:EI,EJ:EJ,EK:EK,EL:EL,EM:EM,EN:EN,J:J,K:K,L:L,M:M,N:N,O:O,P:P,Q:Q,R:R,S:S,T:T,U:U,V:V" _
), Range( _
"W:W,X:X,Y:Y,AA:AA,AB:AB,AC:AC,AD:AD,AE:AE,AF:AF,AG:AG,AH:AH,AI:AI,AK:AK,AL:AL,AM:AM,AN:AN,AO:AO,AP:AP,AQ:AQ" _
)).Select
Range("EN1").Activate
ActiveWindow.SmallScroll ToRight:=7
Union(Range( _
"AR:AR,AS:AS,AT:AT,AU:AU,AV:AV,AW:AW,AX:AX,AY:AY,AZ:AZ,BA:BA,BB:BB,BC:BC,BD:BD,BN:BN,BO:BO,BY:BY,BZ:BZ,CA:CA,CB:CB,CC:CC,CD:CD,CE:CE,CF:CF,CG:CG,CH:CH,CI:CI,CJ:CJ,CK:CK,CL:CL,CM:CM,CN:CN,CO:CO" _
), Range( _
"CP:CP,CQ:CQ,CR:CR,CS:CS,CT:CT,CU:CU,CV:CV,CW:CW,CX:CX,CY:CY,CZ:CZ,DA:DA,DB:DB,DC:DC,DD:DD,DE:DE,DF:DF,DG:DG,DH:DH,DI:DI,DJ:DJ,DK:DK,DL:DL,DM:DM,DN:DN,DO:DO,DP:DP,DQ:DQ,DR:DR,DS:DS,DT:DT,DU:DU" _
), Range( _
"DV:DV,DW:DW,DX:DX,DY:DY,DZ:DZ,EA:EA,EB:EB,EC:EC,ED:ED,EE:EE,EF:EF,EG:EG,EH:EH,EI:EI,EJ:EJ,EK:EK,EL:EL,EM:EM,EN:EN,EO:EO,EP:EP,EQ:EQ,ER:ER,ES:ES,ET:ET,EU:EU,J:J,K:K,L:L,M:M,N:N,O:O" _
), Range( _
"P:P,Q:Q,R:R,S:S,T:T,U:U,V:V,W:W,X:X,Y:Y,AA:AA,AB:AB,AC:AC,AD:AD,AE:AE,AF:AF,AG:AG,AH:AH,AI:AI,AK:AK,AL:AL,AM:AM,AN:AN,AO:AO,AP:AP,AQ:AQ" _
)).Select
Range("EU1").Activate
ActiveWindow.SmallScroll ToRight:=6
Union(Range( _
"AR:AR,AS:AS,AT:AT,AU:AU,AV:AV,AW:AW,AX:AX,AY:AY,AZ:AZ,BA:BA,BB:BB,BC:BC,BD:BD,BN:BN,BO:BO,BY:BY,BZ:BZ,CA:CA,CB:CB,CC:CC,CD:CD,CE:CE,CF:CF,CG:CG,CH:CH,CI:CI,CJ:CJ,CK:CK,CL:CL,CM:CM,CN:CN,CO:CO" _
), Range( _
"CP:CP,CQ:CQ,CR:CR,CS:CS,CT:CT,CU:CU,CV:CV,CW:CW,CX:CX,CY:CY,CZ:CZ,DA:DA,DB:DB,DC:DC,DD:DD,DE:DE,DF:DF,DG:DG,DH:DH,DI:DI,DJ:DJ,DK:DK,DL:DL,DM:DM,DN:DN,DO:DO,DP:DP,DQ:DQ,DR:DR,DS:DS,DT:DT,DU:DU" _
), Range( _
"DV:DV,DW:DW,DX:DX,DY:DY,DZ:DZ,EA:EA,EB:EB,EC:EC,ED:ED,EE:EE,EF:EF,EG:EG,EH:EH,EI:EI,EJ:EJ,EK:EK,EL:EL,EM:EM,EN:EN,EO:EO,EP:EP,EQ:EQ,ER:ER,ES:ES,ET:ET,EU:EU,EV:EV,EW:EW,EX:EX,EY:EY,EZ:EZ,FA:FA" _
), Range( _
"J:J,K:K,L:L,M:M,N:N,O:O,P:P,Q:Q,R:R,S:S,T:T,U:U,V:V,W:W,X:X,Y:Y,AA:AA,AB:AB,AC:AC,AD:AD,AE:AE,AF:AF,AG:AG,AH:AH,AI:AI,AK:AK,AL:AL,AM:AM,AN:AN,AO:AO,AP:AP,AQ:AQ" _
)).Select
Range("FA1").Activate
ActiveWindow.SmallScroll ToRight:=6
Union(Range( _
"AR:AR,AS:AS,AT:AT,AU:AU,AV:AV,AW:AW,AX:AX,AY:AY,AZ:AZ,BA:BA,BB:BB,BC:BC,BD:BD,BN:BN,BO:BO,BY:BY,BZ:BZ,CA:CA,CB:CB,CC:CC,CD:CD,CE:CE,CF:CF,CG:CG,CH:CH,CI:CI,CJ:CJ,CK:CK,CL:CL,CM:CM,CN:CN,CO:CO" _
), Range( _
"CP:CP,CQ:CQ,CR:CR,CS:CS,CT:CT,CU:CU,CV:CV,CW:CW,CX:CX,CY:CY,CZ:CZ,DA:DA,DB:DB,DC:DC,DD:DD,DE:DE,DF:DF,DG:DG,DH:DH,DI:DI,DJ:DJ,DK:DK,DL:DL,DM:DM,DN:DN,DO:DO,DP:DP,DQ:DQ,DR:DR,DS:DS,DT:DT,DU:DU" _
), Range( _
"DV:DV,DW:DW,DX:DX,DY:DY,DZ:DZ,EA:EA,EB:EB,EC:EC,ED:ED,EE:EE,EF:EF,EG:EG,EH:EH,EI:EI,EJ:EJ,EK:EK,EL:EL,EM:EM,EN:EN,EO:EO,EP:EP,EQ:EQ,ER:ER,ES:ES,ET:ET,EU:EU,EV:EV,EW:EW,EX:EX,EY:EY,EZ:EZ,FA:FA" _
), Range( _
"FB:FB,FC:FC,FD:FD,FE:FE,J:J,K:K,L:L,M:M,N:N,O:O,P:P,Q:Q,R:R,S:S,T:T,U:U,V:V,W:W,X:X,Y:Y,AA:AA,AB:AB,AC:AC,AD:AD,AE:AE,AF:AF,AG:AG,AH:AH,AI:AI,AK:AK,AL:AL,AM:AM" _
), Range("AN:AN,AO:AO,AP:AP,AQ:AQ")).Select
Range("FE1").Activate
Selection.Delete Shift:=xlToLeft
ActiveWindow.ScrollColumn = 2
Columns("L:L").Select ? insérer un nouveau champ ?SOLDE_N? et faire le calcul
Selection.Insert Shift:=xlToRight
Range("L1").Select
ActiveCell.FormulaR1C1 = "SOLDE_N"
Range("L2").Select
ActiveCell.FormulaR1C1 = "=RC[-2]-RC[-1]"
Range("L2").Select
Selection.AutoFill Destination:=Range("L2:L36682"), Type:=xlFillDefault
Range("L2:L36682").Select ? copier/coller les chiffres en valeurs et non formule
Selection.Copy
ActiveWindow.ScrollRow = 2
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("M2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "424"
Columns("H:H").Select
Selection.Insert Shift:=xlToRight
"
Est-ce que quelqu'un peut m'aider, me donner des pistes?

4 réponses

lolokun Messages postés 1241 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 27 août 2013 7
8 sept. 2010 à 16:11
Bonjour,

plutôt que de donner un bout de code sans queue ni tête pour nous, sans colorisation syntaxiques ( je te rappelle que nous ne sommes pas sur ton projet et donc que nous ne savons pas ce que tu cherches à réaliser, on va pas s'amuser à essayer de deviner juste avec le code fourni), expliques en français ce que tu cherches à réaliser.

cela te permettra d'avoir une aide plus efficace et plus rapidement.

PS : gafee à la catégorie, vb6 est différent de vba excel

L'expérience, c'est une connerie par jour, mais jamais la même..
0
mimi3581 Messages postés 3 Date d'inscription mercredi 8 septembre 2010 Statut Membre Dernière intervention 9 septembre 2010
8 sept. 2010 à 16:36
Je te remercie pour t'intéresser à mon problème si rapidement. Désolé pour le 1er post.
alors en fait, j'ai une table excel que j'ai téléchargé sur internet (table sur le recensement de la population). Dans cette table, il y a beaucoup de colonnes qui sont inutiles pour mon étude, des calculs doivent être opérés...
Les différentes actions à traiter sur cette table sont les suivantes:
- supprimer les cinq premières lignes de commentaires

- enregistrer la table sous le nom « TEST »

- supprimer les colonnes inutiles suivantes : :J,K,L,M,N,O,P,T,U,V,X,Y,AA,AB,AC,AD,AE,AF,AG, AH, AI, AK, AL, AM, AN, AS,AT,AU,AV,AW,AX,AY,AZ,BA,BB,BC,BD,CP,CQ,CR,CS,CT,CU,CV,CW,CX,CY,DW,DX,DY,DZ,EA,EB,EC,ED,EE,EF,EG,EH,EI,EJ,EK,EL,EM,EN

-Une fois que la suppression de tous ces champs a eu lieu, il ne reste seulement les champs primordiaux à l'étude

-Insérer dix nouvelles colonnes intitulées : SOLDE_N, H60_PLUS, F60_PLUS, TAUX_0014, TAUX_1529, TAUX_3044, TAUX_4559, TAUX_60_PLUS, RAPPORT_2060, SOLDE_ES

-Dans ces nouveaux champs, les calculs peuvent être effectués :
SOLDE_N = NAIS - DECE
H60_PLUS = H6074 + H7589 + PH90P
F60_PLUS = F6074 + F7589 + F90P
TAUX_0014 = ((H0014 + F0014)/ POP)*100
TAUX_1529 = ((H1529 + F1529)/ POP)*100
TAUX_3044 = ((H3044 + F3044)/ POP)*100
TAUX_4559 = ((H4559 + F4559)/ POP)*100
TAUX_60_PLUS = ((H60_PLUS + F60_PLUS)/ POP)*100
RAPPORT_2060 = ((H0019 + F0019)/(H60_PLUS + F60_PLUS))*100
SOLDE_ES = (POP - POP) - (SOLDE_N)

-Afin de ne pas perdre les valeurs calculées, il est nécessaire de copier ces champs et les coller en collage spécial (« valeur » et non « formule »)

-Supprimer les champs qui ont servi aux calculs du nombre de personnes ayant plus de 60 ans : « F6074 », « F7589 », « F90P », « H6074 », « H7589 », « H90P »

-rajouter un champ « ANNEE »

-Enregistrer la table en .xsl et en .txt

J'espère que c'est plus compréhensible et que vous pourrez m'aider. N'hésitez à me demander d'autres informations.
Merci
0
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
8 sept. 2010 à 18:31
Salut,

en version reduite:

Sub tout()
    
    With ActiveSheet 'pour n'appliquer ce qui suit qu'a la feuille active
        'Attention le point en debut de ligne est obligatoire ! il permet de lier la
        'ligne de code au with
        .Rows("1:5").Delete Shift:=xlUp 'Suppression des 5 premières lignes
        'Suppression des champs inutiles
        .Range("J1:Y1,AA1:AI1,AK1:BD1,BN1:BO1,BY1:FE1").EntireColumn.Delete Shift:=xlToLeft
        'insérer un nouveau champ "SOLDE_N" et faire le calcul 
        .Columns("L").Insert Shift:=xlToRight
        .Range("L1").Value = "SOLDE_N"
        .Range("L2").Formula = "=J2-K2"
        .Range("L2").AutoFill Destination:=Range("L2:L36682"), Type:=xlFillDefault
        .Range("L2:L36682").Copy '? copier/coller les chiffres en valeurs et non formule
        .Range("L2:L36682").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
            False, Transpose:=False
        .Range("M2").Value = 424
        .Columns("H").Insert Shift:=xlToRight
    End With
End Sub


note que le "select" et autre "activate", sauf exception, ne servent à rien. Ils sont source d'erreur de lenteur et d’épilepsie

Par exemple:

Range("A1").Select
Selection.Copy


peut être ecrit directement comme ceci:

Range("A1").Copy


A+
0
mimi3581 Messages postés 3 Date d'inscription mercredi 8 septembre 2010 Statut Membre Dernière intervention 9 septembre 2010
9 sept. 2010 à 13:19
Je te remercie bigfish_le vrai.
Avec tout ce que tu m'a dis, j'ai pu écrire tout mon code reprenant toutes les étapes. Ca marche nickel.
Merci
0
Rejoignez-nous