Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Souci copier/coller avec un filtre.

Xender

XLDnaute Nouveau
Bonjour,

Je me permet de venir vers vous car j'ai un souci.

J'ai actuellement un code VBA qui me permet de :
_ filtrer les deux colonnes nécessaire pour mes analyse dans le ficher de données.
_ Puis de copier les 100 dernières valeur rentrées dans le fichier de donné.
_ Et les coller dans mon fichier d'analyse.


Code:
'Filtrage Epicéa G20
Sheets("CourantDataFile").Range("A3:N3").AutoFilter Field:=6, _
                                     Criteria1:="Epicéa"
Sheets("CourantDataFile").Range("A3:N3").AutoFilter Field:=7, _
                                     Criteria1:="G20"
                                     
'Copie Rupture
    Dim derlig&
With Sheets("CourantDataFile")
derlig = .Cells(.Rows.Count, "H").End(xlUp).Row
If derlig < 100 Then Exit Sub
.Cells(derlig - 99, "H").Resize(100).Copy
End With
Windows("Final").Activate
With ActiveSheet
.Range("E20").PasteSpecial xlPasteValuesAndNumberFormats
Application.Goto .Range("A1"), True 'cadrage
End With
Application.CutCopyMode = 0

Sur le code que j'ai mis, c'est le filtre de l'épicéa mais lui à les valeurs nécessaire, par contre quand je fait la même chose avec le Douglas G28 ca ne fonctionne pas.

Toute la partie copier coller fonctionne correctement.

Le problème que j'ai, c'est que lorsque la macro copie les 100 valeurs à partir de la dernière ligne renseignée, elle va quand même copier au delà du filtre si il n'y a pas 100 valeur présent dans les valeur filtrées.

Du coup lorsque je transfert les données pour analyse, il y a des données en trop qui ne doivent pas être présente.
Comme sur la photo, ou l'on voie deux essence de bois en Epicéa G20 et en Douglas G28.

Je ne sais pas si il éxiste une ligne de programmation pour dire :
Soit de copier les 100 valeur si elle sont présente.
Soit de copier que la partie filtrée si les 100 valeurs ne sont pas présentes.

J'espère être assez claire dans mes explication, si vous avez des question n'hésitez pas à revenir vers moi.

Cordialement.
 

Pièces jointes

  • prob filtre copier.png
    73.9 KB · Affichages: 22

ChTi160

XLDnaute Barbatruc
Bonjour le Fil ,
Une vidéo de ce que j'ai fait
Quelques modifications dans la présentation(perfectible)
Bonne Journée
Jean marie
 

Pièces jointes

  • Final la selection.gif
    845.2 KB · Affichages: 15

Xender

XLDnaute Nouveau
Bonjour Jean Marie,

Wow c'est trop bien en automatisé

J'aimerais bien avoir votre niveau en programmation ca m'aiderais pour pas mal de choses ^^

Mais franchement le fichier à l'air top comme ca !
 

ChTi160

XLDnaute Barbatruc
Bonsoir xender
Depuis mon téléphone (pas d'internet)
Je suis dans un gîte du côté de Fécamp lol
Tu dis : "Juste un petit détail, les copier/coller ne s'inverse plus lors du collage dans le fichier final." Je ne comprends pas ! Peux tu m'expliquer et me mettre un exemple de ce que tu as et ce que tu voudrais avoir .
Merci par avance
Jean marie
 

Xender

XLDnaute Nouveau
Je vais essayer de faire simple pour vous expliquer :

Dans le fichier CourantDataFile les données sont dans cet ordre lors du copier :

1
2
3
4
5

Lors du coller dans le fichier Final, j'aurais besoin qu'elle s'inverse :

5
4
3
2
1

Et ce ci sur toute les valeur copier/coller.

J'ai besoin que les dernières date renseigné dans le tableau CourantDataFile soit en première dans le tableau Final.

N'étant pas à mon travail aujourd'hui je n'ai que mon telephone aussi ^^

J'espère que c'est claire sinon je vous renverrais des screens demain ^^
 

ChTi160

XLDnaute Barbatruc
Bonsoir xender
ce que j'ai modifié (mon ordi écran noir ????????)
VB:
If OkFound Then
For Lgn = UBound(Tbl_BDD, 1) To 1 Step -1 'inversion ici
StrC = Tbl_BDD(Lgn, 6) & "-" & Tbl_BDD(Lgn, 7)
Bonne fin de soirée.
jean marie
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…