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 :

[VBA-E]copie en invisible


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Inscrit en
    Mai 2005
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 335
    Par défaut [VBA-E]copie en invisible
    bonjour

    j'avai un code comme sa
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Workbooks.Open Filename:= _
                "C:\Documents and Settings\avaysse\Mes documents\" & XlsFiles(i)
                ActiveWindow.Visible = False
                Range("A1:N6").Select 'selection des cellules a copier
                Selection.Copy ' copie des cellules
                Windows("test2.xls").Activate ' active la fenetre de test2
                ActiveWorkbook.Worksheets(1).Activate 'active la fenetre de test2
                Range("A" & lastline).Select 'selectionne la dernier ligne
                ActiveSheet.Paste 'colle les cellules recuperées
    qui devrais me permetre de copies des cellules d'un .xls a un autre...maisle fait de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWindow.Visible = False
    empeche la la copie ( si j'enleve cette ligne la copie marche sans probleme) auriez vous un solution pour copier sans etre visible?


    merci

  2. #2
    Expert confirmé
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks.Open(Filename:="C:\Documents and Settings\avaysse\Mes documents\" & XlsFiles(i)).Worksheets(1).Range("A1:N6").Copy Destination:=Workbooks("test2").Worksheets(1).Cells(lastline, 1)

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut Re: [VBA-E]copie en invisible
    Bonjour

    Comme tu tentes dans ton code de sélectionner des cellules, il faut bien que le classeur source soit actif...

    En utilisant un objet de type Workbook, tu peux t'inspirer du code suivant pour rendre la copie invisible:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub Copie()
        Dim wb_Source As Workbook
     
        Application.Screenupdating = False
     
        Set wb_Source = Workbooks.Open("c:\données\source.xls")
        ActiveWindow.Visible = False
     
        wb_Source.Worksheets("feuil1").Range("a1:a3").Copy _
            Destination:=Workbooks("cible.xls").Worksheets("feuil2").Range("b3")
     
        Application.Screenupdating = True
     
    End Sub
    Attention, ton classeur source est toujours ouvert après cette opération. Il faut évidemment adapter les données relatives aux feuilles et cellules...

    Ok?

    Pierre Fauconnier
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  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
    Par défaut
    Sinon, on peut parfaitement travailler sur la "feuille" et la masquer. Le select ne pose alors pas de pb

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            Worksheets("Feuil1").Visible = False
    Essai ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        Worksheets("Feuil1").Visible = False
        Worksheets("Feuil1").Activate
        Worksheets("Feuil1").Cells(1, 1).Value = "Bonne année"
        Worksheets("Feuil1").Cells(1, 1).Select
        MsgBox Cells(1, 1).Value
        Worksheets("Feuil1").Visible = True
    A+

Discussions similaires

  1. [VBA-E]copie de feuille excel
    Par ogenki dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/02/2006, 14h20
  2. [VBA][Excel] Copie de feuille a l'identique
    Par le_sonic dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 04/01/2006, 16h48
  3. [VBA][Excel] Copie écran
    Par KOFJCH dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 12/12/2005, 15h01
  4. Réponses: 12
    Dernier message: 07/12/2005, 18h42
  5. [VBA-E] Copie et renomage de feuilles
    Par cbonnard dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/10/2005, 15h55

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