Générer des fichiers en copiant des colonnes d'un fichier source

Bonjour à tous,

Je débute en VBA, j'ai passé 3 soirées sur mon problème mais je n'avance pas beaucoup... Help.

Voici mon but:

Créer une macro qui génère des devis (modèle de devis: Feuille "Devis") à partir d'une feuille source (feuille "BPU et qtés"), dans laquelle toute les quantités apparaissent dans des colonnes qui se suivent. (une colonne = un devis à créer).

Je pense que tout est clair dans le fichier en PJ, et le code commenté ci-dessous.

Merci d'avance pour votre aide précieuse...

Sub Macro9()
'
' Macro9 Macro
'
' Touche de raccourci du clavier: Ctrl+m
'
'au début nous sommes dans la feuille "BPU et Qtés"
'je souhaite en partant de la cellule C3 (ou D3...) active, selectionner et copier la plage C4:C22 (ou D4:D22...)

    Range("C4:C22").Select
    Selection.Copy
    Sheets("Devis").Select
    Range("C5").Select

'ici dans "Devis" pas de soucis ça sera toujours C5

    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

'à partir d'ici c'est pour aller chercher le nom du devis sous lequel enregistrer la feuille "Devis" ci-dessous

    Sheets("BPU et Qtés").Select
    Range("C3").Select

'ou "D3" ou "F3", la cellule active au début

    Application.CutCopyMode = False
    activeCell.FormulaR1C1 = "ticket 1"

'En D3 on aurait copié "ticket 2"

    Sheets("Devis").Select
    Sheets("Devis").Copy
    ActiveWorkbook.SaveAs fileName:="C:\Users\jmrivoal\Documents\ticket 1.xlsx", _
        FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False

'Je pense qu'il faudrait faire ça, mais je n'y arrive pas, sans doute car je n'ai pas défini activCell au dessus...:
'fileName = "C:\Users\jmrivoal\Documents\" & activeCell.Text & ".xlsx"

    ActiveWindow.Close
    Sheets("BPU et Qtés").Select
    Range("D3").Select
'passe à la cellule suivante pour être prêt à relancer la macro ensuite.
'je pourrais aussi selectionner F3 à BZ3 pour créer 50 devis d'un coup, mais j'ai peur que ça plante car en réalité j'aurai plus de 1000 lignes à chaque fois.
End Sub
15test-macro.xlsm (18.73 Ko)

Salut,

Je te propose une macro qui devrait réaliser ce que tu souhaites.

Si tu as un nombre indéterminé de devis et/ou un nombre indéterminé de lignes, on pourra modifier la macro en conséquence.

Amicalement.

36test-macro-v1.xlsm (26.90 Ko)

Merci beaucoup Yvouille !!

C'est parfait, j'étais pas prêt d'y arriver comme j'étais parti...

Je préfère garder un nombre de colonne défini, je viens de tester avec 50 colonnes pas de soucis.

Je n'ai plus qu'à mettre ça dans mon vrai fichier de travail, 1000 lignes, et environ 50 à 60 colonnes pour chaque feuille/semaine.

Merci encore,

Amicalement.

Rechercher des sujets similaires à "generer fichiers copiant colonnes fichier source"