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 :

Problème pour basculer des données d'un fichier à un autre


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2013
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Novembre 2013
    Messages : 48
    Points : 21
    Points
    21
    Par défaut Problème pour basculer des données d'un fichier à un autre
    Bonjour à tous !

    Je suis débutant en VBA excel et je suis entrain de faire une macro pour basculer des informations d'un fichier vers un autre. Sans même avoir encore fait tourner ma macro. Je pense que je vais être confronté à un sérieux problème. J'utilise la fonction VBA : Windows. ("NOM de mon fichier source.xls").Activate. Pour aller chercher les informations à transférer vers mon fichier qui s'appelle "COMPTEOLIVIER.XLS". Seulement voilà mon fichier source va constamment changer de nom...

    Donc voici ma question existe-t-il une ligne de code pour définir automatiquement le nom du fichier à traiter au début? Je verrais bien une fenêtre qui s'affiche avec un InputBox avec un message genre "quel fichier voulez vous traiter?"

    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
    'Bascule les dates et les codes compte en compta
       Sheets("COMPTE1").Select
        Range("A8").Select
        Range("A8:B" & Range("A65536").End(xlUp).Row).Copy
        Windows("COMPTOLIVIER.xls").Activate
        Sheets("COMPTE1").Select
        Range("A8").Select
        Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
            Sheets("COMPTE1").Select
    'Copie le nom, le numéro de dossier et la mesure de protection
       Windows("nom de mon fichier source.xls").Activate
        Sheets("COMPTE1").Select
        Range("B2:B4").Select
        Selection.Copy
        Windows("COMPTOLIVIER.xls").Activate
        Sheets("COMPTE1").Select
        Range("B2").Select
        Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False

  2. #2
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour.

    Tu peux regarder l'objet FileDialog qui permet d'ouvrir une explorateur pour désigner un fichier.

    Cordialement,

    PGZ

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2013
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Novembre 2013
    Messages : 48
    Points : 21
    Points
    21
    Par défaut
    Euh oui... Merci de la réponse mais je suis vraiment très novice en VBA comment puis-je utiliser cette objet?

  4. #4
    Membre du Club Avatar de SCryptCypher
    Femme Profil pro
    MacGyver
    Inscrit en
    Novembre 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : MacGyver

    Informations forums :
    Inscription : Novembre 2013
    Messages : 35
    Points : 64
    Points
    64
    Par défaut
    Citation Envoyé par ExcelLiod Voir le message
    Euh oui... Merci de la réponse mais je suis vraiment très novice en VBA comment puis-je utiliser cette objet?

    Bonjour,

    Voir dans la FAQ

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2013
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Novembre 2013
    Messages : 48
    Points : 21
    Points
    21
    Par défaut
    Citation Envoyé par SCryptCypher Voir le message
    Bonjour,

    Voir dans la FAQ
    Après multiple relecture... Je ne crois pas que l'objet FileDialog correspond à ce que je demande...

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    L'utilisation d'Input est tout à fait envisageable, mais je te propose ci-dessous une alternative utilisant une zone de liste dans un formulaire.
    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
    Private Sub ListBox1_Click()
        Dim rep As Integer
        rep = MsgBox(Me.ListBox1.Text, vbQuestion + vbYesNo, "Continuer avec ce fichier")
        If rep = vbNo Then Exit Sub
        'ICI le traitement à opérer (copie ton code actuel) en remplaçant Windows("nom de mon fichier source.xls").Activate _
    par Windows(Me.ListBox1.Text).Activate
    
    End Sub
    Private Sub UserForm_Initialize()
        NomFichier = Dir("*.xls")   ' Trouve la première entrée valide
        Do While NomFichier <> ""   ' Démarre la boucle.
           ListBox1.AddItem NomFichier
           NomFichier = Dir()   ' Trouve l'entrée suivante.
        Loop
    End Sub

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/08/2013, 18h23
  2. problème pour supprimer des lignes d'un fichier
    Par NicoO_O dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 17/01/2008, 07h23
  3. [Tableaux] Problème pour modifier des données
    Par Oli_Ifre dans le forum Langage
    Réponses: 8
    Dernier message: 11/04/2007, 15h33
  4. [LDAP] problème pour récupérer des données
    Par Bizoo dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 06/04/2007, 09h09
  5. Problème pour rentrer des données dans MySQL
    Par Sandara dans le forum Requêtes
    Réponses: 8
    Dernier message: 06/06/2006, 10h59

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