Copier sur une nouvelle page des lignes sélectionnées selon un critère

Bonjour à tous,

Je dois analyser des fichiers Excel contenant un grand nombre de données. Pour faciliter leur traitement (une trentaine d'onglets, une bonne dizaine de milliers de lignes au total), j'aimerais, sur un nouvel onglet, récupérer toutes les lignes datées d'une certaine semaine, ici la semaine du 13 au 19 janvier 2020.

Est-il possible d'identifier, sur chacun des onglets, les lignes datées du 13 au 19/01 pour les recopier ensuite sur un nouvel onglet ?

J'ai trouvé un sujet traitant d'une problématique proche de la mienne (https://forum.excel-pratique.com/viewtopic.php?t=23696), sans arriver à adapter la solution à mon cas.

Voici le fichier en question :

En espérant que j'arriverai à résoudre le souci grâce à votre aide. Merci par avance

ça doit être assez simple à faire avec une macro, mais je n'arrive pas à ouvrir ton fichier (on dirait que l'archive 7zip est vide)

C'est bon Caspi ! J'ai remplacé le fichier dans mon précédent message.

Voici quelque chose qui devrait fonctionner (en faisant bien attention que les dates dans la colonne B des onglets Véhicule soient bien au format date et pas au format texte.

Merci pour la solution que tu proposes et le temps que tu y as consacré !

Seulement la ligne 52 de l'onglet "Output" comporte une date qui n'est pas la bonne, cette ligne n'aurait donc pas dû être sélectionnée ... ? Toujours sur cet onglet, les lignes sélectionnées ne changent pas quand je change les dates du haut de la colonne B. Est-ce que tu saurais m'expliquer les modifs apportées au doc de départ, pour voir ce qui pourrait coincer ?

Effectivement il y avait un bug dans ma macro. Voici une version qui devrait mieux fonctionner. Avec un bouton pour simplifier le travail.

Salut ! J'ai bien reçu ton fichier. Ca fonctionne, c'est plutôt pas mal !

Etape suivante : le transposer à mon fichier de base. Je n'ai pas réussi à exporter ma macro donc j'ai copié/collé tous les onglets de mon fichier dans le tien. Cette fois-ci c'est le format des dates qui pose problème, il semble verrouillé. Donc deux questions :

. Quelle manip as-tu utilisée pour passer les dates au bon format ? Certains parlent d'une formule mais je suis convaincu qu'il y a plus simple ! Et le fichier doit bien recenser une dizaine de milliers de lignes donc l'opération ligne par ligne est proscrite.

. Connais-tu un moyen d'exporter l'onglet contenant la macro, ou bien simplement la macro ? L'exportation seule des modules (cliquer/glisser dans VBA) ne suffit pas et je suis en prime toujours embêté par ce format de date !

Pour convertir tes cellules en vrai format date, tu peux sélectionner les cellules correspondantes et faire tourner cette macro:

Sub Macro2()

Dim cel As Range

For Each cel In Selection

If IsDate(cel.Value) = False And IsEmpty(cel.Value) = False Then

    Tableau = Split(cel.Value, " ")

    ListeMois = Array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre")

    For m = 0 To 12
        If UCase(ListeMois(m)) = UCase(Tableau(2)) Then
        Tableau(2) = m + 1
        Exit For
        End If
    Next m

cel.Value = DateSerial(Tableau(3), Tableau(2), Tableau(1))

End If

Next cel

End Sub

Hello Caspi,

Désolé je rame un peu, la macro fonctionne ! mais pas sur les onglets avec mes données, seulement en partant d'un des onglets que tu as modifiés que je copie et dans lequel je colle les données de l'onglet à retoucher.

Le débuggeur s'arrête systématiquement sur cette ligne de ta macro : If UCase(ListeMois(m)) = UCase(Tableau(2)) Then

Donc, existe-t-il différents formats d'onglets qui puissent empêcher ou autoriser l'application de ta macro ? Une fois de plus je n'ai pas réussi à trouver ce type d'info précise en ligne, seulement des infos générales sur les feuilles elles-mêmes.

Rechercher des sujets similaires à "copier nouvelle page lignes selectionnees critere"