iStarOSX
XLDnaute Junior
Bonjour a tous les Exceliens
Voila j'ai une macro qui comporte déjà une boucle pour copier des infos depuis la feuille "Catalogues" vers la Feuille "Rad_Temp".
Je voudrais intégré a ma macro une autre boucle pour numéroter les lignes qui ont été copiés.
La numérotation doit débuter depuis une valeur contenu dans la cellule D15 de ma feuille1.
J'ai bien tenté de faire un truc avec le code des lignes 29, 164, 165 et 169 de ma macro, mais la numérotation est mauvaise
Pour l'instant mon code de macro donne cela (LES NUMERO DE LIGNE SONT EN COMMENTAIRE EN BOUT DE LIGNE DE CODE) :
En même temps si vous voillez, un truc pour alléger l'exécution de macro, je suis preneur car je fais se que je peu en VBA, mais je ne suis pas un as !!!
Merci de bien vouloir m'aider.
Voila j'ai une macro qui comporte déjà une boucle pour copier des infos depuis la feuille "Catalogues" vers la Feuille "Rad_Temp".
Je voudrais intégré a ma macro une autre boucle pour numéroter les lignes qui ont été copiés.
La numérotation doit débuter depuis une valeur contenu dans la cellule D15 de ma feuille1.
J'ai bien tenté de faire un truc avec le code des lignes 29, 164, 165 et 169 de ma macro, mais la numérotation est mauvaise
Pour l'instant mon code de macro donne cela (LES NUMERO DE LIGNE SONT EN COMMENTAIRE EN BOUT DE LIGNE DE CODE) :
Code:
Sub Transfert_Radiateurs_Temp()'1
'2
If Sheets("Catalogue").Range("A1") > 0 And Sheets("Catalogue").Range("I3") > 0 Then 'condition pour executer la macro'3
'4
Application.ScreenUpdating = False'5
'6
'Déprotège la feuille :'7
Sheets("Catalogue").Unprotect "wxcvbn"'8
Sheets("Radiateurs du Projet").Unprotect "chau"'9
'Déprotège le classeur :'10
ActiveWorkbook.Unprotect "chau"'11
'12
'13
' Désactive les filtres automatique'14
If Worksheets("Radiateurs du Projet").AutoFilterMode Then'15
Worksheets("Radiateurs du Projet").AutoFilterMode = False'16
End If'17
'18
Sheets("Radiateurs du Projet").Range("D1") = 1'19
'20
'Rend visible la feuille de transfert temporaire :'21
Sheets("Rad_Temp").Visible = True'22
'23
'Efface les données de la plage de destination :'24
Sheets("Rad_Temp").Select'25
Cells.Select'26
Selection.Delete Shift:=xlUp'27
'28
Sheets("Rad_Temp").Range("DW1") = Sheets("Catalogue").Range("D15").Value'29 DETERMINE LE NUMERO DE DEPART DE LA NUMEROTATION DES LIGNES TRANSFEREES
'30
Dim L1%, I%, J% ' variable %= as integer'31
L1 = 26 ' num de ligne'32
Do ' boucle'33
Select Case Sheets("Catalogue").Range("b" & L1).Value ' selon valeur Qté'34
Case 0, "", " "'35
I = 0'36
Case 1'37
I = 1'38
Case Is > 1'39
I = Sheets("Catalogue").Range("b" & L1).Value'40
'41
'42
End Select'43
For J = 1 To I 'seconde boucle pour le transfert'44
'45
'Transfert dans Rad_Temp les données radiateurs :'46
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(1, 0) = Sheets("Catalogue").Range("b" & L1).Value'47
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 1) = Sheets("Catalogue").Range("d" & L1).Value'48
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 2) = Sheets("Catalogue").Range("e" & L1).Value'49
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 3) = Sheets("Catalogue").Range("f" & L1).Value'50
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 4) = Sheets("Catalogue").Range("g" & L1).Value'51
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 5) = Sheets("Catalogue").Range("h" & L1).Value'52
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 6) = Sheets("Catalogue").Range("i" & L1).Value'53
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 7) = Sheets("Catalogue").Range("j" & L1).Value'54
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 8) = Sheets("Catalogue").Range("k" & L1).Value'55
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 9) = Sheets("Catalogue").Range("l" & L1).Value'56
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 10) = Sheets("Catalogue").Range("m" & L1).Value'57
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 11) = Sheets("Catalogue").Range("n" & L1).Value'58
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 12) = Sheets("Catalogue").Range("p" & L1).Value'59
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 13) = Sheets("Catalogue").Range("q" & L1).Value'60
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 14) = Sheets("Catalogue").Range("r" & L1).Value'61
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 15) = Sheets("Catalogue").Range("s" & L1).Value'62
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 16) = Sheets("Catalogue").Range("t" & L1).Value'63
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 17) = Sheets("Catalogue").Range("u" & L1).Value'64
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 18) = Sheets("Catalogue").Range("v" & L1).Value'65
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 19) = Sheets("Catalogue").Range("w" & L1).Value'66
'67
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 20) = Sheets("Catalogue").Range("x" & L1).Value'68
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 21) = Sheets("Catalogue").Range("y" & L1).Value'69
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 22) = Sheets("Catalogue").Range("z" & L1).Value'70
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 23) = Sheets("Catalogue").Range("aa" & L1).Value'71
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 24) = Sheets("Catalogue").Range("ab" & L1).Value'72
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 25) = Sheets("Catalogue").Range("ac" & L1).Value'73
'74
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 28) = Sheets("Catalogue").Range("ad" & L1).Value'75
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 29) = Sheets("Catalogue").Range("ae" & L1).Value'76
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 30) = Sheets("Catalogue").Range("af" & L1).Value'77
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 31) = Sheets("Catalogue").Range("ag" & L1).Value'78
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 32) = Sheets("Catalogue").Range("ah" & L1).Value'79
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 33) = Sheets("Catalogue").Range("ai" & L1).Value'80
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 34) = Sheets("Catalogue").Range("aj" & L1).Value'81
'82
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 35) = Sheets("Catalogue").Range("ak" & L1).Value'83
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 36) = Sheets("Catalogue").Range("al" & L1).Value'84
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 37) = Sheets("Catalogue").Range("am" & L1).Value'85
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 38) = Sheets("Catalogue").Range("an" & L1).Value'86
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 39) = Sheets("Catalogue").Range("ao" & L1).Value'87
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 40) = Sheets("Catalogue").Range("ap" & L1).Value'88
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 42) = Sheets("Catalogue").Range("aq" & L1).Value'89
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 43) = Sheets("Catalogue").Range("ar" & L1).Value'90
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 44) = Sheets("Catalogue").Range("as" & L1).Value'91
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 45) = Sheets("Catalogue").Range("at" & L1).Value'92
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 46) = Sheets("Catalogue").Range("au" & L1).Value'93
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 47) = Sheets("Catalogue").Range("av" & L1).Value'94
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 48) = Sheets("Catalogue").Range("aW" & L1).Value'95
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 49) = Sheets("Catalogue").Range("ax" & L1).Value'96
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 50) = Sheets("Catalogue").Range("ay" & L1).Value'97
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 51) = Sheets("Catalogue").Range("az" & L1).Value'98
'99
'100
'101
'Insertion des formules'102
'103
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 53) = "=IF(OR(AND(RC[-26]=RC[-10],RC[-3]<>""""),RC[-26]<>RC[-10]),""Valide"",""Non Valide"")"'104
'105
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 65) = _'106
"=IF(COUNTIF(Rad_Projet_NomLocal,RC[-76]) >0, RC[-77]& ""*""& (COUNTIF(Rad_Projet_NomLocal,RC[-76])+1) & "" : ""&RC[-76],RC[-77]&"" : ""&RC[-76])"'107
'108
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 66) = "=RC[-76]"'109
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 67) = "=RC[-76]"'110
'111
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 67) = "=RC[-76]"'112
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 68) = "=RC[-76]"'113
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 69) = "=RC[-76]"'114
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 70) = "=RC[-76]"'115
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 71) = "=RC[-76]"'116
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 72) = "=RC[-76]"'117
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 73) = "=RC[-76]"'118
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 74) = "=RC[-76]"'119
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 75) = "=RC[-76]"'120
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 76) = "=RC[-76]"'121
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 77) = "=RC[-76]"'122
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 78) = "=RC[-76]"'123
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 79) = "=RC[-76]"'124
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 80) = "=RC[-76]"'125
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 81) = "=RC[-76]"'126
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 82) = "=RC[-76]"'127
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 83) = "=RC[-76]"'128
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 84) = "=RC[-76]"'129
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 85) = "=RC[-76]"'130
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 86) = "=RC[-76]"'131
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 87) = "=RC[-76]"'132
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 88) = "=RC[-76]"'133
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 89) = "=RC[-76]"'134
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 90) = "=RC[-76]"'135
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 91) = "=RC[-76]"'136
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 92) = "=RC[-76]"'137
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 93) = "=RC[-76]"'138
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 94) = "=RC[-76]"'139
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 95) = "=RC[-76]"'140
'141
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 96) = "=RC[-70]"'142
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 97) = "=IF(OR(RC[-70]="""",RC[-70]=0),0,1)"'143
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 98) = "=RC[-70]"'144
'145
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 99) = "=IF(RC[-70]=""-"",0,RC[-70])"'146
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 100) = "=IF(RC[-70]=""-"",0,RC[-70])"'147
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 101) = "=IF(RC[-70]=""-"",0,RC[-70])"'148
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 102) = "=IF(RC[-70]=""-"",0,RC[-70])"'149
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 103) = "=IF(RC[-70]=""-"",0,RC[-70])"'150
'151
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 104) = "=RC[-62]"'152
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 105) = "=RC[-62]"'153
'154
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 106) = "=IF(RC[-62]=""-"",0,RC[-62])"'155
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 107) = "=IF(RC[-62]=""-"",0,RC[-62])"'156
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 108) = "=IF(RC[-62]=""-"",0,RC[-62])"'157
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 109) = "=IF(RC[-62]=""-"",0,RC[-62])"'158
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 110) = "=IF(RC[-62]=""-"",0,RC[-62])"'159
'160
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 111) = "=IF(OR(RC[-62]="""",RC[-62]=0),0,1)"'161
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 112) = "=IF(OR(RC[-60]="""",RC[-60]=0),0,1)"'162
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 113) = "=RC[-62]"'163
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 114) = "=ROW()-1+R[-1]C"'164 DETERMINE LE NUMERO DE LIGNE
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 115) = Sheets("Catalogue").Range("C" & L1).Value'165 RECUPERE LE NUMERO DE REFERENCE DES ARTICLES
'166
'Transfert dans Rad_Temp les données du local :'167
'168
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, -12) = "=""""&NumLocal&"" - ""&Rad_Temp!RC[127]&"" - ""&Rad_Temp!RC[126]"'169 DOIT CONCATENER LES INFOS DE NUMEROTATION COMME CELA : Valeur contenu dans la feuille "Catalogue" cellule D15, grace a la ligne de code "34 de ma macro, puis le numér de référence de l'article, puis le numéro de la ligne + la valeur contenu dans la feuille "Catalogue" cellule D15
'170
'171
'172
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, -11) = Sheets("Catalogue").Range("E3").Value'173
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, -10) = Sheets("Catalogue").Range("F3").Value'174
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, -9) = Sheets("Catalogue").Range("G3").Value'175
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, -8) = Sheets("Catalogue").Range("H3").Value'176
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, -7) = Sheets("Catalogue").Range("I3").Value'177
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, -6) = Sheets("Catalogue").Range("F6").Value'178
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, -5) = Sheets("Catalogue").Range("G6").Value'179
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, -4) = Sheets("Catalogue").Range("H6").Value'180
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, -3) = Sheets("Catalogue").Range("I6").Value'181
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, -2) = Sheets("Catalogue").Range("J6").Value'182
Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, -1) = Sheets("Catalogue").Range("L6").Value'183
'184
'185
'186
Next'187
L1 = L1 + 1'188
Loop Until Sheets("Catalogue").Range("D" & L1).Value = "" ' sortie de la boucle do'189
'190
'Valide numérotation radiateur'191
Sheets("Rad_Temp").Columns("A:A").Copy'192
Sheets("Rad_Temp").Range("A1").Select'193
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _'194
:=False, Transpose:=False'195
'196
Sheets("Rad_Temp").Activate'197
'198
Sheets("Radiateurs du Projet").Outline.ShowLevels RowLevels:=2'199
'200
Transfert_Radiateurs_Projet'201
'202
'Efface les quantités dans le catalogue :'203
Sheets("Catalogue").Range("B26:B65536").ClearContents'204
'205
'Fait passer a l'édition du local suivant :'206
Sheets("Catalogue").Range("A3") = Sheets("Catalogue").Range("B3").Value + 1'207
'208
'Rend Invisible la feuille de transfert temporaire :'209
Sheets("Rad_Temp").Visible = False'210
'211
Sheets("Radiateurs du Projet").Range("D1") = 0'212
'213
'Remet les filtres AUTO'214
Sheets("Catalogue").Range("A25:AR25").AutoFilter'215
'216
'Protège la feuille :'217
Sheets("Catalogue").Protect "wxcvbn", DrawingObjects:=False, Contents:=True, Scenarios:= _'218
True, AllowFiltering:=True'219
'220
Sheets("Radiateurs du Projet").Protect "wxcvbn", DrawingObjects:=False, Contents:=True, Scenarios:= _'221
True, AllowFiltering:=True'222
'223
ActiveSheet.EnableSelection = xlNoRestrictions'224
'225
'Protège le classeur :'226
ActiveWorkbook.Protect "wxcvbn", Structure:=True, Windows:=False'227
'228
'229
Application.ScreenUpdating = True'230
'231
End If'232
'233
'234
End Sub'235
ActiveSheet.EnableSelection = xlNoRestrictions'236
'237
'Protège le classeur :'238
ActiveWorkbook.Protect "wxcvbn", Structure:=True, Windows:=False'239
'240
'241
Application.ScreenUpdating = True'242
'243
End If'244
'245
'246
End Sub'247
En même temps si vous voillez, un truc pour alléger l'exécution de macro, je suis preneur car je fais se que je peu en VBA, mais je ne suis pas un as !!!
Merci de bien vouloir m'aider.
Dernière édition: