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 données d’une feuille A vers une feuille B [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juillet 2018
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2018
    Messages : 50
    Par défaut Copier des données d’une feuille A vers une feuille B
    Bonjour,
    Je reviens sur mon sujet précèdent, je dois traiter un fichier HTML pour récupérer certaine données et les placées dans ma feuille principale en ajoutant un nouvel onglet.
    Variable LMot correspond au nouvel onglet que j’ai crée dans mon classeur principal(fonctionne)
    Variable Fichier correspond au fichier HTML(ouverture fonctionne)
    Remarque, il se positionne correctement sur ma ligne, ce qui ne fonctionne pas la copie, sachant que dans la syntaxe de la copie la variable Monfichier correspond à l’onglet du fichier HTML et la variable Lmot correspond à l’onglet de ma feuille principal
    Merci de votre retour sur mon problem

    Voir code ci-dessous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
                Sheets.Add(After:=Worksheets(Worksheets.Count)).Name = LMot
     
                Workbooks.Open Fichier
     
                For I = 1 To Sligne
                    If Range("a" & I).Value Like "Rule ID" = True Then
                        a = a + 1
                        Worksheets(MonFichier).Range("A" & I & ":" & "E" & I).Copy _
                                Destination:=Worksheets(LMot).Range("A" & a & ":" & "E" & a)
     
                    End If
                Next I

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Plutôt qu'une boucle, je verrai bien un filtrage puis copie du résultat (je n'ai rien testé et il te faut adapter chemin et noms !) :
    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
    29
     
    Sub Copier()
     
        Dim Cls As Workbook
        Dim Fe As Worksheet
        Dim Plage As Range
        Dim Fichier As String
        Dim LMot As String
     
        Fichier = "C:\Dossier\Mon classeur.xlsx" 'adapter
     
        LMot = "Nomfeuille" 'adapter
     
        Set Fe = ThisWorkbook.Worksheets.Add(, Sheets(Sheets.Count))
     
        Fe.Name = LMot
     
        Set Cls = Workbooks.Open(Fichier)
     
        'sur colonne A à partir de A1. Adapter le nom de la feuille cible (ici Feuil1)
        With Cls.Worksheets("Feuil1"): Set Plage = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp)): End With
     
        'filtrage
        Plage.AutoFilter 1, "Rule ID"
     
        'copie du résultat (avec les entêtes) sur la nouvelle feuille à partir de A1
        Cls.Worksheets("Feuil1").AutoFilter.Range.EntireRow.Copy Fe.Range("A1")
     
    End Sub

  3. #3
    Membre confirmé
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juillet 2018
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2018
    Messages : 50
    Par défaut [XL-2016] Copier des données d’une feuille A vers une feuille B
    Bonsoir,

    Je viens de tester ton code et cela me convient parfaitement et merci pour ton aide.
    J’ai une question et si je veux garder le même format que ma cellule mère que je copie ?

    Bien cordialement

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par MamaB Voir le message
    J’ai une question et si je veux garder le même format que ma cellule mère que je copie ?
    Normalement, la méthode Copy utilisée ainsi copie aussi le format (excepté la taille de cellule).
    Il faudrait que tu en dises plus sur ce qui ne se copie pas.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 26/05/2014, 09h58
  2. Transférer des données d'un formulaire vers une feuille de données
    Par kirsie dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 09/04/2013, 20h45
  3. [XL-2007] Copier des données de plusieurs classeurs sur une feuille récap
    Par chipster008 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/08/2011, 11h12
  4. Récuperer des données de fichier pdf vers une feuille xls
    Par zeralium dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 31/08/2007, 14h03
  5. [VBA-E] Copier des données d'un tableau a une feuille
    Par KKshi666 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 12/04/2007, 14h09

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