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 CSV - conversion-copier/coller plage de cellules


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
    technicien EN
    Inscrit en
    Juin 2018
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : technicien EN
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2018
    Messages : 13
    Par défaut Import CSV - conversion-copier/coller plage de cellules
    bonjour,

    je souhaite convertir un fichier liste.csv contenant un tableau NOM,PRENOM,GROUPE en une plage de cellule, copier la plage des nom|prenom|groupe dans un autre tableau .


    le code ci-dessous a été réalisé à l'aide de l'enregistreur de macro....
    ligne 9 (Range("A2:A150").Select) erreur d'exécution ' 1004 - erreur definie par l'application ou par l'objet

    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
    Private Sub CommandButton5_Click()
    Dim fichier_choisi As String
        'Application.ScreenUpdating = False
     
    fichier_choisi = Application.GetOpenFilename("Excel Files (*.csv), .csv", , "sélectionner la liste des enfants de la colo des Myrtes  *.CSV (nom_prenom_groupe)")
    Workbooks.Open Filename:=fichier_choisi
    Worksheets("liste").Activate
    '    *****************           convertir csv en tableau     *******
        Range("A2:A150").Select
        Application.CutCopyMode = False
        Selection.TextToColumns Destination:=Range("A2"), 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
     
     
     '   *********  copier la plage de nomprenomgroupe   **********
     
     
        Range("A2:C150").Select
        Selection.Copy
     
       '*********************     coller la plage dans le tableau maitre   ******************
     
        Windows("assistant sanitaire2.0.xlsm").Activate
        Sheets("listing").Select
        Range("A2").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
     
        Application.ScreenUpdating = True
     
    End Sub

    merci pour votre aide

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 128
    Par défaut
    En ligne 9 mettez :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Range("A2:A150").Select
    et ça devrait régler le problème.

  3. #3
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    A tester pour la récup :
    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
     
    Sub Recup()
     
        Dim Fe As Worksheet
        Dim fichier_choisi As String
     
        Set Fe = Worksheets("Feuil1")
     
        fichier_choisi = Application.GetOpenFilename("Excel Files (*.csv), .csv", , "sélectionner la liste des enfants de la colo des Myrtes  *.CSV (nom_prenom_groupe)")
     
        With Fe.QueryTables.Add("TEXT;" & fichier_choisi, Fe.Range("A1"))
     
            .TextFileParseType = xlDelimited
            .TextFileTextQualifier = xlDoubleQuote
            .Refresh
            '.Delete '<--- si on ne veux pas garder la liaison de la requête
     
        End With
     
    End Sub

Discussions similaires

  1. [XL-2007] Ouvrir un fichier .csv puis copier une plage de cellules?
    Par FrancisZheng dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/12/2015, 11h00
  2. [XL-2013] Copier/Coller plage de cellules non-vides vers un autre classeur
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 08/06/2015, 15h52
  3. [XL-2007] Copier coller plage de cellules dans une boucle For Each..Next
    Par JulieD33 dans le forum Excel
    Réponses: 3
    Dernier message: 02/03/2015, 11h19
  4. [XL-2007] Copier coller plage de cellule VBA en decalant d'une colonne si remplie
    Par thibault12500 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 11/11/2013, 11h53
  5. Réponses: 0
    Dernier message: 28/11/2011, 23h41

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