Se connecter avec
S'enregistrer | Connectez-vous

Nombre de cellules

Dernière réponse : dans Programmation
Lassé par la pub ? Créez un compte
Expert Programmation

Salut aqwxc

Fais gaffe, t'as le coin inférieur gauche du clavier azerty comme pseudo !!! :heink: 

Or donc tu débutes. Et tu t'aides de l'enregistreur. Ben c'est bien ça. Mais ce n'est pas suffisant. Il faut aussi comprendre ce que fait l'enregistreur, pour pouvoir l'adapter.

Attention, le code généré par l'enregistreur est par construction, dépendant des objets actifs et des données sur lesquelles il a été enregistré.

La question "Où est ma dernière ligne ?" est celle qu'on se pose le plus souvent.
C'est pourquoi on en trouve facilement la réponse sur ce forum : http://www.presence-pc.com/forum/ppc/Programmation/tuto...

-------------

Propose-nous ton code, je suis sûr que je peux te montrer comment l'améliorer sur de nombreux axes, et ce, de façon significative.

(Attention à l'art de poster du code sur ce site. Pour être sûr de ne pas commettre d'impair, va lire le règlement si ce n'est déjà fait ;)  )

Bonjour!
Merci beaucoup pour ta reponse et pour ton aide, voici mon code :


  1. Range("A2:B14").Select
  2. Selection.ClearContents
  3. Range("A15:C288").Select
  4. ActiveWindow.ScrollRow = 268
  5. ActiveWindow.ScrollRow = 264
  6. ActiveWindow.ScrollRow = 258
  7. ActiveWindow.ScrollRow = 251
  8. ActiveWindow.ScrollRow = 243
  9. ActiveWindow.ScrollRow = 232
  10. ActiveWindow.ScrollRow = 217
  11. ActiveWindow.ScrollRow = 201
  12. ActiveWindow.ScrollRow = 181
  13. ActiveWindow.ScrollRow = 164
  14. ActiveWindow.ScrollRow = 140
  15. ActiveWindow.ScrollRow = 122
  16. ActiveWindow.ScrollRow = 108
  17. ActiveWindow.ScrollRow = 100
  18. ActiveWindow.ScrollRow = 92
  19. ActiveWindow.ScrollRow = 86
  20. ActiveWindow.ScrollRow = 81
  21. ActiveWindow.ScrollRow = 78
  22. ActiveWindow.ScrollRow = 77
  23. ActiveWindow.ScrollRow = 76
  24. ActiveWindow.ScrollRow = 73
  25. ActiveWindow.ScrollRow = 69
  26. ActiveWindow.ScrollRow = 61
  27. ActiveWindow.ScrollRow = 46
  28. ActiveWindow.ScrollRow = 23
  29. ActiveWindow.ScrollRow = 1
  30. Selection.Cut Destination:=Range("A2:C275")
  31. Range("C8").Select
  32. ActiveCell.FormulaR1C1 = "Time"
  33. Range("C9").Select
  34. ActiveCell.FormulaR1C1 = "0.1"
  35. Range("C10").Select
  36. ActiveCell.FormulaR1C1 = "0.2"
  37. Range("C11").Select
  38. ActiveCell.FormulaR1C1 = "0.3"
  39. Range("C9:C11").Select
  40. Selection.AutoFill Destination:=Range("C9:C275"), Type:=xlFillDefault
  41. Range("C9:C275").Select
  42. Range("M269").Select
  43. ActiveWindow.ScrollRow = 253
  44. ActiveWindow.ScrollRow = 246
  45. ActiveWindow.ScrollRow = 235
  46. ActiveWindow.ScrollRow = 221
  47. ActiveWindow.ScrollRow = 204
  48. ActiveWindow.ScrollRow = 184
  49. ActiveWindow.ScrollRow = 159
  50. ActiveWindow.ScrollRow = 137
  51. ActiveWindow.ScrollRow = 136
  52. ActiveWindow.ScrollRow = 132
  53. ActiveWindow.ScrollRow = 123
  54. ActiveWindow.ScrollRow = 101
  55. ActiveWindow.ScrollRow = 77
  56. ActiveWindow.ScrollRow = 60
  57. ActiveWindow.ScrollRow = 48
  58. ActiveWindow.ScrollRow = 39
  59. ActiveWindow.ScrollRow = 31
  60. ActiveWindow.ScrollRow = 26
  61. ActiveWindow.ScrollRow = 21
  62. ActiveWindow.ScrollRow = 20
  63. ActiveWindow.ScrollRow = 19
  64. ActiveWindow.ScrollRow = 18
  65. ActiveWindow.ScrollRow = 20
  66. ActiveWindow.ScrollRow = 21
  67. ActiveWindow.ScrollRow = 23
  68. ActiveWindow.ScrollRow = 21
  69. ActiveWindow.ScrollRow = 14
  70. ActiveWindow.ScrollRow = 1
  71. Range("B8").Select
  72. ActiveCell.FormulaR1C1 = "Position"
  73. Range("B8:C9").Select
  74. Range(Selection, Selection.End(xlDown)).Select
  75. ActiveSheet.Shapes.AddChart.Select
  76. ActiveChart.SetSourceData Source:=Range("Sheet1!$B$8:$C$275")
  77. ActiveChart.ChartType = xlLineMarkers
  78. ActiveChart.ChartType = xlLineMarkers
  79. ActiveChart.SeriesCollection(1).XValues = "={""Time""}"
  80. ActiveChart.SeriesCollection(2).Delete
  81. ActiveWindow.ScrollRow = 7
  82. ActiveWindow.ScrollRow = 5
  83. ActiveWindow.ScrollRow = 2
  84. ActiveWindow.ScrollRow = 1
  85. ActiveWindow.ScrollRow = 2
  86. ActiveWindow.ScrollRow = 3
  87. ActiveWindow.ScrollRow = 5
  88. ActiveWindow.ScrollRow = 9
  89. ActiveWindow.ScrollRow = 14
  90. ActiveWindow.ScrollRow = 21
  91. ActiveWindow.ScrollRow = 29
  92. ActiveWindow.ScrollRow = 38
  93. ActiveWindow.ScrollRow = 47
  94. ActiveWindow.ScrollRow = 56
  95. ActiveWindow.ScrollRow = 68
  96. ActiveWindow.ScrollRow = 80
  97. ActiveWindow.ScrollRow = 88
  98. ActiveWindow.ScrollRow = 94
  99. ActiveWindow.ScrollRow = 97
  100. ActiveWindow.ScrollRow = 100
  101. ActiveWindow.ScrollRow = 102
  102. ActiveWindow.ScrollRow = 100
  103. ActiveWindow.ScrollRow = 99
  104. ActiveWindow.ScrollRow = 102
  105. ActiveWindow.ScrollRow = 108
  106. ActiveWindow.ScrollRow = 118
  107. ActiveWindow.ScrollRow = 133
  108. ActiveWindow.ScrollRow = 155
  109. ActiveWindow.ScrollRow = 175
  110. ActiveWindow.ScrollRow = 195
  111. ActiveWindow.ScrollRow = 210
  112. ActiveWindow.ScrollRow = 224
  113. ActiveWindow.ScrollRow = 233
  114. ActiveWindow.ScrollRow = 247
  115. ActiveWindow.ScrollRow = 264
  116. ActiveWindow.ScrollRow = 263
  117. ActiveWindow.ScrollRow = 261
  118. ActiveWindow.ScrollRow = 260
  119. ActiveWindow.ScrollRow = 259
  120. ActiveWindow.ScrollRow = 258
  121. ActiveWindow.ScrollRow = 257
  122. ActiveWindow.ScrollRow = 256
  123. ActiveWindow.ScrollRow = 255
  124. ActiveWindow.ScrollRow = 253
  125. ActiveWindow.ScrollRow = 252
  126. ActiveWindow.ScrollRow = 251
  127. ActiveWindow.ScrollRow = 250
  128. ActiveWindow.ScrollRow = 248
  129. ActiveWindow.ScrollRow = 247
  130. ActiveWindow.ScrollRow = 245
  131. ActiveWindow.ScrollRow = 244
  132. ActiveWindow.ScrollRow = 243
  133. ActiveWindow.ScrollRow = 242
  134. ActiveWindow.ScrollRow = 241
  135. ActiveWindow.ScrollRow = 240
  136. ActiveWindow.ScrollRow = 239
  137. ActiveWindow.ScrollRow = 238
  138. ActiveWindow.ScrollRow = 236
  139. ActiveWindow.ScrollRow = 233
  140. ActiveWindow.ScrollRow = 232
  141. ActiveWindow.ScrollRow = 231
  142. ActiveWindow.ScrollRow = 230
  143. ActiveWindow.ScrollRow = 229
  144. ActiveWindow.ScrollRow = 228
  145. ActiveWindow.ScrollRow = 227
  146. ActiveWindow.ScrollRow = 226
  147. ActiveWindow.ScrollRow = 225
  148. ActiveWindow.ScrollRow = 224
  149. ActiveWindow.ScrollRow = 223
  150. ActiveWindow.ScrollRow = 221
  151. ActiveWindow.ScrollRow = 220
  152. ActiveWindow.ScrollRow = 219
  153. ActiveWindow.ScrollRow = 218
  154. ActiveWindow.ScrollRow = 217
  155. ActiveWindow.ScrollRow = 216
  156. ActiveWindow.ScrollRow = 215
  157. ActiveWindow.ScrollRow = 213
  158. ActiveWindow.ScrollRow = 212
  159. ActiveWindow.ScrollRow = 211
  160. ActiveWindow.ScrollRow = 210
  161. ActiveWindow.ScrollRow = 209
  162. ActiveWindow.ScrollRow = 208
  163. ActiveWindow.ScrollRow = 206
  164. ActiveWindow.ScrollRow = 205
  165. ActiveWindow.ScrollRow = 203
  166. ActiveWindow.ScrollRow = 200
  167. ActiveWindow.ScrollRow = 198
  168. ActiveWindow.ScrollRow = 197
  169. ActiveWindow.ScrollRow = 196
  170. ActiveWindow.ScrollRow = 195
  171. ActiveWindow.ScrollRow = 192
  172. ActiveWindow.ScrollRow = 189
  173. ActiveWindow.ScrollRow = 187
  174. ActiveWindow.ScrollRow = 186
  175. ActiveWindow.ScrollRow = 187
  176. ActiveWindow.ScrollRow = 189
  177. ActiveWindow.ScrollRow = 191
  178. ActiveWindow.ScrollRow = 192
  179. ActiveWindow.ScrollRow = 194
  180. ActiveWindow.ScrollRow = 196
  181. ActiveWindow.ScrollRow = 197
  182. ActiveWindow.ScrollRow = 198
  183. ActiveWindow.ScrollRow = 196
  184. ActiveWindow.ScrollRow = 195
  185. ActiveWindow.ScrollRow = 193
  186. ActiveWindow.ScrollRow = 192
  187. ActiveWindow.ScrollRow = 191
  188. ActiveWindow.ScrollRow = 190
  189. ActiveWindow.ScrollRow = 189
  190. ActiveWindow.ScrollRow = 188
  191. ActiveWindow.ScrollRow = 187
  192. ActiveWindow.ScrollRow = 186
  193. ActiveWindow.ScrollRow = 185
  194. ActiveWindow.ScrollRow = 184
  195. ActiveWindow.ScrollRow = 183
  196. ActiveWindow.ScrollRow = 182
  197. ActiveWindow.ScrollRow = 181
  198. ActiveWindow.ScrollRow = 180
  199. ActiveWindow.ScrollRow = 179
  200. ActiveWindow.ScrollRow = 178
  201. ActiveWindow.ScrollRow = 177
  202. ActiveWindow.ScrollRow = 175
  203. ActiveWindow.ScrollRow = 174
  204. ActiveWindow.ScrollRow = 172
  205. ActiveWindow.ScrollRow = 171
  206. ActiveWindow.ScrollRow = 170
  207. ActiveWindow.ScrollRow = 169
  208. ActiveWindow.ScrollRow = 168
  209. ActiveWindow.ScrollRow = 166
  210. ActiveWindow.ScrollRow = 165
  211. ActiveWindow.ScrollRow = 164
  212. ActiveWindow.ScrollRow = 163
  213. ActiveWindow.ScrollRow = 162
  214. ActiveWindow.ScrollRow = 161
  215. ActiveWindow.ScrollRow = 160
  216. ActiveWindow.ScrollRow = 159
  217. ActiveWindow.ScrollRow = 158
  218. ActiveWindow.ScrollRow = 153
  219. ActiveWindow.ScrollRow = 144
  220. ActiveWindow.ScrollRow = 134
  221. ActiveWindow.ScrollRow = 127
  222. ActiveWindow.ScrollRow = 121
  223. ActiveWindow.ScrollRow = 118
  224. ActiveWindow.ScrollRow = 116
  225. ActiveWindow.ScrollRow = 115
  226. ActiveWindow.ScrollRow = 116
  227. ActiveWindow.ScrollRow = 118
  228. ActiveWindow.ScrollRow = 120
  229. ActiveWindow.ScrollRow = 124
  230. ActiveWindow.ScrollRow = 127
  231. ActiveWindow.ScrollRow = 129
  232. ActiveWindow.ScrollRow = 130
  233. ActiveWindow.ScrollRow = 131
  234. ActiveWindow.ScrollRow = 132
  235. ActiveWindow.ScrollRow = 135
  236. ActiveWindow.ScrollRow = 137
  237. ActiveWindow.ScrollRow = 141
  238. ActiveWindow.ScrollRow = 143
  239. ActiveWindow.ScrollRow = 148
  240. ActiveWindow.ScrollRow = 147
  241. ActiveWindow.ScrollRow = 145
  242. ActiveWindow.ScrollRow = 143
  243. ActiveWindow.ScrollRow = 141
  244. ActiveWindow.ScrollRow = 138
  245. ActiveWindow.ScrollRow = 135
  246. ActiveWindow.ScrollRow = 133
  247. ActiveWindow.ScrollRow = 132
  248. ActiveWindow.ScrollRow = 130
  249. ActiveWindow.ScrollRow = 129
  250. ActiveWindow.ScrollRow = 128
  251. ActiveWindow.ScrollRow = 126
  252. ActiveWindow.ScrollRow = 124
  253. ActiveWindow.ScrollRow = 123
  254. ActiveWindow.ScrollRow = 122
  255. ActiveWindow.ScrollRow = 121
  256. ActiveWindow.ScrollRow = 120
  257. ActiveWindow.ScrollRow = 118
  258. ActiveWindow.ScrollRow = 117
  259. ActiveWindow.ScrollRow = 116
  260. ActiveWindow.ScrollRow = 115
  261. ActiveWindow.ScrollRow = 114
  262. ActiveWindow.ScrollRow = 113
  263. ActiveWindow.ScrollRow = 112
  264. ActiveWindow.ScrollRow = 111
  265. ActiveWindow.ScrollRow = 110
  266. ActiveWindow.ScrollRow = 109
  267. ActiveWindow.ScrollRow = 107
  268. ActiveWindow.ScrollRow = 105
  269. ActiveWindow.ScrollRow = 103
  270. ActiveWindow.ScrollRow = 100
  271. ActiveWindow.ScrollRow = 99
  272. ActiveWindow.ScrollRow = 97
  273. ActiveWindow.ScrollRow = 96
  274. ActiveWindow.ScrollRow = 95
  275. ActiveWindow.ScrollRow = 94
  276. ActiveWindow.ScrollRow = 93
  277. ActiveWindow.ScrollRow = 92
  278. ActiveWindow.ScrollRow = 91
  279. ActiveWindow.ScrollRow = 90
  280. ActiveWindow.ScrollRow = 89
  281. ActiveWindow.ScrollRow = 88
  282. ActiveWindow.ScrollRow = 87
  283. ActiveWindow.ScrollRow = 85
  284. ActiveWindow.ScrollRow = 84
  285. ActiveWindow.ScrollRow = 83
  286. ActiveWindow.ScrollRow = 82
  287. ActiveWindow.ScrollRow = 81
  288. ActiveWindow.ScrollRow = 80
  289. ActiveWindow.ScrollRow = 79
  290. ActiveWindow.ScrollRow = 78
  291. ActiveWindow.ScrollRow = 77
  292. ActiveWindow.ScrollRow = 76
  293. ActiveWindow.ScrollRow = 75
  294. ActiveWindow.ScrollRow = 73
  295. ActiveWindow.ScrollRow = 71
  296. ActiveWindow.ScrollRow = 70
  297. ActiveWindow.ScrollRow = 69
  298. ActiveWindow.ScrollRow = 67
  299. ActiveWindow.ScrollRow = 52
  300. ActiveWindow.ScrollRow = 53
  301. ActiveWindow.ScrollRow = 54
  302. ActiveWindow.ScrollRow = 56
  303. ActiveWindow.ScrollRow = 57
  304. ActiveWindow.ScrollRow = 58
  305. ActiveWindow.ScrollRow = 59
  306. ActiveWindow.ScrollRow = 60
  307. ActiveWindow.ScrollRow = 61
  308. ActiveWindow.ScrollRow = 62
  309. ActiveWindow.ScrollRow = 63
  310. ActiveWindow.ScrollRow = 64
  311. ActiveWindow.ScrollRow = 65
  312. ActiveWindow.ScrollRow = 66
  313. ActiveWindow.ScrollRow = 67
  314. ActiveWindow.ScrollRow = 69
  315. ActiveWindow.ScrollRow = 68
  316. ActiveWindow.ScrollRow = 66
  317. ActiveWindow.ScrollRow = 65
  318. ActiveWindow.ScrollRow = 63
  319. ActiveWindow.ScrollRow = 62
  320. ActiveWindow.ScrollRow = 60
  321. ActiveWindow.ScrollRow = 59
  322. ActiveWindow.ScrollRow = 58
  323. ActiveWindow.ScrollRow = 57
  324. ActiveWindow.ScrollRow = 56
  325. ActiveWindow.ScrollRow = 54
  326. ActiveWindow.ScrollRow = 53
  327. ActiveWindow.ScrollRow = 51
  328. ActiveWindow.ScrollRow = 50
  329. ActiveWindow.ScrollRow = 49
  330. ActiveWindow.ScrollRow = 48
  331. ActiveWindow.ScrollRow = 47
  332. ActiveWindow.ScrollRow = 46
  333. ActiveWindow.ScrollRow = 44
  334. ActiveWindow.ScrollRow = 41
  335. ActiveWindow.ScrollRow = 38
  336. ActiveWindow.ScrollRow = 36
  337. ActiveWindow.ScrollRow = 35
  338. ActiveWindow.ScrollRow = 33
  339. ActiveWindow.ScrollRow = 32
  340. ActiveWindow.ScrollRow = 31
  341. ActiveWindow.ScrollRow = 30
  342. ActiveWindow.ScrollRow = 29
  343. ActiveWindow.ScrollRow = 28
  344. ActiveWindow.ScrollRow = 11
  345. ActiveWindow.ScrollRow = 9
  346. ActiveWindow.ScrollRow = 5
  347. ActiveWindow.ScrollRow = 2
  348. ActiveWindow.ScrollRow = 1
  349. Range("M19").Select
  350. ActiveSheet.ChartObjects("Chart 1").Activate
  351. ActiveSheet.ChartObjects("Chart 1").Activate
  352. End Sub


[\code]




Merci beaucoup!!!
Expert Programmation

Salut,

Eh, tu confonds \ et /, et tu prétends programmer ! Les balises fermantes, en bbcode (utilisé sur ce site), en html, en xml, en sgml... utilisent un slash (/) pas un antislash (\).

Bon, et puis ne t'ai-je pas demandé de comprendre (ne serait-ce qu'un tout petit peu) ce que fait le code ? Non, par ce que là, je vois 215 fois la commande ScrollRow. T'as le droit de débuter, mais ça ne te dispense pas de réfléchir. Donc tu te renseignes sur la commande qui occupe 60% de ton code, et tu avises...

