Générer des fichiers en copiant des colonnes d'un fichier source
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
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.
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.