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 :

Copier lignes dans une autre feuille en fonction d'un paramètre [XL-MAC 2011]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2015
    Messages : 2
    Par défaut Copier lignes dans une autre feuille en fonction d'un paramètre
    Hello,
    Mon objectif est de sélectionner les lignes qui contiennent le mot Depense dans une liste, puis de copier les lignes correspondantes et de les coller sur une autre feuille.
    J'ai donc crée une boucle For pour parcourir ma liste mais je rencontre un problème, j'ai l'impression que la macro copie seulement la 1ere ligne où il rencontre le mot Depense puis colle plusieurs fois cette ligne.
    Voici mon code:

    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
    If ComboBox1.Value = "Depense" Then
        Set ts = ThisWorkbook.Sheets("Gestion")
        Der_Ligne = ts.Cells(Rows.Count, "A").End(xlUp).Row 'Dernière ligne de la feuille Gestion
        Der_LigneD = Sheets("Depense").Cells(Rows.Count, "A").End(xlUp).Row
     
        iLigne = 1
        For i = 1 To Der_Ligne
            If ts.Cells(iLigne, "D").Value = "Depense" Then 'Verifie la valeur Recette dans la colonne
                Der_LigneD = Der_LigneD + 1
                ts.Range("A" & iLigne & ":E" & iLigne).Copy _
                Destination:=Sheets("Depense").Cells(Der_LigneD, "A")
               ' UserForm3.Hide
                'ThisWorkbook.Sheets("Depense").Select
           Else
            iLigne = iLigne + 1
           End If
        Next
    Merci de votre aide

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Bonjour,


    que viens faire ce else ...? l'incrémentation de numéro de iLigne ne doit pas être conditionné ... sort la de ton if..

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2015
    Messages : 2
    Par défaut Merci !!
    Ah oui en effet ça marche mieux
    Merci de ton aide

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/05/2015, 10h44
  2. [XL-2010] Déplacer une ligne dans une autre feuille en fonction de deux critères
    Par mikmak78 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 26/03/2015, 06h38
  3. Réponses: 0
    Dernier message: 18/03/2013, 12h05
  4. Déplacer une ligne dans une autre feuille en fonction d'un critère
    Par moi244 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/10/2011, 15h30
  5. Pour chaque ligne supprimée, copier cette ligne dans une autre feuille
    Par athos7776 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/10/2008, 03h35

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