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 :

Copier données sans ouvrir le fichier


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mexique

    Informations forums :
    Inscription : Mai 2009
    Messages : 48
    Points : 44
    Points
    44
    Par défaut Copier données sans ouvrir le fichier
    Bonjour et merci pour votre attention, je vous explique :

    Je suis en train d’automatiser une base de données avec une macro, la macro cherche tous les documentes Excel que il y a dedans un dossier, elle fait une liste avec un hyperlien et âpres, pour copier quelle que données dans le fichier trouve la macro le ouvre et apre la macro copie les données et les colle dans le fichier ou c’est trouve la macro.
    Mais chaque fois la macro ouvre le fichier pour copier les données Excel demande les choses dans les images :

  2. #2
    Membre chevronné Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Points : 2 168
    Points
    2 168
    Par défaut
    Soit tu travail sur le fichier fermer il y a un tuto la dessus et pas mal de discutions mais visiblement c'est loin d'être évident.

    Sinon tu peut tout simplement essayer de mettre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Application.DisplayAlerts = False
    'ton code d'ouverture
    Application.DisplayAlerts = true
    Cela sélectionnera la réponse par défaut (celle qui est présélectionner quand tu a le message qui s'affiche). Je croit qu'il y a un myen de choisir d'autre option mais je ne m'en souvient plus
    « Il n'y a pas de recette miracle qui permet aux gens d’écrire des programmes corrects sans avoir à réfléchir. Il faut apprendre aux gens comment réfléchir »

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mexique

    Informations forums :
    Inscription : Mai 2009
    Messages : 48
    Points : 44
    Points
    44
    Par défaut
    La solution ne marche pas
    merci

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Points : 723
    Points
    723
    Par défaut
    La solution devrait marcher pourtant... Enfin bref, le message de départ était aps super clair et ce qui ne marche pas est encore moins clair

    De plus, sans code, ça va être dur... Bref, jette un oeil du côté des SendKeys, ça pourrait le faire aussi.
    DeaD

  5. #5
    Membre chevronné Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Points : 2 168
    Points
    2 168
    Par défaut
    Effectivement ca ne fonctionne pas désolé par contre grace a notre ami l'enregistreur de macro j'ai retrouvé l'option qui permet de gérer directement lamise a jour des lien du coup il ne me pose pas la question

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        Workbooks.Open Filename:= _
            "C:\fichier.xls", UpdateLinks:=3
    Visiblement 3 pour mettre a jour 0 pour ne pas le faire
    Sinon les sendkey sont une solution mais un peu barbare

    (pour une fois j'ai vérifié s'il y avait eu une réponse pas de pull aujourd'hui)
    « Il n'y a pas de recette miracle qui permet aux gens d’écrire des programmes corrects sans avoir à réfléchir. Il faut apprendre aux gens comment réfléchir »

  6. #6
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mexique

    Informations forums :
    Inscription : Mai 2009
    Messages : 48
    Points : 44
    Points
    44
    Par défaut
    Citation Envoyé par Krovax Voir le message
    Effectivement ca ne fonctionne pas désolé par contre grace a notre ami l'enregistreur de macro j'ai retrouvé l'option qui permet de gérer directement lamise a jour des lien du coup il ne me pose pas la question

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        Workbooks.Open Filename:= _
            "C:\fichier.xls", UpdateLinks:=3
    Visiblement 3 pour mettre a jour 0 pour ne pas le faire
    Sinon les sendkey sont une solution mais un peu barbare

    (pour une fois j'ai vérifié s'il y avait eu une réponse pas de pull aujourd'hui)
    Desolé mais ne marhce pas, expliquez mois qu'est ce que sont les sendkeys, s'il vous plait

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Points : 723
    Points
    723
    Par défaut
    Le SendKey simule un appui sur une touche. Bref, cela pourrait simuler l'appui sur une touche pour valider automatiquement la fenêtre s'affichant dans ton cas. Krovax (mon partenaire de tricot que je salue ) a raison, c'est barbare mais ça a le mérite de marcher assez souvent.

    Bref, demande à Google, il saura mieux que moi vu que c'est pas trop mon truc.
    DeaD

  8. #8
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mexique

    Informations forums :
    Inscription : Mai 2009
    Messages : 48
    Points : 44
    Points
    44
    Par défaut
    J'ai une autre question, si je veux le nom d'un fichier, sans l'adresse, comment j'ai besoin faire?, parce que avec .founfiles la macro m'ecrire tout l'adresse.

    Merci beaucoup

  9. #9
    Membre chevronné Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Points : 2 168
    Points
    2 168
    Par défaut
    On fait peut être mieux mais je ne résiste jamais a une petit manipulation de chaine de caractère

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     Function name(ligne As String) As String
     
     Do While InStr(ligne, "\") <> 0
     ligne = Right(ligne, Len(ligne) - InStr(ligne, "\"))
     Loop
     name = ligne
     End Function
     
    Sub test()
    Dim ligne As String
     ligne = "c:\mondossier1\mondossier2\monfichier.xls"
      MsgBox name(ligne)
    End Sub
    « Il n'y a pas de recette miracle qui permet aux gens d’écrire des programmes corrects sans avoir à réfléchir. Il faut apprendre aux gens comment réfléchir »

  10. #10
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mexique

    Informations forums :
    Inscription : Mai 2009
    Messages : 48
    Points : 44
    Points
    44
    Par défaut
    Bonjour et merci pour votre aide,

    j'ai une autre question, comment je peux compter le quantité de lignes que il y a dedans un fichier?

  11. #11
    Membre chevronné Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Points : 2 168
    Points
    2 168
    Par défaut
    En générale on fait un post par question
    Je suppose que tu par du nombre de ligne d'une feuille excel
    regarde un peu cette contribution

    Si tu parle de toute les ligne tu peux boucler sur les onglet et aditionner (j'ai pas vérifier mais ca devrait ressembler a cela)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    dim sh as worksheet
    dim nbligne as long
    nbligne=0
    for each sh inworksheets
    nbligne=nbligne+ActiveSheet.UsedRange.Rows.Count
    next sh
    Si tu parle d'un fichier txt ou autre ca va etre un peu différent
    « Il n'y a pas de recette miracle qui permet aux gens d’écrire des programmes corrects sans avoir à réfléchir. Il faut apprendre aux gens comment réfléchir »

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 22/06/2009, 13h57
  2. Changer une propriété column site sans ouvrir le fichier
    Par jo_dalton dans le forum SharePoint
    Réponses: 5
    Dernier message: 04/06/2009, 11h23
  3. Récupérer des infos sans ouvrir les fichiers
    Par hakuna_du_94 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 02/12/2008, 08h56
  4. exécution d'une macro sans ouvrir le fichier
    Par sash6 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/05/2008, 11h49
  5. Réponses: 4
    Dernier message: 13/11/2007, 10h10

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