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 :

Alternative à Copy/Paste


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Janvier 2018
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2018
    Messages : 14
    Par défaut Alternative à Copy/Paste
    Bonjour à tous,

    Mes connaissances sur excel étant limitées, je cherche une alternative à la méthode copy/paste qui mise en application dans mon code me renvoie selon la feuille du classeur sur laquelle le code est appliqué un message d'erreur "la méthode pastespecial de la classe worksheet a échoué".

    Merci d'avance pour votre aide

    L'extrait de mon code où l'erreur se déclare

    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
    With ActiveSheet
    
        .Range("$A$2:$X$2266").AutoFilter Field:=2, Criteria1:="NOUVEAU"
    
        .Range("G2:T16500").SpecialCells(xlCellTypeVisible).Copy
    
        Sheets.Add After:=ActiveSheet
    
            ActiveSheet.Name = "NVX_BDD"
        
            With Worksheets("NVX_BDD")
    
            .Paste
    
            End With
    
    End With

  2. #2
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 676
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 676
    Par défaut
    Bonjour,

    A lire: https://msdn.microsoft.com/fr-fr/vba...y-method-excel
    https://msdn.microsoft.com/fr-fr/vba...l-method-excel

    (en résumé remplace ton .paste par .pastespecial)

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2015
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2015
    Messages : 142
    Par défaut
    Bonjour,

    Le problème est que lorsque l'on créé une feuille via "Sheet.Add", elle devient de facto la feuille active. Ce qui pose problème au vue de vos deux boucles imbriquées.

    Le code ci-dessous fonctionne mieux (en imaginant des valeurs dans la plage A1:B3)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub test()
        With ActiveSheet
            .Range("A1:B3").SpecialCells(xlCellTypeVisible).Copy
        End With
     
        Sheets.Add After:=ActiveSheet
        ActiveSheet.Name = "test"
        ActiveSheet.Paste
    End Sub

  4. #4
    Membre averti
    Femme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Janvier 2018
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2018
    Messages : 14
    Par défaut
    Remplacer mon paste par pastespecial n'aboutit pas au copier/coller que j'attends.

    J'ai essayé le code proposé par soticca mais cela ne résout pas le problème que je rencontre.

    Ce code doit être applicable à 2 feuilles différentes de mon classeur. Je me suis rendue compte qu'en supprimant une des deux feuilles de mon classeur, le code fonctionne mais lorsque les deux feuilles sont sur le même classeur, le code fonctionne seulement sur la dernière feuille. C'est à dire que si j'intervertis l'ordre des deux feuilles dans le classeur, seulement la dernière feuille - celle la plus à droite, fonctionnera, quelque soit la feuille 1 ou 2.

    Comment résoudre ce problème et pouvoir appliquer mon copier coller à chacune de mes feuilles ?

  5. #5
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour,

    ne pas travailler avec la feuille active mais avec son nom !

    Et si les feuilles se trouvent dans le classeur contenant le code alors le mieux est leur  CodeName  …

    ___________________________________________________________________________________________________________
    Je suis Paris, Egypte, Nigeria, New-York, Mogadicio, Barcelone, London, Manchester, Stockholm, Istanbul, Berlin, Nice, Bruxelles, Charlie, …

Discussions similaires

  1. copy/paste dans un composant text avec html
    Par xixi31 dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 05/01/2009, 16h43
  2. Réponses: 13
    Dernier message: 10/11/2006, 09h24
  3. [VBA-E] Probleme avec l'activate d'un classeur ouvert pour un copy paste
    Par AliochaBada dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 10/08/2006, 22h31
  4. [VBA-E] Probleme COPY PASTE d'une feuille à une autre
    Par AliochaBada dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/07/2006, 17h56
  5. [VBA] word automation copy/paste
    Par Lysis dans le forum VBA Word
    Réponses: 2
    Dernier message: 16/09/2005, 12h45

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