Code VBA EXTRACTION a partir d'une date

Bonjour à tous,

Afin de gagner du temps dans mon travail je souhaiterais créé une macro, me permettant de copier en valeur certaine colonnes sur un autre onglet avec comme critère une date dans la cellule ( peu importe la quel) . De plus il faudrait que celle -ci soit conserver dans lautre onglet .

Je travail actuellement sur un fichier test , malheureusement le code macro ne marche pas . … POurriez-vous me conseiller ?

Merci d'avance

Cordialement ,

Bonne journée

Que pensez vous de ce code ;

Dim Lig As Long
Dim Col As String

Dim NbrLig As Long

Dim NumLig As Long

Sheets("feuil2").Activate ' feuille de destination

Col = "i" ' colonne données non vides à tester'

NumLig = 2 'alors là ca doit etre le N° de la 1er ligne de données en comptant la ligne 1 = 0 .... ? '

With Sheets("feuil1") ' feuille source'

NbrLig = .Cells(65536, Col).End(xlUp).Row

For Lig = 3 To NbrLig 'n° de la 1ere ligne de données'

If .Cells(Lig, Col).Value <> "" Then

.Cells(Lig, Col).EntireRow.Copy

NumLig = NumLig + 1

Sheets("feuil2").Cells(NumLig, 1).Insert Shift:=xlDown

'ici pour insérer ou .Paste pour coller'

End If

Next

End With

Bonjour

  • Soit passe par un filtre avancé : c'est plus rapide et efficace que tout autre méthode
  • soit passe par PowerQuery intégré à Excel

Mais ces deux méthodes nécessite des titres de colonnes moins bidons

Quand à "avec comme critère une date dans la cellule ( peu importe la quel) " on suppose que c'est de la dernière colonne que tu parles...

Tu ne dis pas si cette extraction est a faire régulièrement ou une seul fois, si cela doit s'ajouter aux extractions précédentes ou refaire intégralement.

Un minimum de précision s'impose

Bonjour,

pour la création de nouveau onglet avec des sélections préalables pas besoin d'une lourde programmation !

un simple TCD automatique actualisable permet facilement par double clic sur une info de créer le nouvel onglet souhaité et de le conserver.

(Même si la conservation du nouvel onglet n'est pas nécessaire puisque le tcd peut le recréer à chaque fois.) ce qui limite la lourdeur du stockage.

Bonjour 78Chris,

Merci pour tes conseils, je ne connais pas ces 2 méthodes , je vais regardée de suite :)

et remettre un plus de détails dans mon fichier test! milles excuses , je n'est pas penser a tout sa cela paraissait logique dans ma tète , mais pour voir effectivement c'est bien plus compliqué .

- Quand à "avec comme critère une date dans la cellule ( peu importe la quel) " => dernière colonne je confirme

- cette extraction sera faite touts les jours de la semaine et cela s'ajouter aux extractions précédentes ( en ne copiant pas les doublons)

MERICIII ENCORE :)

Bonjour Xmenpl,

Merci pour tes recherches ^^ , je connait bien les TCDs.

malheureusement cela ne me permet pas ni conserver les lignes passée , et de spécifié un commentaire associé a la ligne , de plus si j'actualise le TCD alors il additionnera les doublons :/

je n'est pas accès a PowerQuery intégré à Excel, il n'est pas instaler :(

RE

PowerQuery est intégré à 2016 et accessible à partir de l'onglet Données

Dans quelques cas très rares, il faut compléter le ruban à moins que l'informatique ait expressément choisi à l'installation de garder la gestion de données des anciennes versions (ce qui est rare, les DSI ayant souvent une connaissance peu approfondie des outils bureautiques)

Peux-tu préciser ton problème de doublons de façon détaillée.

SI je comprends bien les colonnes Date de clôture et Commentaires sont ajoutées sur SUIVI

Re :)

Oui totalement , j'ai rechercher sur internet l'installation ou l'activation , mais tu as raison la DSI a garder la gestion de données des anciennes versions .

capture

