IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

rechercher une date et copier la ligne dans un autre onglet


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 14
    Points : 10
    Points
    10
    Par défaut rechercher une date et copier la ligne dans un autre onglet
    Bonjour
    J'ai un tableau sous excel 2003
    Je voudrai faire une recherche d'une date (colonne) et copier la ligne qui correspond dans un autre onglet
    Merci
    PG

  2. #2
    Membre émérite Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Points : 2 662
    Points
    2 662
    Par défaut
    Bonjour,
    Voici une proposition, on considère que la liste des dates est dans la colonne A de la feuille1 et que tu indiques dans la cellule D1 la date recherchée.
    La macro ballaie la plage de la colonne A pour trouver la date et copier la ligne en Valeur dans la cellule A1 de la feuill2.
    J'ai supposé qu'il n'y avait qu'un date dans la liste qui répondait à la recherche, si ce n'est pas le cas, il faudra prévoir une autre boucle pour le copié.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Sub TestCopieDate()
     
    NbLigne = Application.Subtotal(3, Sheets("sheet1").Range("a:a"))
    LaDate = Sheets("sheet1").Range("d1") 'il faut noter la date recherchée dans la feuille1 cellule d1
     
     
    For i = 1 To NbLigne
     
        If Cells(i, 1).Value = LaDate Then
        Cells(i, 1).EntireRow.Copy
        Sheets("sheet2").Range("a1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False 'Copie en valeur dans A1 de la feuille2
        Exit Sub 'Sort de la boucle !seulement si une seule date possible
        End If
     
    Next i
     
    End Sub
    Bonne continuation

  3. #3
    Membre émérite Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Points : 2 662
    Points
    2 662
    Par défaut
    Salut,
    Voici la version adapté si plusieurs dates répondent à la recherche, j'ai utiliser 'k' pour définir la ligne sur laquelle les valeurs sont copiées.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Sub TestCopieDate()
     
    NbLigne = Application.Subtotal(3, Sheets("sheet1").Range("a:a"))
    LaDate = Sheets("sheet1").Range("d1") 'il faut noter la date recherchée dans la feuille1 cellule d1
    k = 0 'k va représenter la ligne pour la copie, incrémenté si plusieurs dates correspondent à la recherche.
     
    For i = 1 To NbLigne
     
        If Cells(i, 1).Value = LaDate Then
        k = k + 1
        Cells(i, 1).EntireRow.Copy
        Sheets("sheet2").Range("a" & k).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False 'Copie en valeur dans A1 de la feuille2
        End If
     
    Next i
     
    Application.CutCopyMode = False
     
    End Sub
    Bonne continuation

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 14
    Points : 10
    Points
    10
    Par défaut rechercher une date et copier la ligne dans un autre onglet
    Excellent
    C'est trop super et ça marche du tonnerre de dieu
    Je te remercie mille fois
    PG

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 03/06/2014, 14h16
  2. [XL-2007] Déplacer des lignes dans un autre onglet selon valeur d'une cellule
    Par Accessifiante dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 06/05/2014, 16h45
  3. Réponses: 1
    Dernier message: 29/01/2013, 10h42
  4. rechercher une date et copier la colonne dans un autre onglet
    Par jd69001 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/02/2012, 20h09
  5. [XL-2000] copier une ligne dans un autre onglet
    Par chouki60 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/10/2009, 13h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo