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 :

Conserver la ligne de titre


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 15
    Points : 12
    Points
    12
    Par défaut Conserver la ligne de titre
    Salut,
    J'aimerais que mes fichiers soient copiés à partir de la ligne 2 (car je veux conserver ma ligne de titre). Dans ma macro "creer" j'ai été capable d'ajouter une ligne de titre (je semble le voir, quand la macro est mise en application). Toutefois, je semble avoir des difficultés avec ma macro "copie". Mes fichiers répertoriés sont copiés sur ma ligne A1. J'ai essayé d'indiquer A2 au lieu de
    A1 dans la macro, mais sans succès. J'ai vu des discussions ou on pouvait indiquer i = 2, mais je vais avouer que je ne comprend pas comment faire.

    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
    Sub Copie(FL1 As Worksheet, Fichier)
    Dim CL2 As Workbook
    Dim FL2 As Worksheet
    Dim i As Byte, Rep$, NoLigne As Long
     
         Set CL2 = Workbooks.Open(Fichier)
     
            'Parcours des feuilles de chaque classeur
            For Each FL2 In CL2.Worksheets
              If LCase(FL2.Name) <> "instruction" Then 'à laisser en minuscules
                'Dernière ligne où coller les données copiées dans FL2
                NoLigne = FL1.Range("A1").SpecialCells(xlCellTypeLastCell).Row + 1
     
                'Copie de la plage renseignée de chaque feuille du classeur
                FL2.Range(FL2.Cells(1, 1), _
                    FL2.Cells(FL2.Cells(Columns(1).Cells.Count, 1).End(xlUp).Row, _
                    FL2.Cells(Columns(1).Cells.Count, 1).End(xlUp).Row)).Copy
                    FL1.Range("A" & NoLigne).PasteSpecial Paste:=xlValues
                DoEvents
                Set FL2 = Nothing
              End If
            Next
            CL2.Close False 'fermeture du classeur copié
            DoEvents
            Set CL2 = Nothing
    End Sub
    Merci beaucoup.

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Bonsoir Nad
    C'est cette ligne qui ne va pas
    FL2.Range(FL2.Cells(1, 1), _
    FL2.Cells(FL2.Cells(Columns(1).Cells.Count, 1).End(xlUp).Row, _
    FL2.Cells(Columns(1).Cells.Count, 1).End(xlUp).Row)).Copy
    Dis-nous ce que tu veux copier, ce ne devrait pas être très compliqué.
    Si c'est la plage de données entière (toutes les cellules renseignées), tu peux tester
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                FL2.Range(FL2.Cells(1, 1),Cells(FL2.Cells(Columns(1).Cells.Count, 1).End(xlUp).Row, 1)).copy
    Ne change rien pour le collage
    Tu dis
    A+

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Merci beaucoup ouskel'n'or,

    ça fonctionne très bien, sauf qu'en plus j'ai fait une erreur un peu bête... je faisais un sort par la suite et une suppression de ligne qui effaçait ma ligne de titre... J'ai réussi à corriger la situation, mon codage est un peu broche à foin mais il réalise ce que je désire effectuer.

    À quelle endroit je peux trouver de l'info sur la disposition des macros dans les modules?? Présentement j'ai des macros pour un même fichier éparpillées sous plusieurs modules, dois-je les regrouper?

    Bon c'est quand même un excellent début pour une débutante en VBA.
    Le forum est excellent, je vais pouvoir encore m'amuser avec mes autres fichiers.

    Merci encore.

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Si elle concernent un même traitement, tu peux rassembler toutes tes procédures dans un même module et supprimer les modules inutiles.
    Bonne nuit
    Pense à mettre Résolu, le bouton en bas de cette fenêtre.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Parfait, merci

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/03/2009, 08h32
  2. Fixer la ligne de titre d'un tableau dans un div
    Par slopera dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 26/01/2009, 14h25
  3. conservation dernière ligne
    Par mioke dans le forum SAS Base
    Réponses: 2
    Dernier message: 11/03/2008, 11h15
  4. supprimer toutes les lignes d'un flexgrid sauf la ligne de titre
    Par cari dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 11/08/2006, 10h39
  5. Conserver un ligne dans un DBGrid.
    Par Chimere dans le forum Bases de données
    Réponses: 20
    Dernier message: 23/06/2006, 10h26

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