Concernant les doublons, sur le principe d'une macro, lorsque il active tout les jours , vue qu'il a les même critères, il devrai les recopier dans l'onglet ,mais du coup pas besoin, car ils y seront déja

Bonjour Xmenpl,

Merci pour tes recherches ^^ , je connait bien les TCDs.

malheureusement cela ne me permet pas ni conserver les lignes passée , et de spécifié un commentaire associé a la ligne , de plus si j'actualise le TCD alors il additionnera les doublons :/

puisque qu'un double clic sur une info de TCD créer un nouvel onglet à partir des données sources sans aucun lien ; je ne vois pas pourquoi

le nouvel onglet ne pourrait pas être conservé. Mais bon si vous connaissez mieux les TCD que moi….

Bonjour Xmenpl,

Je pense qu'on a tous chacun nos compétences et connaissance, je vais surement en apprendre d'autre sur les TCDs.

Mon idée première, sur ma problématique étai une macro , ce n'est peut être pas la meilleur :)

Re :)

Oui totalement , j'ai rechercher sur internet l'installation ou l'activation , mais tu as raison la DSI a garder la gestion de données des anciennes versions .

capture

PowerQuery étant intégré et non un complément cette image listant les compléments ne prouve rien...

Poste plutôt l'image de ton onglet Données

Bonjour 78chris,

Merci pour ton conseille , je ne savais pas , ci-joint une copie de mon onglet Données

capture

Idem je rechercher d'autre solution que le TCD ou MACRo , savez-vous sur un =SI comment traduire si cette cellule contient une date alors copier cette cellule sinon rien ?

RE

Tu as bien PowerQuery.

Ci-joint une requête : Données, Actualiser Tout pour mettre à jour SUIVI

Bonjour 78chris,

un Grand Merci pour tes recherches et créations des requêtes!! , c'est exactement mais attente .

Je ne connaissais pas Power Query , cela me fait penser a du Acces avec du langage VBA. , En tout cas outil impressionnant que je vais chercher a utilisé plus souvent

je cherche a comprendre le langage …

car je voulais rajouter une condition sur la requête ENCOURS , mais je ne voie pas la solution . =>si il y a maqué F1( colonne V) + date d'expédition renseigner alors le copier dans le suivi.

Pour le filtre sur la date d'expédition tu as utiliser une étapa dans la requete ;Table.RemoveRowsWithErrors(#"Type modifié", {"date expédition"}) mais comment faire la meme chose pour le F1 ? une autre étape a rajouté avant ?

Ps pour mon info pourquoi refaire des étapes dans la 1requète du type Table.TransformColumnTypes ?

Bonjour

PowerQuery n'utilise pas VBA mais le langage M

Ta demande initiale était que le date soit renseignée, indépendamment de toute autre colonne

Faut-il se limiter à F1 + date ?

Sinon cela ne change rien...

PowerQuery, comme toute base de données va refuser une valeur de la colonne Date qui n'en est pas une d'où la suppression des dates en erreur qui filtre dès facto les dates pour ne retenir que les vraies dates mais j'aurais du ajouter la suppression des vides

Par défaut PowerQuery met les dates en date et heure : je préfère Date sauf besoin particulier et le fait donc systématiquement

Re ,

D'accord merci de la précision :)

Effectivement c'étai bien ma demande initial , j'avais travaillé sur un fichier test en version simplifié , je pensai que du principe ou je trouver le code pour filtrer sur la date , cela serait le même sur le F1…

oui ses F1 + date …

ok merci beaucoup je vais essayer de bien comprendre pour reproduire sur mon fichier réel

Bonne apétit a vous :)

RE, :)

Merci c'est top ,

tu as rajouter une étape a la requête initial " = Table.SelectRows(#"Erreurs supprimées", each ([date expédition] <> null and [date expédition] <> "") and ([#"forme 1 / CC"] = "f1"))"

J'aurai pas trouver seul, merci encore !

Aller j'essaye l'application sur mon fichier

Bonne journée

Rechercher des sujets similaires à "code vba extraction partir date"