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 des lignes d'un classeur a un autre


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Étudiant
    Inscrit en
    Juin 2010
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2010
    Messages : 125
    Par défaut Copier des lignes d'un classeur a un autre
    Bonjour a tous,

    J'ai deux classeurs qui ont la même structure, l'un a des donnees et l'autre est vide.
    Je souhaite tranferer certaines lignes ( celles ou il y a ecrit "Ja" dans la colonne "S") du premier classeur vers la feuille Tabelle1 du deuxieme(Mappe1).

    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
    Sub JaTransfert()
     
    Dim Tabelle1 As Worksheet
    Dim C As Range
    Dim ligne As Integer
     
    Set Tabelle1 = Workbooks("Mappe1").Worksheets("Tabelle1")
    ligne = 22
     
    For Each C In Range("S22:S" & Cells(Rows.Count, 19).End(xlUp).Row)
        If Trim(UCase(C.Value)) = Ja Then
        C.EntireRow.Copy Destination:=Tabelle1.Cells(ligne, 1)
            ligne = ligne + 1
        End If
    Next
     
    End Sub
    Pour le moment, le code se compile, mais rien ne se passe.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Par défaut
    Bonjour
    dans ton cas Ja est considéré comme une variable

    remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        If Trim(UCase(C.Value)) = Ja Then
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        If Trim(UCase(C.Value)) = "JA" Then

  3. #3
    Membre confirmé
    Étudiant
    Inscrit en
    Juin 2010
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2010
    Messages : 125
    Par défaut
    Ca n'a malheureusement rien change.

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Par défaut
    re

    as-tu bien mis "JA" en majuscule ?

    tu n'as que ce mot dans la cellule?

    il faudrait que tu vérifis que quand la routine s'execute ce soit la bonne feuille qui ai le focus (celle ou tu effectus la recherche)

    a part ces trois possibilité je ne vois pas ce qu'il peut y avoir.

  5. #5
    Membre confirmé
    Étudiant
    Inscrit en
    Juin 2010
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2010
    Messages : 125
    Par défaut
    EDIT : Ca marche. Il fallait effectivement ecrire en majuscule

  6. #6
    Membre confirmé
    Étudiant
    Inscrit en
    Juin 2010
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2010
    Messages : 125
    Par défaut
    En fait, il ne faut pas que je recopie toute la ligne, mais uniquement certaines colonnes, j'ai donc ecrit ceci :

    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
    Sub JaTransfert()
     
    Dim Tabelle1 As Worksheet
    Dim C As Range
    Dim ligne As Integer
     
    Set Tabelle1 = Workbooks("Mappe3").Worksheets("Tabelle1")
    ligne = 22
     
    For Each C In Range("S22:S" & Cells(Rows.Count, 19).End(xlUp).Row)
        If Trim(UCase(C.Value)) = "JA" Then
        C.Cells(ligne, 2).Copy Destination:=Tabelle1.Cells(ligne, 1)
        C.Cells(ligne, 8).Copy Destination:=Tabelle1.Cells(ligne, 2)
        C.Cells(ligne, 10).Copy Destination:=Tabelle1.Cells(ligne, 3)
            ligne = ligne + 1
        End If
    Next
     
    End Sub
    Et comme tout a l'heure, ca compile mais n'affiche rien.

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

Discussions similaires

  1. [XL-2010] Copier des plages d'un classeur a un autre
    Par comme de bien entendu dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/03/2018, 20h32
  2. Réponses: 5
    Dernier message: 22/07/2011, 17h13
  3. copier des données d'un classeur vers un autre
    Par jackall dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 01/08/2008, 17h20
  4. Copier des lignes dans un nouveau classeur
    Par adelnikov dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/03/2008, 21h55
  5. copier une ligne d'un classeur à un autre
    Par melodyyy dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 23/11/2006, 14h22

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