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 :

Import Données Classeur Excel Fermé (ou ouvert) vers une TextBox


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
    Ingénieur commercial
    Inscrit en
    Mars 2017
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur commercial
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mars 2017
    Messages : 19
    Par défaut
    Suivant les conseils de Pierre, j'ai remplacé le code précédemment publié par

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
     
    Function RangeCopy(WorksheetName As String, RangeAddress As String, Optional wk As Workbook) As Range
      Dim sh As Worksheet
      Dim rng As Range
     
      If wk Is Nothing Then Set wk = ActiveWorkbook
      Set sh = wk.Worksheets(WorksheetName)
      Set RangeCopy = sh.Range(RangeAddress)
    End Function
     
    Sub TestCopy()
      Dim SourceWk As Workbook
      Dim WkName As String
      Dim ShName As String
      Dim RngName As String
     
      WkName = "c:\tests\source.xlsx"
      ShName = "Données"
      RngName = "A1:D10"
     
      Set SourceWk = Workbooks.Open(WkName)
      ThisWorkbook.Activate
      RangeCopy(ShName, RngName, SourceWk).Copy Range("a1")
      SourceWk.Close savechanges:=False
    End Sub
     
     
     
     
    Private Sub Precedent_Click()
    Unload UserForm3
    UserForm2.Show
    End Sub
     
    Private Sub Suivant_Click()
     
    Unload UserForm3
    UserForm4.Show
    End Sub
    je pense le supprimer également et repartir de 0

  2. #2
    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
    Je saisis de moins en moins ce que tu souhaites réaliser. Cela ressemble fort à du publipostage. Connais-tu cet outil de Word? Il serait peut-être intéressant de l'utiliser.

    A ce stade, nous pouvons assez peu t'aider. L'intitulé de la discussion porte sur l'import des données d'un classeur, par sur une construction Excel/Word pour placer des valeurs XL dans un document WD.

    Tu serais bien avisé d'ouvrir une discussion dans le forum Conception et d'y exposer ton projet de la manière la plus claire et détaillée possible.
    "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...
    ---------------

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Mars 2017
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur commercial
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mars 2017
    Messages : 19
    Par défaut
    Je pense que tu as jamais saisie car jamais pris la peine de lire le 1er post
    moi je débute
    depuis une semaine je boss comme un ane sur un projet EN PLUS de mon travail. j'ai 90% de mon automatisation qui est finie, il me reste juste cette étape.

    Je demande juste qu'on m'écrive un truc propre avec les noms de mes fichiers et tout. On planche avec Riaolle pour reprendre dans chaque post les noms de mes documents etc histoire que je comprenne.

    Et apres on me dit "en direct c'est plus simple, ecris cela ....." avec juste des lignes théoriques. Sans mettre le code en entier depuis Private Sub jusqu'a End Sub
    Ben Dsl moi a mon niveau, ca m'aide pas.

    C'est comme demander à un enfant de 3 ans de lire du Victor Hugo
    Je suis fatigué
    Merci de ta compréhension

    Citation Envoyé par Pierre Fauconnier Voir le message
    Je saisis de moins en moins ce que tu souhaites réaliser. Cela ressemble fort à du publipostage. Connais-tu cet outil de Word? Il serait peut-être intéressant de l'utiliser.

    A ce stade, nous pouvons assez peu t'aider. L'intitulé de la discussion porte sur l'import des données d'un classeur, par sur une construction Excel/Word pour placer des valeurs XL dans un document WD.

    Tu serais bien avisé d'ouvrir une discussion dans le forum Conception et d'y exposer ton projet de la manière la plus claire et détaillée possible.

  4. #4
    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
    Je t'ai donné des lignes de codes pratiques et pas théoriques.

    Maintenant, tu peux continuer à développer ton usine à gaz avec des userform4, des commandbutton3 et autres aberrations du même style et créer du code non maintenable qui s'écroulera comme un château de cartes à la première modification des classeurs ou des documents word OU écouter les conseils et tenter de les mettre en pratique. Je lâche rarement quelqu'un qui s'accroche, mais je ne donne jamais d'aide pour finaliser un projet qui est voué à merder à la moindre modif, préférant aider à construire un truc solide.

    A toi de prendre, ou de laisser. Moi, perso, je m'en fous un peu, mais lorsque je vois le code que tu donnes, je me dis que tu n'iras pas bien loin.

    Et si je suis intervenu, c'est parce que la discussion part en couilles et qu'il y a moyen de faire à peu près un million de fois plus simple et un millier de fois plus maintenable. Mais je peux aussi être fatigué, si tu veux...


    Et pour reprendre ton exemple, on ne sait pas lire du Victor Hugo si on n'apprend à lire du Victor Hugo. Libre à toi de rester avec ton livre d'images...

    Tiens, au passage... Puisque tu demandes du code propre

    application.vlookup... ne saurait à mon sens pas fonctionner puisque, de la lecture d'un des messages (n° 18) de la discussion, il semblerait que tu soit dans WORD pour réaliser ta macro et pas dans Excel (puisque tu ouvres Excel en instanciant un objet xlApp...

    Dès lors, ce serait xlapp.vlookup(... qu'il faudrait utiliser... Et dès lors, mon code d'importer des données d'un classeur à l'autre ne sert à rien, en effet, puisque tu importes d'un classeur XL vers Word et pas vers un autre Excel.

    Mettre en dur dans ton code le nom complet du classeur (en plus, qui est placé sur le bureau), c'est à coup sûr te préparer à un bug dès que tu renommeras ou déplaceras ton fichier. Et lorsque ton "appli" plantera sur ces multiples erreurs potentielles, c'est alors que tu seras encore plus fatigué...



    D'où ma proposition d'abandonner ton usine à gaz et de détailler ton projet dans le bon forum. Nous serons alors mieux armés pour t'aider efficacement et rapidement...
    "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...
    ---------------

Discussions similaires

  1. Importer des données de 250 feuilles vers une seule
    Par Bryan78 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 30/04/2008, 17h18
  2. Copier des données de classeurs Excel fermés vers un classeur ouvert
    Par gwen-al dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 11/03/2008, 18h00
  3. Réponses: 8
    Dernier message: 12/10/2007, 13h54
  4. Réponses: 15
    Dernier message: 21/11/2006, 11h13
  5. Réponses: 1
    Dernier message: 07/08/2006, 22h14

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