C'est concernant un tri résultant en centaines de lignes que j'aimerais modifier en valeur (afin de conserver les résultats sans les formules dans les cases).
Comme ça ne fonctionne pas, je me demandais s'il y a avait une autre méthode possible?
effectivement le copier special ne fonctionne pas sur une plage non continue.
la question. pourquoi as tu besoin de ne plus avoir que des valeurs. alors que tu demandes ensuite (en option) de remettre les formules??
Que fais tu des données filtrées (et pas triée) ?
avec cette macro à lancer à partir de la feuille qui contient le tableau de données
VB:
Sub Macro1()
With ActiveSheet.ListObjects("Tableau13")
.Range.AutoFilter Field:=2, Criteria1:="BAR"
.DataBodyRange.SpecialCells(xlCellTypeVisible).Copy Destination:=Sheets("Feuil1").Range("A2")
End With
End Sub
effectivement le copier special ne fonctionne pas sur une plage non continue.
la question. pourquoi as tu besoin de ne plus avoir que des valeurs. alors que tu demandes ensuite (en option) de remettre les formules??
Que fais tu des données filtrées (et pas triée) ?
Je dois reporter certaines données des colonnes titrées en vert en lieux des bleues mais je dois avant conserver certaines données tel quel dans les bleues (selon un tri spécifique).
Le problème, c'est qu'il y a des calculs dans les bleues basées sur des colonnes appelées à disparaitre donc bonjour les N/A. J'ai donc besoin de consolider certaines plages triées en bleu sans ces liens vers des plages appelées à disparaître.
Ensuite, je dois vider la section verte pour l'année prochaine (qui sera à remplir).
C'est franchement ridicule comme manip, mais c'est la demande.
avec cette macro à lancer à partir de la feuille qui contient le tableau de données
VB:
Sub Macro1()
With ActiveSheet.ListObjects("Tableau13")
.Range.AutoFilter Field:=2, Criteria1:="BAR"
.DataBodyRange.SpecialCells(xlCellTypeVisible).Copy Destination:=Sheets("Feuil1").Range("A2")
End With
End Sub
avec cette macro à lancer à partir de la feuille qui contient le tableau de données
VB:
Sub Macro1()
With ActiveSheet.ListObjects("Tableau13")
.Range.AutoFilter Field:=2, Criteria1:="BAR"
.DataBodyRange.SpecialCells(xlCellTypeVisible).Copy Destination:=Sheets("Feuil1").Range("A2")
End With
End Sub
pour que ca fonctionne;. il faut que la feuille cible (Feuil1) existe dans ton classeur
puisque la macro filtre et exporte en valeur le résultat du filtre sur la feuille 1
la cellue A2, c'est pour dire à partir d'où on colle le résultat
après;. si il faut absolument obtenir la copie en valeur en lieu et place de la feuille filtrée, il faut ajouter une étape de "TRI" comme suggéré JHA (Hello) ==> ce qui permet d'avoir un résultat filtré sur des lignes continues. et donc un copier collage spécial possible
mais du coup. je ne comprend pas du tout l'intérêt surtout si tu remets les formules juste après==> le copier collage spécial sera totalement inutile..