Vba copier coller à la suite

Fermé
alex - 22 avril 2015 à 10:05
 alex - 17 mai 2015 à 13:21
Bonjour,

Voila, je suis nouveau sur VBA et j'aimerais "coller" ou je le souhaite dans ma feuille VBA. Plus précisément, je souhaite coller a la suite des éléments.
La dans mon code, ca écrase mon fichier, donc je ne récupère uniquement, le contenue de mon dernier fichier (CONTREPARTIES(3))

voila mon code:

REMARQUE: CONTREPARTIES étant un tableau de 4 String

For i = 0 To UBound(CONTREPARTIES)
Workbooks(FICHIER_NOM).Worksheets(CONTREPARTIES(i)).Activate

' Créer le fichier
Set fSys = CreateObject("Scripting.FileSystemObject")
Set monFichierTxt = fSys.CreateTextFile(REPERTOIRE_NOM & today & FICHIER_DEST & ".txt")
monFichierTxt.Close


' Ouvrir le fichier
Workbooks.OpenText Filename:=REPERTOIRE_NOM & today & FICHIER_DEST & ".txt"

' Copier les données
Workbooks(FICHIER_NOM).Activate
Sheets(CONTREPARTIES(i)).Cells.Copy

Workbooks(today & FICHIER_DEST & ".txt").Activate
ActiveSheet.Paste

ActiveWindow.Close True
Next

A voir également:

1 réponse

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
22 avril 2015 à 12:14
Bonjour,

    Application.ScreenUpdating = False
    
    ' Créer le fichier
    Set fSys = CreateObject("Scripting.FileSystemObject")
    Set monFichierTxt = fSys.CreateTextFile(REPERTOIRE_NOM & today & FICHIER_DEST & ".txt")
    monFichierTxt.Close
    ' Ouvrir le fichier
    Workbooks.OpenText Filename:=REPERTOIRE_NOM & today & FICHIER_DEST & ".txt"
    'boucle sur les onglets
    For i = 0 To UBound(CONTREPARTIES)
        'mise en memoire infos
        TInfos = ThisWorkbook.Sheets(CONTREPARTIES(i)).UsedRange
        'premiere cellule vide colonne A
        derlig = Range("A" & Rows.Count).End(xlUp).Row
        If derlig > 1 Then derlig = derlig + 1
        'ecriture infos dans fichier txt
        Range("A" & derlig).Resize(UBound(TInfos, 1), UBound(TInfos, 2)) = TInfos
    Next i


Application.ScreenUpdating = True
0
Merci de votre réponse, j'avais trouvé solution à mon problème. La communauté de ce site est vraiment toujours aussi active. Thks !
0