Macro Excel copier/coller l'ensemble de la ligne vers un nouveau fichier pour ch

cs_Cel79 Messages postés 2 Date d'inscription jeudi 21 mai 2009 Statut Membre Dernière intervention 22 mai 2009 - 21 mai 2009 à 17:40
cs_Cel79 Messages postés 2 Date d'inscription jeudi 21 mai 2009 Statut Membre Dernière intervention 22 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 !
@+

3 réponses

cs_antom Messages postés 44 Date d'inscription vendredi 25 janvier 2008 Statut Membre Dernière intervention 17 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 !

Bye.

JassBass 
0
cs_antom Messages postés 44 Date d'inscription vendredi 25 janvier 2008 Statut Membre Dernière intervention 17 mai 2012
21 mai 2009 à 19:51
Re,

Bien sûr, tu modifies ce chemin...

"C:\Documents and Settings\Administrateur\Bureau"

... si tu veux placer le classeur ailleurs que sur le bureau.

Bye, JassBass
0
cs_Cel79 Messages postés 2 Date d'inscription jeudi 21 mai 2009 Statut Membre Dernière intervention 22 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 !
0
Rejoignez-nous