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 :

Laisser un espace d'une colonne entre des copier coller [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 97
    Par défaut Laisser un espace d'une colonne entre des copier coller
    Bonjour à tous,

    J'ai créé un programme qui fait copier/coller du contenu de fichiers textes dans une feuille Excel.
    Le problème c'est qu'il colle les contenus l'un à côté de l'autre (voir pièce jointe) dans Excel mais j'aimerais qu'il laisse un espace d'une colonne entre chaque collage. Le contenu est collé à partir de la cellule A3 et les anciens collages se décalent vers la droite en fait. J'avais essayé de coller en B3 mais ça ne laisse pas un espace d'une colonne.
    Quelqu'un sait-il comment faire?
    Voici mon programme. C'est dans la procédure "coller" que ça se passe.

    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    Option Explicit
     
    Dim lettre1, lettre2, lettre3, jour, jour2, mois, mois2, annee As Integer
    Dim my_file, sFichier As String
     
    Public Sub main()
     
    jour = 0
    mois = 5
    annee = 2011
    lettre1 = ""
    lettre2 = ""
    lettre3 = 55
     
        Do While my_file <> "05-31-2011"
     
        If (jour = 31) Then
     
            jour = 1
            mois = mois + 1
            jour2 = Format(jour, "00")
            mois2 = Format(mois, "00")
            my_file = mois2 & "-" & jour2 & "-" & annee
    '       Call colonne
     
            If ExistenceFichier("\\10.57.70.210\Production\Secondaire\" & my_file & ".his") Then
     
                Call coller
     
            Else
     
            End If
     
        Else
     
            jour = jour + 1
            jour2 = Format(jour, "00")
            mois2 = Format(mois, "00")
            my_file = mois2 & "-" & jour2 & "-" & annee
     
    '       Call colonne
     
            If ExistenceFichier("\\10.57.70.210\Production\Secondaire\" & my_file & ".his") Then
     
                Call coller
     
            Else
     
            End If
     
        End If
     
        Loop
     
    End Sub
     
    'Public Sub colonne()
    '
    '    If (lettre2 = "" And lettre3 > 90) Then
    '
    '        lettre2 = 64
    '
    '    End If
    '
    '    If (lettre3 > 90) Then
    '
    '                lettre3 = lettre3 - 26
    '                lettre2 = lettre2 + 1
    '
    '            Else
    '
    '                lettre3 = lettre3 + 10
    '    End If
    '
    'End Sub
     
    Public Sub coller()
     
        Range("A3").Select
        With ActiveSheet.QueryTables.Add(Connection:= _
            "TEXT;\\10.57.70.210\Production\Secondaire\" & my_file & ".his", Destination:= _
            Range("$A$3"))
            .Name = my_file
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .TextFilePromptOnRefresh = False
            .TextFilePlatform = 850
            .TextFileStartRow = 1
            .TextFileParseType = xlDelimited
            .TextFileTextQualifier = xlTextQualifierDoubleQuote
            .TextFileConsecutiveDelimiter = False
            .TextFileTabDelimiter = False
            .TextFileSemicolonDelimiter = True
            .TextFileCommaDelimiter = False
            .TextFileSpaceDelimiter = False
            .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1)
            .TextFileTrailingMinusNumbers = True
            .Refresh BackgroundQuery:=False
        End With
     
    End Sub
    Merci
    Images attachées Images attachées  

  2. #2
    Membre chevronné
    Avatar de bifconsult
    Homme Profil pro
    Consultant
    Inscrit en
    Mars 2012
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2012
    Messages : 189
    Par défaut
    Bonjour,

    Pourquoi, dans la procédure coller, ne pas ajouter simplement une colonne vide à la suite du coller ?

    Ici:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    columns(1).insert shift:=xlright
    Du coup, tes dernières sont décalées dans la feuille. Si ça ne fonctionne pas, insère deux fois cette ligne de code.

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 97
    Par défaut
    Merci pour ta réponse bifconsult.

    Ca fonctionne en mettant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Columns(9).insert shift:=xlright

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 23/04/2009, 10h13
  2. Réponses: 6
    Dernier message: 14/12/2006, 11h36
  3. Réponses: 4
    Dernier message: 29/05/2006, 15h27
  4. Trier une colonne avec des valeurs numériques ou textes
    Par jfc dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 07/02/2006, 11h15

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