Filtre copier / collage spécial de valeurs pour figer le résultat de formules

Scoty

XLDnaute Occasionnel
Bonsoir à tous,

Soit un tableau de données que je peux filtrer en fonction d'une condition 1 (col D). une fois filtré, je souhaite effectuer sur les colonnes de données un copier / collage spécial valeurs, pour ainsi figer le résultat des formules filtrées.

Si macro, pourriez vous m'expliquer rapidement comment faire évoluer le nombre de colonnes (car en réalité j'en ai au moins 3 à figer) qui ne soit pas forcement en colonne F ni cote à cote.

Mille merci dans l'attente de vous lire

@+Scoty
 

Pièces jointes

  • Filtre Copier-Collage spécial avec valeurs.xlsx
    11.4 KB · Affichages: 37

job75

XLDnaute Barbatruc
Re : Filtre copier / collage spécial de valeurs pour figer le résultat de formules

Bonjour Scoty, le forum,

Si macro, pourriez vous m'expliquer rapidement comment faire évoluer le nombre de colonnes (car en réalité j'en ai au moins 3 à figer) qui ne soit pas forcement en colonne F ni cote à cote.

Dans ce cas, dans votre exemple, vous auriez pu mettre des colonnes non jointives.

C'est ce que j'ai fait dans le fichier joint.

Une macro très simple :

Code:
Sub Valeurs()
Dim r As Range
Set r = Intersect([G:G,J:J], [D3].CurrentRegion.EntireRow) 'à adapter
For Each r In r
  If r.EntireRow.Hidden = False Then r = r.Value 'copie la valeur
Next
End Sub
A+
 

Pièces jointes

  • Filtre Copier-Collage spécial avec valeurs(1).xls
    56 KB · Affichages: 56

Scoty

XLDnaute Occasionnel
Re : Filtre copier / collage spécial de valeurs pour figer le résultat de formules

Bonjour Job,

Impeccable, mille merci, c'est parfaitement ce que je recherche.

Une dernière petite question pour clôturer la discussion :

Code:
Set r = Intersect([G:G,J:J], [z3].CurrentRegion.EntireRow) 'à adapter

[D3] : je suppose que c'est la cellule contenant mon filtre. J'ai décallé toute la colonne en B par exemple et il n'y a pas eu d'incidence. Par contre j'ai mis [Z3] pour tester et dans ce cas la macro a beugué. Pouvez vous m'éclaircir un peu?

Encore merci Job. Excellente journée

@+
Scoty
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Filtre copier / collage spécial de valeurs pour figer le résultat de formules

Re,

Ceci sera plus rapide :

Code:
Sub Valeurs()
Dim r As Range
Application.ScreenUpdating = False
Set r = Intersect([G:G,J:J], [D3].CurrentRegion.EntireRow) 'à adapter
For Each r In r.SpecialCells(xlCellTypeVisible)
  r = r.Value 'copie la valeur
Next
End Sub
Fichier (2).

A+
 

Pièces jointes

  • Filtre Copier-Collage spécial avec valeurs(2).xls
    56.5 KB · Affichages: 33

job75

XLDnaute Barbatruc
Re : Filtre copier / collage spécial de valeurs pour figer le résultat de formules

Re,

Concernant votre post #3 :

- a priori la macro du fichier (1) ne peut pas beuguer, il faudrait voir votre fichier

- la macro du fichier (2) peut beuguer si toutes les lignes des plages étudiées sont masquées.

A+
 

Scoty

XLDnaute Occasionnel
Re : Filtre copier / collage spécial de valeurs pour figer le résultat de formules

Re job,

Dans mon post #3, j'avais omis de vous dire que j'avais réduit la taille des colonnes pour effectuer la macro (peut être la raison de l'erreur...). Car dans mon vrai tableau, j'ai des calculs sous les colonnes filtrées que je ne souhaite bien sûr pas figé, et j'ai supposé qu'en laissant la colonne entière cela allait effectivement tout figer.

Encore une fois un grand merci.

Excellente journée job

@+
Scoty
 

Pièces jointes

  • Filtre Copier-Collage spécial avec valeurs erreur .xls
    50.5 KB · Affichages: 30
Dernière édition:

job75

XLDnaute Barbatruc
Re : Filtre copier / collage spécial de valeurs pour figer le résultat de formules

Re,

Evidemment, vous avez utilisé le code :

Code:
Set r = Intersect([G4:G20,J4:J20], [z3].CurrentRegion.EntireRow) 'à adapter
C'est facile à comprendre :

- autour de Z3 il n'y a rien donc [z3].CurrentRegion c'est la cellule Z3

- [z3].CurrentRegion.EntireRow c'est alors la ligne 3 => [3:3]

- et l'intersection de cette ligne avec la plage [G4:G20,J4:J20] n'existe pas => Nothing.

Il faut bien sûr, comme je l'ai fait, utiliser des colonnes entières => [G:G,J:J].

A+
 

Scoty

XLDnaute Occasionnel
Re : Filtre copier / collage spécial de valeurs pour figer le résultat de formules

Re job,

Ok ça marche normal du coup pour l'erreur.

J'ai quand même fais un autre test, j'ai modifié la zone de cette manière:

Code:
Set r = Intersect([G4:G14,J4:J14], [D3].CurrentRegion.EntireRow)  'à adapter

Une fois filtré, je lance la macro cela me fige bien qu'une partie des lignes filtrées. Votre macro marche à merveille.

@+
Scoty
 

Discussions similaires

Statistiques des forums

Discussions
312 206
Messages
2 086 202
Membres
103 157
dernier inscrit
youma