appliquer filtre sur fichier unique, puis copier coller le résultat

Y compris Power BI, Power Query et toute autre question en lien avec Excel
g
gperros
Jeune membre
Jeune membre
Messages : 30
Inscrit le : 6 octobre 2014
Version d'Excel : 2007

Message par gperros » 18 février 2019, 11:29

Oui, ils existent, mais les données ne sont pas à jour.
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 13'504
Appréciations reçues : 752
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR
Téléchargements : Mes applications

Message par Steelson » 18 février 2019, 11:33

Est-ce qu'il faut écraser complètement m'onglet avec les nouvelles données ? y a t'il des données ajoutées à préserver dans ces onglets ?

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
g
gperros
Jeune membre
Jeune membre
Messages : 30
Inscrit le : 6 octobre 2014
Version d'Excel : 2007

Message par gperros » 18 février 2019, 11:40

Il y a des formules à conserver à la droite de l'extraction (de la colonne X à AC).
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 13'504
Appréciations reçues : 752
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR
Téléchargements : Mes applications

Message par Steelson » 18 février 2019, 12:40

Le problème est que tu fichier projet1 n'était donc pas représentatif ... en aurais-tu un représentatif de la réalité.
Car j'ai encore des questions ...
- les données sont-elles déjà bien sous forme de tableau ?
- les nouvelles données sont-elles à ajouter ? ou bien il faut comparer les fichiers et n'ajouter que les nouvelles lignes ? ou bien faut-il mettre jour les lignes déjà existantes et ajouter de nouvelles ?

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
g
gperros
Jeune membre
Jeune membre
Messages : 30
Inscrit le : 6 octobre 2014
Version d'Excel : 2007

Message par gperros » 18 février 2019, 13:25

Ok du coup je t'envoies en pièce jointe un vrai exemple et quelques explications:

- onglet synthèse: c'est l'onglet de présentation, là où les informations sont misent en forment (les infos sont piochées dans les autres onglets). Cet onglet est figé, je ne le modifie pas.
- onglet "identité projet": il me sert juste à obtenir une image des infos dans l'onglet synthèse (je peux grâce à cela, masquer des colonnes sans masquer ces informations).
- onglet "frais de pers": pas encore fonctionnel
- onglet "BI 2017": il s'agit d'une extraction du budget 2017. J'ai colorié en vert les données qui ne bougent pas (de A1 à U1, il s'agit de l'entête qui conserve toujours le même format, et de V... à AC..., il s'agit de formules (ici c'est un copié collé valeur pour alléger le fichier, mais dans BI 2018 les formules sont bien là). En bleu ce sont les données à mettre à jour. Il faut donc écraser ces données anciennes avec de nouvelles issues du fichier "BDD"
- onglet BI 2018: Idem
- onglet "CJIA 2018": même code couleur: en vert ne pas toucher, et en bleu, écraser avec de nouvelles données. les nouvelles données conserve le même nombre de colonne. Seul le nombre de ligne change.

J'espère avoir répondu à tes interrogations :wink:

PS: le code P204-0004_VRPOM est le code du projet (il est unique, 1 code par projet).
P204-0004_VRPOM.xlsm
(680.68 Kio) Téléchargé 2 fois
g
gperros
Jeune membre
Jeune membre
Messages : 30
Inscrit le : 6 octobre 2014
Version d'Excel : 2007

Message par gperros » 18 février 2019, 13:27

Opus, la pièce jointe n'était pas à jour. la voici avec les bonnes couleurs. :oops:
P204-0004_VRPOM.xlsm
(699.21 Kio) Téléchargé 8 fois
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 13'504
Appréciations reçues : 752
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR
Téléchargements : Mes applications

Message par Steelson » 19 février 2019, 00:41

Il faut que je reprenne tout le code, et on s'écarte beaucoup du standard. Cela risque de me prendre quelques temps ...

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
g
gperros
Jeune membre
Jeune membre
Messages : 30
Inscrit le : 6 octobre 2014
Version d'Excel : 2007

Message par gperros » 21 février 2019, 10:00

Bonjour à vous deux,

Sinon je ne sais pas si la proposition de Theze pouvait fonctionner car je n'ai pas réussi à correctement placer son complément de code suivant:

Function DefPlage(Fe As Worksheet, Optional L As Long = 1, Optional C As Long = 1) As Range

On Error GoTo Fin

With Fe

Set DefPlage = .Range(.Cells(L, C), _
.Cells(.Cells.Find("*", .[A1], -4123, , _
1, 2).Row, .Cells.Find("*", .[A1], -4123, , _
2, 2).Column))

End With

Exit Function

Fin:

Set DefPlage = Nothing

End Function

Guillaume
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 13'504
Appréciations reçues : 752
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR
Téléchargements : Mes applications

Message par Steelson » 21 février 2019, 12:53

Bonjour Guillaume,

je ne peux pas répondre pour Theze ... je n'ai pas encore réussi à dégager du temps mais cela vient ...

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
T
Theze
Passionné d'Excel
Passionné d'Excel
Messages : 4'020
Appréciations reçues : 305
Inscrit le : 26 janvier 2011
Version d'Excel : 2007/2019

Message par Theze » 21 février 2019, 12:59

Bonjour,

Le code complet est :
Sub Filtre()
    
    Dim ClBDD As Workbook
    Dim ClProjet As Workbook
    Dim Plage As Range
    Dim Cel As Range
    Dim Critere As String
    
    Set ClBDD = Workbooks("BDD.xlsx")
    Set ClProjet = Workbooks("Projet1.xlsx")
    
    Critere = ClProjet.Worksheets("2018").Range("B2").Value
    
    Set Plage = DefPlage(ClBDD.Worksheets("2018"))
    
    Plage.AutoFilter 2, "=" & Critere
    ClBDD.Worksheets("2018").AutoFilter.Range.EntireRow.Copy ClProjet.Worksheets("2018").Range("A1")
    
    Plage.AutoFilter
    
End Sub

Function DefPlage(Fe As Worksheet, Optional L As Long = 1, Optional C As Long = 1) As Range
    
    On Error GoTo Fin
    
    With Fe

        Set DefPlage = .Range(.Cells(L, C), _
                       .Cells(.Cells.Find("*", .[A1], -4123, , _
                       1, 2).Row, .Cells.Find("*", .[A1], -4123, , _
                       2, 2).Column))

    End With
    
    Exit Function
    
Fin:

    Set DefPlage = Nothing

End Function
mais je l'ai conçu par rapport aux deux fichiers que tu as posté à l'ouverture seulement, je vois que les fichiers n'ont aucun rapport avec celui montré en dernier !
Steelson (°v°)° a travaillé pour rien sur ton projet car maintenant, il ne correspond pratiquement (ou même absolument) en rien à l'origine et c'est pour cette raison que je dis toujours que les fichiers postés en exemple doivent impérativement ressembler le plus possible au fichier original (copie de ce ou ces derniers avec anonymisation des données). Je vais un peu me pencher sur ton fichier mais comme je n'ai pas pris la peine de lire votre échange, ça va pas être pour tout de suite.
1 membre du forum aime ce message.
Il vaut mieux un qui sait que cent qui cherchent :wink:

Ce forum étant un lieu de partage, je n'accepte pas les messages privés !
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message