Bonjour à tous,
Je dispose d'une base de données dans un onglet de mon fichier excel. J'ai créé une macro qui me permet de recopier dans un autre onglet les seules lignes de cette base de données avec lesquelles je veux effectuer mon calcul (et qui ont auparavant été sélectionnées à l'aide d'un "X" dans la colonne indiquée pour). (Genre, en tout, j'ai 558 lignes renseignées, et je peux en sélectionner autant que je veux.)
Selon le nombre de données avec lesquelles je veux travailler (entre 1 et 558), mon second onglet va présenter un nombre de lignes "remplies" plus ou moins élevé. Je dois donc lui faire insérer des lignes, ou en supprimer, en fonction du cas précédent de calcul. Ca, ce n'est pas un problème.
Ce qui m'embête, c'est que, une fois que j'ai ajouté ou supprimé le nombre de lignes qu'il me faut et que j'ai tout recopié, ma "mise en page" est un peu "abîmée"... En gros, l'insertion et la suppression de lignes n'a pas respecté les bordures de cellules que j'avais mises en place, et je veux rattraper le coup en toute fin de macro. (J'avais créé un truc qui le faisait automatiquement à chaque insertion de ligne, mais c'était beaucoup trop lourd, et en plus, ça faisait potentiellement 557 fois un travail qui était effacé au coup suivant...)
Donc tout simplement, j'ai tenté le code suivant :
Sheets("Minéraux retenus").Range(Cells(7, 5), Cells(j - 3, 7)).Select
'With Selection.Borders(xlEdgeLeft)
'.LineStyle = xlContinuous
'.ColorIndex = xlAutomatic
'.TintAndShade = 0
'.Weight = xlThin
etc etc, avec tout ce qu'il me faut pour faire une belle mise en page.
(NB : j est un curseur défini auparavant dans la macro, et qui est lié au nombre de lignes que j'ai recopiées de ma base de données.)
Mais ça ne marche pas ! :-(
J'ai testé en mode pas-à-pas, et l'erreur vient de la ligne Range(...).Select
Comme j'ai déjà utilisé la même grammaire pour un autre code qui tourne (lui !), je ne vois vraiment pas où se trouve le problème...
Merci d'avance pour votre aide !
Je dispose d'une base de données dans un onglet de mon fichier excel. J'ai créé une macro qui me permet de recopier dans un autre onglet les seules lignes de cette base de données avec lesquelles je veux effectuer mon calcul (et qui ont auparavant été sélectionnées à l'aide d'un "X" dans la colonne indiquée pour). (Genre, en tout, j'ai 558 lignes renseignées, et je peux en sélectionner autant que je veux.)
Selon le nombre de données avec lesquelles je veux travailler (entre 1 et 558), mon second onglet va présenter un nombre de lignes "remplies" plus ou moins élevé. Je dois donc lui faire insérer des lignes, ou en supprimer, en fonction du cas précédent de calcul. Ca, ce n'est pas un problème.
Ce qui m'embête, c'est que, une fois que j'ai ajouté ou supprimé le nombre de lignes qu'il me faut et que j'ai tout recopié, ma "mise en page" est un peu "abîmée"... En gros, l'insertion et la suppression de lignes n'a pas respecté les bordures de cellules que j'avais mises en place, et je veux rattraper le coup en toute fin de macro. (J'avais créé un truc qui le faisait automatiquement à chaque insertion de ligne, mais c'était beaucoup trop lourd, et en plus, ça faisait potentiellement 557 fois un travail qui était effacé au coup suivant...)
Donc tout simplement, j'ai tenté le code suivant :
Sheets("Minéraux retenus").Range(Cells(7, 5), Cells(j - 3, 7)).Select
'With Selection.Borders(xlEdgeLeft)
'.LineStyle = xlContinuous
'.ColorIndex = xlAutomatic
'.TintAndShade = 0
'.Weight = xlThin
etc etc, avec tout ce qu'il me faut pour faire une belle mise en page.
(NB : j est un curseur défini auparavant dans la macro, et qui est lié au nombre de lignes que j'ai recopiées de ma base de données.)
Mais ça ne marche pas ! :-(
J'ai testé en mode pas-à-pas, et l'erreur vient de la ligne Range(...).Select
Comme j'ai déjà utilisé la même grammaire pour un autre code qui tourne (lui !), je ne vois vraiment pas où se trouve le problème...
Merci d'avance pour votre aide !