soenda
En fait je voudrais savoir qui de Pascal ou de toi détient la réponse
PascalXLD
Perso je préfère récuperer le nombre de ligne en début de macro
Car si je ne me trompe pas à mettre le [A65536].End(xlUp).Row dans la boucle tu recalcules à chaque tour la dernière ligne et cela n'est pas très optimisé
En effet, j'ai fais là une erreur de débutant! J'aurais dû relire ma macro posté à 16H48! Voir mieux, la rééssayer, j'aurais tout de suite vu mon erreur.
J'ai modifié le post de 16H48. Il est maintenant juste.
Pour ceux qui passerait par ici, un peu de culture :
Vous voyez souvent dans le forum :
Code:
[A[COLOR="Red"][B]65536[/B][/COLOR]].End(xlUp).Rows
ou
Range("A[COLOR="Red"][B]65536[/B][/COLOR]").End(xlUp).Row
ou ...
Signifie : aller à la cellule A65536 (la dernière ligne), puis remonter jusqu'à la première cellule pleine.
Très utile pour connaître la dernière ligne d'un tableau.
Mais pourquoi 65536 me direz vous? Car Excel 2003 a 65536 lignes.
Histoire :
-> jusqu'à la version Excel 95 (7.0) => les feuilles sont constituées de 16.384 lignes (et 256 colonnes)
-> jusqu'à la version Excel 2003 (11.0) => les feuilles sont constituées de 65.536 lignes (et 256 colonnes)
-> dans la version Excel 2007 => les feuilles sont constituées de 1.048.576 lignes (et 16.384 colonnes)
La macro de Soenda tourne sur mon PC en 0.55 de moyenne
Faut vraiment que je change de PC!!! Pourtant il était au TOP NIVEAU quand je l'ai acheté en l'an 1859
On a du faire peur à Lauren avec tout notre jargon, il a disparu!!!
A+ tout le monde
Edition : Vue ton post de 03h51, merci de tourner le couteau dans la plaie Soenda! Mais pour ma défense, ma macro figurant dans ta dernière pièce jointe n'est pas la dernière que j'ai donnée
Par acquis de conscience, j'ai fais tourner ma macro figurant dans ton dernier post, pour comparer ton PC avec le mien, elle tourne en 1,42 de moyenne sur mon PC (-> plus précisément 1,4185549 - moyenne réalisé sur un échantillon de 5 tests)!
J'ai jeté un coup d'oeil à ta macro, elle est plus courte mais : c.Offset(0, 2).Characters(Start:=1, Length:=X).Font.Bold = True
Signifie que dans la cellule : colonne C ligne ... tu mets en Gras la partie provenant de la colonne A, or sauf erreur, on ne sais pas si c'est le cas à chaque fois!
c.Offset(0, 2).Characters(Start:=X, Length:=Len(c.Offset(0, 2)) + 1 - X).Font.Italic = True
Signifie que dans la cellule : colonne C ligne ... tu mets en Italique (et gras semble t-il) la partie provenant de la colonne B, or sauf erreur, on ne sais pas si c'est le cas à chaque fois!
Une fois ta macro lancé, quelque soit la police de la colonne A et B, on obtient invariablement : Bordeaux - La bouteille de 150cl
Mais je dis ça... comme je pourrais dire...
Donc sauf nouveau concurrent, le gagnant de ce fil est ... (roulement de tambour) ... Soenda!