Bon, sinon, le code de l'enregistreur est toujours infâme, par construction.
Il faut le nettoyer. Dans un premier temps, c'est assez facile.

Prenons l'exemple de tes deux premières lignes :
  1. Range("A2:B14" ).Select
  2. Selection.ClearContents


Non, tu ne veux pas sélectionner la zone. Oui, tu veux juste vider le contenu de la zone. Le code devient :
  1. Range("A2:B14" ).ClearContents


En résumé, à chaque fois que tu as ce type de code : Truc.Select / Selection.Machin, remplace-le par Truc.Machin. Même punition pour les Truc.Activate et les ActiveTruc.

Après ces quelques commentaires pas forcément très agréables et ces critiques très objectives (si, si), je te propose de me relivrer ton code, nettoyé, épuré. Tu vas voir, quand il ne restera que quelques lignes, il sera facile de voir où est x et d'y appliquer x+n...

Tu as jeté un oeil sur le topic précédemment proposé ?

Merci!
Voici le code allege , cependant, je n'arrive pas a remplir automatiquement les cellules comme precedemment, je ne sais pas pourquoi...le code bug a l'etape autofill.

  1. Sub Macroessai()
  2.  
  3. '
  4. 'Macro Macroessai
  5. '
  6. '
  7. Range("A2:B15,C21").ClearContents
  8. Range("A16:B300").Select
  9. ActiveWindow.ScrollRow = 1
  10. Selection.Cut Destination:=Range("A2:B300")
  11. Range("C7").Formula = "Time"
  12. Range("C8").Formula = "0.1"
  13. Range("C9").Formula = "0.2"
  14. Range("C10").Formula = "0.3"
  15. Range("C8:C300").AutoFill Destination:=Range("C8:C300"), Type:=xlFillDefault
  16. Range("C8:C300").Select
  17. ActiveWindow.ScrollRow = 300
  18.  
  19.  
  20. End Sub


Merci de ton aide!
Expert Programmation

Salut aqwxc,

Poour ton probleme a la ligne 15..
essaye de comprendre ce que tu fais !
1. déclare la feuille sur laquelle tu travaille pour identifier sur quel feuille se trouve ton range de départ et de destination. (et meme si c'est le meme)

2. tu as encore un .select et un selection. [...] ligne 8 et 10 qui peuvent etre rassemblé.
(pour ton information les lignes 9 et 17 signifient que tu as utilisé la roulette de la souris pour descendre de 1 (ligne 9 ) et de 300 (ligne 17) !)

Autrement dit, tu peux les supprimer.

3. regarde bien la structure de la ligne 10... et applique la a la ligne 15 avec ce qui convient.

Bonjour,
Merci de ta reponse.
Ce que je veux faire, c'est que j'essaye de reperer le numero de la ligne correspondant a la derniere cellule remplie d'une colonne, et ensuite d'effacer toutes le cellules remplies des colonne voisines a partir de cette ligne la.
Voici mon code :


  1. Dim y As Integer
  2. y = Range("B1700").End(xlUp).Offset(1, 0)
  3. Range("Cy:C1700 , Dy:D1700").ClearContents




Mais cela ne marche pas, le code bug a la dernier ligne, je pense qu'il n'aime pas trop le Cy et Dy. Comment y remedier?

Je vous remercie d'avance!
Expert Programmation

salut,
Alors, si je reprend le code que tu as fait a partir de l'enregistreur de macro (le dernier) ca donne point par point :
  1. Dim y As Integer

mauvais choix & grave erreur : un integer ne va que de -32767 a 32767 ... or excel a qqch comme 65536 lignes.. donc si ton tableau est trop grand.. ta macro ne marchera pas.
utilise Long
ensuite : tu travaille sur quelle feuille ? déclare la sinon ta macro peut s'effectuer sur une autre feuille !
ensuite :
  1. y = Range("B1700" ).End(xlUp).Offset(1, 0)

c'est la bonne syntaxe : y te donne l'adresse de la dernière cellule contenu dans la plage ..... ben c'est quoi cette plage !!!!!!!
tu veux connaitre la dernière cellule d'une colonne non ? alors utilise Columns()
ensuite:
  1. Range("Cy:C1700 , Dy:D1700" ).ClearContents

là encore l'adresse n'est pas bonne !!!

bon, si on corrige tout ca ca devrai donner qqch comme :
  1. dim y as Long '// tu déclare ta variable en long
  2.  
  3. dim ws_source as Worksheet '// déclare ta feuille
  4. set ws_source = Worksheets("...")
  5.  
  6. y = ws_source.Columns("B").end(xlup).row '// tu trouve la ligne de la dernière cellule de ta colonne
  7. ws_source.Range(cells(1,3),cells(y,4)).Clearcontents '// tu supprime le contenu de ta plage


Alors bien sûr ici, la macro trouve a chaque fois la dernière cellule de la colonne B et supprime les colonnes C et D
maintenant il me vient une question... je n'ai pas ton tableau sous les yeux mais pourquoi ne pas supprimer directement les colonnes C et D ?
Ensuite si tu veux l'adapter d'une manière générale du genre je donne le nom d'une colonne et il me supprime les 2 suivantes ...
Mais d'abord étudie ce que je viens de te montrer et notamment la construction du .Range()

@+
Expert Programmation

Salut,

Zeb vient mettre son grain de sel.
  1. ' // Pas bon
  2. ws_source.Range(cells(1,3),cells(y,4))....
  3.  
  4. ' // Bon
  5. ws_source.Range(ws_source.cells(1,3), ws_source.cells(y,4))....
Houais, je sais c'est lourd.

  1. ws_source.Columns(B)
Si B est une variable qui contient 2 ou "B", ça marche. Sinon, c'est qu'on a oublié de mettre des guillemets ;) 
Expert Programmation

Quand on écrit du code dans une petite fenêtre entre deux balises [code] sur un forum, de tête et entre deux coups de fils professionnels, réunions du comité technique de la boîte, etc, il est permis de faire une chtite erreur de temps en temps.

Pour ne pas risquer de faire les mêmes étourderies dans l'éditeur VB, prière d'utiliser l'Option Explicit.
:o 
Lassé par la pub ? Créez un compte