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 :

Est-il possible de faire ceci ?


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2
    Par défaut Est-il possible de faire ceci ?
    Bonsoir tout le monde.

    J'ai deux fichiers :
    - un *.xls qui me sert à faire mes comptes
    - un *.tsv que j'exporte depuis le site de ma banque.

    Actuellement, je cherche les nouvelles lignes du fichier *.tsv (qui ne sont pas dans mon fichier *.xls), et je les insère dans mon fichier *.xls.
    Je mets également à jour le montant de mon solde.

    Est-ce que vous pourriez me dire s'il est possible d'automatiser tout ça via une macro ?
    Genre on clique sur un bouton du fichier *.xls qui nous permet de parcourir le disque à la recherche du fichier *.tsv et les lignes non présentes dans le *.xls sont insérées (et mise à jour du solde).

    Petit exemple pour que ce soit un peu plus "clair" :

    Le but est d'insérer les deux nouvelles transactions en lignes 7 et 8 du *.xls et décaler les autres lignes de deux vers le bas.
    Il faut aussi mettre le "100,00" dans la cellule G3.

    Merci d'avance !

  2. #2
    Membre Expert
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Par défaut
    Bonjour,
    C'est possible mais demande quelques lignes de code.
    Bon courage

  3. #3
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2
    Par défaut
    Y aurait-il une âme charitable qui saurait me faire ça ? Ou du moins le début de la chose ?

  4. #4
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    Supposons qu'ils sont sur le même dossier, tu peux t'en inspirer

    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
    41
    42
    Sub chargerdonnees()
        Dim canal As Integer, sep As Integer, j As Long, k As Integer    'déclaration du canal
        Dim s As String, courant As String, a As String
        courant = CurDir            'sauvegarde notre repertoire courant
    chemin=thisworkbook.path
        canal = FreeFile            'initialisation du canal
        ChDir chemin       'change le répertoire courant
        Open chemin & "/Imports.tsv" For Input As #canal    'ouvre le fichier commandes.txt en lecture seule
        Line Input #canal, a
    With Feuil3
            j = 2
            Do Until EOF(canal)         'tant que l'on n'est pas à la fin du fichier
                Line Input #canal, s    'lire la prochaine ligne et la mettre dans s
                sep = InStr(s, ";")     'sep prend la position du premier ;
                .Cells(j, 1) = Mid(s, 1, sep - 1)    'on rentre dans la feuille l'information de la première colonne
                s = Mid(s, sep + 1)    's est otée de la première information
                sep = InStr(s, ";")     'et ainsi desuite
                .Cells(j, 2) = CDate(Mid(s, 1, sep - 1))
                s = Mid(s, sep + 1)
                sep = InStr(s, ";")
                .Cells(j, 3) = CVar(Mid(s, 1, sep - 1))
                s = Mid(s, sep + 1)
                sep = InStr(s, ";")
                .Cells(j, 4) = CSng(Mid(s, 1, sep - 1))
                s = Mid(s, sep + 1)
                sep = InStr(s, ";")
                .Cells(j, 5) = CVar(Mid(s, 1, sep - 1))
                s = Mid(s, sep + 1)
                sep = InStr(s, ";")
                .Cells(j, 6) = CVar(Mid(s, 1, sep - 1))
                s = Mid(s, sep + 1)
                sep = InStr(s, ";")
                .Cells(j, 7) = Mid(s, 1, sep - 1)
                s = Mid(s, sep + 1)
                sep = InStr(s, ";")
                .Cells(j, 8) = Mid(s, 1, sep - 1)
                j = j + 1
            Loop
        End With
        Close #canal    'fermeture du fichier
        ChDir courant   'revient à notre répertoire courant
    End sub

Discussions similaires

  1. Est il possible de faire ceci ?
    Par larchicha dans le forum Langage SQL
    Réponses: 4
    Dernier message: 10/07/2012, 11h22
  2. Est-il possible de faire ceci ?
    Par beegees dans le forum OpenCV
    Réponses: 8
    Dernier message: 23/05/2011, 16h27
  3. Est ce possible de faire ceci en SQL?
    Par neeux dans le forum Langage SQL
    Réponses: 2
    Dernier message: 11/05/2009, 13h20
  4. Est il possible de faire planter un système Unix
    Par Patrick PETIT dans le forum Administration système
    Réponses: 15
    Dernier message: 15/06/2004, 15h16
  5. est il possible de faire un trie sur un paramètre donné
    Par chtiboss dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 17/03/2004, 11h51

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