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 :

Choisir l'onglet de copie [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 23
    Par défaut Choisir l'onglet de copie
    Bonjour,

    j'utilise cette macro :

    (qui m'exporte les données supérieure à 2013 de l'onglet 1 vers un autre onglet)


    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
    21
    22
    23
    24
    25
    26
    27
    28
    Sub test()
     
    Dim Année As String
    Dim i As Integer
    Dim h As Long
     
     
     
     
    With Sheets("ADMIN")
     
        For h = 3 To .Range("Y65536").End(xlUp).Row
     
            For i = 1 To Sheets.Count
     
     
                If Year(.Range("Y" & h).Value) >= "2013" Then
                .Rows(h).Copy Destination:=Sheets(i).Range("A" & Sheets(i).Range("A65536").End(xlUp).Row + 1)
                End If
     
            Next i
     
        Next h
     
    End With   
     
     
    End Sub
    par contre cela pose problème ! : cela me copie mes données sur TOUS les onglets, j'en ai 16.

    Je voudrais que mes données de l'onglet 1 se copient uniquement sur mon onglet "ANNEE2013" situé en 16ème position.

    est-ce possible ?

  2. #2
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Bonjour,

    As-tu essayé avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub test()
    Dim Année As String
    Dim i As Integer
    Dim h As Long
        With Sheets("ADMIN")
            For h = 3 To .Range("Y65536").End(xlUp).Row
                If Year(.Range("Y" & h).Value) >= "2013" Then
                    .Rows(h).Copy Destination:=Sheets("ANNEE2013").Range("A" & Sheets("ANNEE2013").Range("A65536").End(xlUp).Row + 1)
                End If
            Next h
        End With
    End Sub
    Cordialement.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 23
    Par défaut
    Bonjour,

    merci de votre réponse.

    Malheureusement j'ai déja testé cela et cela me copie 16 fois chaque ligne

  4. #4
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Hummm, je doute !
    J'ai commenté le code pour que tu vois ce qu'il réalise pas à pas.
    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
    Sub test()
    Dim Année As String
    Dim i As Integer
    Dim h As Long
        With Sheets("ADMIN")
            'Dans la feuille "ADMIN", on balaye les cellules de la colonne Y, de la ligne 3 à la dernière ligne renseignée.
            For h = 3 To .Range("Y65536").End(xlUp).Row
                'Si l'année relevée dans la cellule est supérieure ou égale à 2013
                If Year(.Range("Y" & h).Value) >= "2013" Then
                    'alors, on copie la ligne et on la colle dans la feuille "ANNEE2013" sur la première ligne vide.
                    .Rows(h).Copy Destination:=Sheets("ANNEE2013").Range("A" & Sheets("ANNEE2013").Range("A65536").End(xlUp).Row + 1)
                End If
            Next h
        End With
    End Sub
    Cordialement.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 23
    Par défaut
    Ca marche parfaitement !!

    Merci !!!!

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

Discussions similaires

  1. [XL-2010] Macro Générique / choisir l'onglet pour appliquer la macro
    Par GADENSEB dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/08/2014, 16h32
  2. Choisir un onglet
    Par guigui71 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 10/05/2010, 14h29
  3. Importation d'un onglet et copie des formules de cellules
    Par jbggg dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 01/12/2009, 09h32
  4. choisir l'onglet sur lequelle une macro se déroule
    Par chloe2 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 25/11/2009, 15h50
  5. Recherche Onglet Puis copie et colle celui ci
    Par plasmadav dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/07/2007, 12h31

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