boucle pour numéroter ligne si elle contien des infos et commencer num depuis une val

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) :

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:

jp14

XLDnaute Barbatruc
Re : boucle pour numéroter ligne si elle contien des infos et commencer num depuis un

Bonjour

Pour alléger les procédures il faut utiliser des boucles

Par exemple

Code:
        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

Peut être remplacé par

Code:
With Sheets("Rad_Temp").Range("m65536").End(xlUp) 
For i = 2 to 5 
.Offset(0, i) =Sheets("Catalogue").cells(l1,4+i) ' "e" est la cinquième colonne
next i
end with


JP
 

iStarOSX

XLDnaute Junior
Re : boucle pour numéroter ligne si elle contien des infos et commencer num depuis un

Salut JP

Je reviens vers toi car j'ai un peu de mal a comprendre la partie
Code:
cells(l1,4+i) ' "e" est la cinquième colonne

J'ai réussi pour une partie de ma macro, mais pour certaines zone cela ne fonctionne pas.

Exemple j'ai remplacé :

Code:
      Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 28) = Sheets("Catalogue").Range("ad" & L1).Value
      Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 29) = Sheets("Catalogue").Range("ae" & L1).Value
      Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 30) = Sheets("Catalogue").Range("af" & L1).Value
      Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 31) = Sheets("Catalogue").Range("ag" & L1).Value
      Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 32) = Sheets("Catalogue").Range("ah" & L1).Value
      Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 33) = Sheets("Catalogue").Range("ai" & L1).Value
      Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 34) = Sheets("Catalogue").Range("aj" & L1).Value
      Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 35) = Sheets("Catalogue").Range("ak" & L1).Value
      Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 36) = Sheets("Catalogue").Range("al" & L1).Value
      Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 37) = Sheets("Catalogue").Range("am" & L1).Value
      Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 38) = Sheets("Catalogue").Range("an" & L1).Value
      Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 39) = Sheets("Catalogue").Range("ao" & L1).Value
      Sheets("Rad_Temp").Range("m65536").End(xlUp).Offset(0, 40) = Sheets("Catalogue").Range("ap" & L1).Value


Code:
      ' With Sheets("Rad_Temp").Range("m65536").End(xlUp)
      '     For I = 28 To 40
      '      .Offset(0, I) = Sheets("Catalogue").Cells(L1, 4 + I) ' "e" est la cinquième colonne
      '      Next I
      ' End With


Si tu pouvais m'expliquer le
Code:
cells(l1,4+i) ' "e" est la cinquième colonne

Merci
 

jp14

XLDnaute Barbatruc
Re : boucle pour numéroter ligne si elle contien des infos et commencer num depuis un

Bonjour

Pour adresser une cellule deux méthodes
Range( Adresse de la colonne en utilisant les caractères alphabétiques et le numéro de la ligne )
Deuxième méthode

Utilisation de Cells ( numéro de la ligne , numéro de la colonne) (mode L1C1 ancienne méthode ayant pour origine "Multiplan" l’ancêtre d'excel)
Cells(1,1) correspond à Range("A1")

AD correspond à la colonne 30 (26 + 4)
Comme i= 28 il faudra rajouter 2 pour obtenir 30.
I = 29 donnera 31 soit "AE"

JP
 

iStarOSX

XLDnaute Junior
Re : boucle pour numéroter ligne si elle contien des infos et commencer num depuis un

Merci JP

En faite, c'est bien ce que j'avais compris.

J'avais réussi a simplifier une partie de ma macro, mais sur une partie lorsque je le fait, cela fait baguer une autre macro qui se lance après.

Cette seconde macro utilise les données transféré par la macro que j'ai simplifié et avec ta simplification, sur certaines ligne cela crée un bug "Erreur d'exécution '1004' : Erreur définie par l'application ou par l'objet.

Mais bon j'ai tout de même simplifié une grosse partie grace a toi. Merci encore.

Par contre je ne trouve pas de solution a mon histoire de numérotation.

Pourtant, cela doit pas être compliqué, j'avais essayé, mais je ne maitrise pas trop les boucles.

Numéroter les lignes d'une feuille (Ma feuille "Rad_Temp") qui sont remplies, en partant d'une valeur contenue dans la cellule "D15" de ma feuille "Catalogue"'.

Exemple : j'ai la valeur 20 dans la cellule "D15" de ma feuille "Catalogue"', alors ma macro va numéroter les lignes de ma feuille "Rad_Temp" contenant des données (sauf la première ligne car ce sont les entêtes de mon tableau) en commençant par 21.

Et j'arrive pas a trouvé cela sur le forum. cela m'étonne qu'il n'y est pas d'autre poste avec des sujets similaires.

Je dois mal chercher...
 
C

Compte Supprimé 979

Guest
Re : boucle pour numéroter ligne si elle contien des infos et commencer num depuis un

Bonjour iStarOSX

Si je puis me permettre, avec un petit fichier cela nous permettrait de mieux comprendre ;)

a+
 

iStarOSX

XLDnaute Junior
Re : boucle pour numéroter ligne si elle contien des infos et commencer num depuis un

Un fichier en espérant que cela aide a la compréhension.

En fait je cherche a obtenir la numérotation qui est dans la colonne A de la feuille Rad_Temp (l'explication de la numérotation est en tête de la colonne)

Rappel :

Je ne veux pas utilise de fonction excel (car j'utilise des macro pour importer des valeur dans ce tableau et les fonctions "bug" après.
Donc je suis obligé de numéroter par macro.

Cordialement.
 

Pièces jointes

  • ENvoi.xls
    19 KB · Affichages: 58
  • ENvoi.xls
    19 KB · Affichages: 54
  • ENvoi.xls
    19 KB · Affichages: 57

jp14

XLDnaute Barbatruc
Re : boucle pour numéroter ligne si elle contien des infos et commencer num depuis un

Bonjour
Salut BrunoM45


Ci dessous une procédure qui répond partiellement à la question car je n'ai pas compris la numérotation

N° = N° Client - N° Article - Numérotation de la macro (qui doit etre égale "=Catalogue!D15 +LIGNE()")
N° Client - : .Range("B3")
N° Article - : Cellule
Numérotation de la macro (qui doit etre égale "=Catalogue!D15 (.Range("D15"))+LIGNE()(?)")
Si c'est la ligne en cours de la feuille "Rad_Temp" alors il faut écrire .Range("D15")+LigDep2
Si c'est la ligne en cours de la feuille "Catalogues" alors il faut écrire .Range("D15")+cellule.row

Code:
Sub travdem()
Dim Cellule As Range
Dim Nomfeuille1 As String, Nomfeuille2 As String
Dim Col As String
Dim LigDep1 As Long, LigDep2 As Long

'parametre
Nomfeuille1 = "Catalogues"
Nomfeuille2 = "Rad_Temp"
'à modifier
LigDep1 = 26
LigDep2 = 2
Col = "c"

'
With Sheets(Nomfeuille1)
For Each Cellule In .Range(Col & LigDep1 & ":" & Col & .Range(Col & .Rows.Count).End(xlUp).Row)
    Sheets(Nomfeuille2).Range("a" & LigDep2) = .Range("B3") & " - " & .Range("B3") & " - " & .Range("D15")
    LigDep2 = LigDep2 + 1
Next Cellule

End With
End Sub

JP
 

Discussions similaires

Statistiques des forums

Discussions
311 740
Messages
2 082 041
Membres
101 879
dernier inscrit
Arthur M