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 :

probleme de copier/collage speciale(tout) [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Novembre 2012
    Messages : 6
    Par défaut probleme de copier/collage speciale(tout)
    Bonjour forum,
    Je voudrais copier/colle des données
    Mais je rencontre un problème

    Si je mets la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
            False, Transpose:=False
    Je me retrouve avec une erreur, en cherchant un peu j'ai découvert que je ne copie pas tout, du coup j'ai le choix seulement entre texte Unicode, ou texte
    Es qu'il existe un cut ou copy(spécial) ?

    Je vous remercie par avance

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 186
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Quelque chose m'échappe, pourquoi utiliser le PasteSpecial en collant tout ?
    Autant utiliser un Copier/Coller classique.
    Je me retrouve avec une erreur, en cherchant un peu j'ai découvert que je ne copie pas tout, du coup j'ai le choix seulement entre texte Unicode, ou texte
    Es qu'il existe un cut ou copy(spécial) ?
    Les données viennent d'où ?
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Novembre 2012
    Messages : 6
    Par défaut
    bonjour corona, bonjour forum

    Les données viennent des feuils Excel généré par ma banque
    Il s’agit d'un tableau de 4 colonnes avec des cases incluant un retour a la ligne dans la même cellule

    Le copier(ou couper) coller normale ne me copie que la première ligne de chaque cellule
    Sans aucune mise en forme du coup quand je recherche les doublons ca ne marche pas, d'ou l'idée du copiage spéciale

    Mais comme je l'ai dit précédemment, quand je copier par VBA, cela me donne une erreur due au fait que je n'ai le choix pour coller que entre texte Unicode ou texte
    Or je voudrais faire exactement la même action que si je le fais manuellement copier coller (ou là ca me copie l'intégralité du texte (même la partie en deuxième ligne, ainsi que les bordures (du coup ma base de donnés reste propre et la recherche des doublons fonctionnent)
    Je vous joins un exemple des données copié :
    Il s’agit de 6 lignes exemple sans donner privées et sans code VBA
    Qui sont le résultat de la préparation automatisé de l'importation des données (ce qui existera si je trouve comment copier / coller)


    Merci encore de votre aide
    Fichiers attachés Fichiers attachés

  4. #4
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        Sheets("Feuil1").Cells.Copy
        Sheets("Feuil2").Paste
    Cordialement.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Novembre 2012
    Messages : 6
    Par défaut
    bonjour gFZT82,

    le problem c'est que ca ne fontione pas dans mon cas peut etre qu'il a une erreur dans mon code

    j'ai bien chercher je ne vois pas d'erreur (aprés je suis debutant ), pouvais vous jeter un coup d'oeil ?

    voici la partie du code concerné
    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
                             nb_de_nouvelle_donées = WorksheetFunction.CountA(Range("A:A"))
                                Workbooks(classeur_choisi_bis).Sheets(1).Range(Cells(1, 1), Cells(nb_de_nouvelle_donées, 4)).Select
                                Selection.Cut
                                Application.DisplayAlerts = False ' désactivation des alerts programme
                                Workbooks(classeur_choisi_bis).Close False
                                Do Until nb_de_nouvelle_donées = boucle
                                Application.ScreenUpdating = False
                                Rows("1:1").Select
                                    Selection.Insert shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
                                    boucle = boucle + 1
                                Loop
                                Application.DisplayAlerts = True 'reactivation des alerts programme
                                Range("A1").Select
                                ActiveSheet.Paste
    '"=== bug au collage
    je viens de me rendre compte que je ne vous ai pas dis que je change de claseur (cela peut il influer ?)

    merci encore

  6. #6
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Code à adapter
    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
    Dim nb_de_nouvelle_donées As Integer
    Dim WbSource As Workbook
    Dim WsSource As Worksheet, WsCible As Worksheet
    Dim MaPlage As Range
     
        Set WbSource = Workbooks("classeur_choisi_bis.xlsm")
        Set WsCible = ThisWorkbook.Worksheets("Feuil1")
        Set WsSource = WbSource.Worksheets("Feuil1")
        nb_de_nouvelle_donées = Application.CountA(WsSource.Range("A:A"))
        Set MaPlage = WsSource.Range(WsSource.Cells(1, 1), WsSource.Cells(nb_de_nouvelle_donées, 4))
     
        Application.ScreenUpdating = False
        MaPlage.Cut
        WsCible.Rows(1).Insert shift:=xlDown
        Application.ScreenUpdating = True
     
        Application.DisplayAlerts = False
        WbSource.Close False
        Application.DisplayAlerts = True
     
        Set MaPlage = Nothing: Set WsSource = Nothing: Set WsCible = Nothing: Set WbSource = Nothing
    Cordialement.

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

Discussions similaires

  1. [XL-2007] copier collage special
    Par dodo28 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 16/08/2009, 12h13
  2. Problemes avec copier/coller avec VI
    Par fgalves dans le forum Linux
    Réponses: 7
    Dernier message: 06/01/2009, 16h43
  3. probleme de copier / coller
    Par shinrei dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 10/07/2006, 11h23
  4. probleme avec une fonction enable() toute simple !!
    Par K_!!! dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 19/05/2006, 16h10
  5. [VBA Excel]probleme de copier/coller
    Par ogenki dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 31/01/2006, 15h22

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