Re: => Mini Démo de copié/collé en foction couleur de cellule
Bonjour, Thierry,
A chaque fois que je viens ici, je suis subjugué par toutes, ces, performances. j'ai regardé ton fichier plus en détail, et vraiment il n'y'a rien à faire, je n'arrive pas à le modifier selon des registres. j'ai compris le systeme de N° de range, mais dés que j'affine un peu plus, j'ai des message d'erreur, du style ''fin de ligne en deboggage'', la selection n'appartien pas....'' ou alors j'ai l'écran psychedélique qui clignotte, ''lol j'ai l'impression qu'il va exploser.
Donc je suis complètement perdu dans toutes ces lignes de codes qui pour toi sont qu'un simple alphabet.
Je recolle ici, le code que tu a créé spécialement pour moi.
Sub Report()
Dim DerLigneCible As Integer
Dim DerLigneSource As Integer
Dim PlageSource As Range
Dim Cell As Range
DerLigneSource = Sheets("Data").Range("A65536").End(xlUp).Row
If DerLigneSource = 1 Then Exit Sub
Set PlageSource = Sheets("Data").Range("A2:A" & DerLigneSource)
For Each Cell In PlageSource
If Cell.Interior.ColorIndex = 44 Then
DerLigneCible = Sheets("Historiques").Range("A65536").End(xlUp).Row + 1
Cell.EntireRow.Cut
ActiveSheet.Paste Worksheets("Historiques").Range("A" & DerLigneCible)
End If
Next Cell
End Sub
J'ai compris ton système de bouton, qui d'ailleur evite la manipulation fastidieuse, du Alt-F8.
Mon idée serait, de mettre un bouton, pour chaque catégorie (groupe) ou (sous groupe).
J'aurais donc, si j'ai bien compris, autant de macro, que de bouton.
Dans ta macro, tu définis, ''selectionner des lignes'' dans ''data', et de les deplacer dans ''Historiques'', (D'aileur je prefere, le deplacement plutôt qu'au copier coller)
Comme je n'arrive pas à examiner ton fichier, je ne sais pas comment définir un range, car, Range("A65536").End(xlUp).Row + 1 me porte confusion.
L'idée, serais de définir, une selection, par exemple (23:71)
et de la déplacer, dans l'historique, à par exemple (23:2998)
Pour l'historique, j'ai prévu large.
et en dessous de la ligne 2998, j'aurais un 2eme groupe d'historique.
donc la range, sera, (3001:5000)
Donc en résumé,
cela reviens, à travailler sur ''data'', d'une maniere un peu plus large.
Dans data je n'insere plus de ligne, elle sont maintenant coller, cela permet d'éviter, les problemes de réajustement des valeurs des lignes.
Par exemple dans data, je collerais les lignes, de (23:71)
Meme si elle ne vont pas tout le temps jusqu'à 71 ce n'est pas grave, cela me permet d'avoir un espace pour le au cas, où.
En effet, je pense qu'il serait plus simple, si elle définit tous le temps une selection de (23:71)
et qu'elle déplace, cette séléction à ''historique'' (23:2998)
Pour le 2eme groupe c'est pareil, j'affecterais, un 2ème bouton, à une macro, qui selectionnera (A75:127) et deplacera, cette selection à ''historique, (A3001:5000).
Sans le code de cette selection ''précise''(d'un point à un autre), ''precise'' ( car dans ton script, Range("A2:A" & DerLigneSource) elle selectionne, de 2 jusqu'a la fin de la feuille soit 99999)
donc en effet dans ce cas, il me faudrais une ''feuil'' par groupe, et sous groupe.
et pareil pour le script.
ActiveSheet.Paste Worksheets("Historiques").Range("A" & DerLigneCible)
En effet, tu a trouver la solution, c'est vraiment le code couleur, qui défini, la selection et cela ne m'était vraiment pas venu, à l'idée.
Je sais que tu ne prendrais vraiment pas de temps, pour changer, ces valeurs, car c'est pour toi telement simple, j'ai tenté de faire
Range(26:76)
Range(A26:A76)
de ce coté c'a marche mais dés que je change
Range("A65536").End(xlUp).Row + 1
L'écran serais prêt à exploser.
Je pense que si j'ai cette formule de selection d'un point à autre point, (26:76) et qu'il déplace à (26:2998)
j'arriverais, à définir, les autres points pour les autres groupes.
Je te remercie, beaucoup, beaucoup, sans toi, je n'aurais pas pu avancer, dans mes idées.
Hugo
''Si j'arrive à décroché un financement d'une banque, (car ces mecs il veulent toujours des statistiques détaillées, et des historiques) je saurais grace à qui'''