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 valeur dans un autre fichier


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur
    Inscrit en
    Février 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Février 2016
    Messages : 5
    Par défaut Copier valeur dans un autre fichier
    Bonjour,
    Je recherche un peu d'aide pour VBA.
    J'ai un dossier qui contient environ 100 fichiers .csv.
    Dans ces fichiers il y a toujours 4 cases à la même position qui m'intéresse B3 à B6.
    Je souhaiterais les copier et les mettre dans un autre fichier avec la case B3 en A1, la case B4 en B1, la case B5 en C1 et la case B6 en D1.
    Fermer le fichier .cvs ouvert, ouvrir le prochain recommencer en copiant les valeurs dans les mêmes colonnes mais en dessous.

    Si vous avez une idée merci

  2. #2
    Membre à l'essai
    Homme Profil pro
    Ingénieur
    Inscrit en
    Février 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Février 2016
    Messages : 5
    Par défaut
    Voici quelque chose qui marche bien mais pas très esthétique.
    De plus j'ai eu un autre soucis avec les fichiers .csv, ils s'ouvrent d'une façon déjà convertis mais par les virgules et non les points-virgules. Je ne sais pas pourquoi.
    En tout cas ça marche, je suis content. Si vous avez une plus grande esthétique. Je suis preneur.

    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    Sub copiefichiersanum_ds_1_seul_fichier()
     
    Range("A1").Select 'sélectionner la cellule de début
    Chemin = "C:\Users\uidp7048\Desktop\force to seat\VERIFICATION FORCE TO SEAT FORCE TO PULL OUT TG1D R (COATING CONF 1).is_comp_RawData\" 'saisir le chemin complet du dossier où se trouvent les fichiers
    Fichier = Dir(Chemin & "*.csv") ' Premier fichier
        Do While Fichier <> ""
            Workbooks.Open Filename:=Chemin & Fichier
            'copier déplacer la feuille vers anum
            Windows(Fichier).Activate
     
    '
        Range("A3").Select
        ActiveCell.FormulaR1C1 = ActiveCell & ","
        Range("A4").Select
        ActiveCell.FormulaR1C1 = ActiveCell & ","
        Range("A5").Select
        ActiveCell.FormulaR1C1 = ActiveCell & ","
        Range("A6").Select
        ActiveCell.FormulaR1C1 = ActiveCell & ","
     
        Range("B3").Select
     
       Do While ActiveCell <> ""  'Loops until the active cell is blank.
     
          'The "&" must have a space on both sides or it will be
          'treated as a variable type of long integer.
     
          ActiveCell.Offset(0, 1).FormulaR1C1 = _
             ActiveCell.Offset(0, -1) & "" & ActiveCell.Offset(0, 0)
     
          ActiveCell.Offset(1, 0).Select
       Loop
     
        Range("C3:C6").Select
        Selection.TextToColumns Destination:=Range("C3"), DataType:=xlDelimited, _
            TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
            Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
            :=Array(Array(1, 1), Array(2, 1), Array(3, 1)), TrailingMinusNumbers:=True
        Range("D3:D6").Select
        Selection.Copy
     
        Windows("anum.xlsx").Activate
     
        ActiveSheet.Range("a1").End(xlDown).Offset(1, 0).Select
        Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
            False, Transpose:=True
     
            Windows(Fichier).Activate 'revenir au ficher anum
            ActiveWorkbook.Close savechanges:=False
            Fichier = Dir ' Fichier suivant
    Loop
    End Sub

  3. #3
    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 !

    ‼ (cf règles de ce forum)


    Citation Envoyé par tieumav Voir le message
    De plus j'ai eu un autre soucis avec les fichiers .csv, ils s'ouvrent d'une façon déjà convertis mais par les virgules et non les points-virgules.
    Je ne sais pas pourquoi.
    Je sais pourquoi : mauvais code …

    Tout dépend déjà de la structure du fichier importé et comme on ne peut la deviner …

    _________________________________________________________________________________________________________
    Je suis Paris, Nice, Bruxelles, Charlie, …

Discussions similaires

  1. Réponses: 1
    Dernier message: 02/07/2014, 17h20
  2. Copier rapport dans un autre fichier BO
    Par boubou93 dans le forum Débuter
    Réponses: 3
    Dernier message: 02/04/2009, 17h10
  3. Rechercher une valeur dans un autre fichier
    Par devock dans le forum Excel
    Réponses: 3
    Dernier message: 03/11/2008, 15h49
  4. Réponses: 10
    Dernier message: 15/05/2007, 14h24
  5. [VBA] Recherche d'une valeur dans un autre fichiers puis
    Par Nicos77 dans le forum Général VBA
    Réponses: 11
    Dernier message: 24/03/2006, 11h24

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