Macro Excel copier/coller l'ensemble de la ligne vers un nouveau fichier pour ch
cs_Cel79
Messages postés2Date d'inscriptionjeudi 21 mai 2009StatutMembreDernière intervention22 mai 2009
-
21 mai 2009 à 17:40
cs_Cel79
Messages postés2Date d'inscriptionjeudi 21 mai 2009StatutMembreDernière intervention22 mai 2009
-
22 mai 2009 à 12:03
Please Help !!!
Bonjour à tous,
Je suis débutante en macro et j'ai vraiment besoin de votre aide (c'est important c'est pour mon boulot).
J'ai un fichier excel avec dans la 1ère colonne différentes valeurs
récurrentes, et d'autres informations liées à chacune des données de cette colonnes dans les
autres colonnes.
Je souhaite une macro qui, pour chaque donnée trouvée dans la 1ère colonne va copier/coller l'ensemble de la ligne vers un nouveau fichier
ayant comme titre la valeur de la cellule de la colonne A correspondantes.
exemple :
A / B / C / D
Martin DUPOND / code projet / libellé / temsppassé
Martin DUPOND / code projet / libellé / temsppassé
Jane DO code projet libellé temsppassé
Françoise DURAND code projet libellé temsppassé
René DUPUIS code projet libellé temsppassé
Je souhaite obtenir
- un fichier Martin DUPOND.xls avec les données correspondant à Pierre et toutes les autres colonnes
- un fichier Jane DO.xls avec les données correspondant à Jane et toutes les autres colonnes
etc.... avec autant de fichiers excel qu'il y a de données dans la colonne A.
Je vous remercie sincèrement pour l'aide que vous pourrez m'apporter !
@+
A voir également:
Macro excel copier coller cellule dans une autre feuille
cs_antom
Messages postés44Date d'inscriptionvendredi 25 janvier 2008StatutMembreDernière intervention17 mai 2012 21 mai 2009 à 19:47
Hello à tous,
Si c'est avec Excel 2003 que tu travaille, tu peux essayer cette macro si elle te convient.
Dans la feuille tu places un CommandButton et tu mets ce code :
Public Sub CommandButton1_Click() 'Copie sauvegarde classeur
x = InputBox("Quelle ligne voulez-vous copier ?")
If x = "" Then Exit Sub
If Not IsNumeric(x) Then
MsgBox "Vous devez saisir un nombre !"
x = InputBox("Quelle ligne voulez-vous copier ?")
Else
Rows(x).Copy
Workbooks.Add
ActiveSheet.Paste
Columns("A:A").ColumnWidth = 14.71
Application.CutCopyMode = False
ActiveWorkbook.SaveAs Filename:= _
"C:\Documents and Settings\Dr Banner\Bureau" & ActiveSheet.[A1] & ".xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
End If
End Sub
C'est mieux comme ça, car tu as le contrôle de ce que tu veux copier ou pas !
cs_Cel79
Messages postés2Date d'inscriptionjeudi 21 mai 2009StatutMembreDernière intervention22 mai 2009 22 mai 2009 à 12:03
Salut antom !
Merci beaucoup d'avoir répondu si vite. C'est cool !
Je vais garder ta proposition car elle peut effectivement m'être bien utile, cependant il faudrait que le classeur dans lequel est copié la ligne, s'enregistre tout seul car j'ai trop de données pour le faire manuellement à chaque fois.
Au final, je dois avoir une centaine minimum de nouveaux fichiers.
De plus dans ton code, seule la ligne que j'indique est copiée alors qu'il me faudrait toutes les lignes du même "nom" (colonneA) dans le même fichier.
As-tu une idée ?
Encore merci pour ton aide, elle m'est précieuse !