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 :

Incompréhension : Résultat different entre VBA et Manuellement (copy, paste, convertir) [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2015
    Messages : 50
    Par défaut Incompréhension : Résultat different entre VBA et Manuellement (copy, paste, convertir)
    Bonjour,

    J'ai fait un bout de code pour me recopier un texte d'un PDF à une feuille EXCEL

    Mais quand j'execute le code, celui-ci me supprime des informations dans la colonne B...

    Quand je fais manuellement copier/coller, j'ai toutes mes informations .... Si vous voyez une explication je suis preneur

    Nom : Automatic.PNG
Affichages : 363
Taille : 4,2 KoNom : manuel.PNG
Affichages : 444
Taille : 11,5 Ko

    Code pour copier et coller
    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
    'noise
    Shell "C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe W:\Liste_de_fichier\16_20999\result\" & NameNoise, vbNormalFocus  'path & way
    Application.Wait (Now + 2 / 3600 / 24)
    SendKeys "{ENTER}", True
    'copier le texte
    SendKeys "^a^c^q", True
    Application.Wait (Now + 2 / 3600 / 24)
    SendKeys "%{F4}", True
    'SendKeys ", True"
    'coller dans l'onglet 2
    Windows(ThisWorkbook.Name).Activate
    ThisWorkbook.Activate
        Sheets("pdf-noise").Select
        Range("A1").Select
        ActiveSheet.paste

    Code pour convertir (issue de la fonction enregistrer macro)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sheets("pdf-noise").Select
    Columns("A:A").Select
    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _
        Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo _
        :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
        Array(7, 1), Array(8, 1), Array(9, 1)), TrailingMinusNumbers:=True
    Merci d'avance

  2. #2
    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
    Il est peut-être préférable que tu utilise le PasteSpecial de Range plutôt que le Paste de WorkSheet.
    Essaye de remplacer les deux dernières lignes de ton code par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A1").PasteSpecial(xlPasteValues)
    Si ça ne marche pas, tu peux remplacer la fin de ton code par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ThisWorkbook.Sheets("pdf-noise").Activate
    Columns(2).Insert
    Range("A1").PasteSpecial(xlPasteValues)
    Columns(2).Delete
    C'est pas très beau mais ça peut résoudre ton problème.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2015
    Messages : 50
    Par défaut
    Bonjour Menhir,

    La première méthode, c'était ce que je voulais faire initalement .... mais j'ai l'erreur 1004

    Erreur d'éxécution '1004':
    La méthode 'Range' de l'objet '_Global' a échoué
    Et pour la rajout de la colonne, ca ne fait rien, j'ai toujours des données supprimés

  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 alexandrefcsm Voir le message
    La première méthode, c'était ce que je voulais faire initalement .... mais j'ai l'erreur 1004
    En le précédant d'un Sheet.Activate ? C'est curieux.

    Essaye :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ThisWorkbook.Sheets("pdf-noise").Range("A1").PasteSpecial(xlPasteValues)
    Et pour la rajout de la colonne, ca ne fait rien, j'ai toujours des données supprimés
    Dans ces "données", n'y aurait-il pas des fonctions ?

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2015
    Messages : 50
    Par défaut
    Pareil toujours cette erreur

    Nom : error.PNG
Affichages : 387
Taille : 27,8 Ko

    C'est Allemand désolé ^^

    Des fonctions, non c'est un simple copier coller d'un fichier texte et si j'avais des fonctions j'aurais le même problèmes manuellement.

    Sérieusement je vois pas là, où peut être en résolvant cette erreur 1004

  6. #6
    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,

    différentes causes peuvent être la source de cette erreur …

    La feuille de calculs est déprotégée au moins ?!


    _________________________________________________________________________________________________________
    Je suis Paris, Charlie, Bruxelles, …

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

Discussions similaires

  1. Difference entre 2 résultats (publicKey d'un certificat)
    Par Dalidou dans le forum Sécurité
    Réponses: 9
    Dernier message: 28/03/2009, 22h42
  2. [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
  3. [VBA] Calculer la différence entre deux dates
    Par T'chab dans le forum Access
    Réponses: 13
    Dernier message: 11/05/2006, 15h12
  4. Résultats différent entre une requête SQL, et la même en VBA
    Par thetaps dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 23/09/2005, 12h05
  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