Modification routine

re,

Voila la modification a été faite ^^

Tout fonctionne trés trés bien.

Je te remerci vraiment beaucoup pour ton aide.

J'avais poser auparavant d'autres questions sur d'autres forums, et franchement les gens sont pas toujours aussi sympas et compréhensif que sur ce forum.

Je vais y rester encore pendant trés trés lontemp sur ce forum.

Voila encore merci.

Amicalement.

Bonjour bonjour,

J'aurais aimer savoir comment faire pour faire une sauvegardes des fichiers par exemple "G20080405.xls" et "R20080405.xls" que j'ouvre grace à la procédure "Sub Récup_données () ", dans un autre dossier sur mon DD.

J'ai essayer d'utiliser "FileCopy" mais jusqu'à maintenat j'ai echouer.

J'ai penser utiliser la variable qui me permet de sauvegarder le nom du fichier à ouvrir, mais la aussi je n'ai pas réussi a faire quelque chose ...

A votre bon coeur m'ssieu dame ...

Amicalement

( P.S. : j'ai modifier le code d'ouverture des fichiers au départ pour que l'utilisateur n'ai plus qu'à choisir le fichier commencan par "G", le fichier commencant par "R" s'ouvre automatiquement. )

Bonjour à tous,

essaye d'ajouter cette ligne :

'Ouvrir fichier "GOOD"

Workbooks.OpenText strCsv, xlWindows, 1, xlDelimited, , , True, , , , , , , , "."

 Application.Dialogs(xlDialogSaveAs).Show

pareil pour le fichier "REJECt

Claude.

re,

Oui c'est parfait, et crois tu qu'il serait possible de faire la même chose mais avec un chemin fixe comme le chemin C:\Ordinateur\Disque local\copie_fichier_good

et le chemin C:\Ordinateur\Disque local\copie_fichier_reject, que sa sauvegarde sans demander à l'utilisateur de choisir un chemin ?

Amicalement

re,

Complique pas trop !

-si un jour tu change de répertoire, c'est cuit !!

rappelle-toi tes problèmes du début.

Claude.

re,

ouai c'est pas faux ^^ mais je pensais automatiser le plus possible pour que les personnes quio l'utiliseront n'ai rien à faire, sinon j'ai peur qu'elles fasse une mauvaise manip, ou qu'elles ne sachent pas ou sauvegarder les fichiers ^^

Amicalement

re,

j'ai essayé,mais je n'arrive pas !

Ce que tu devrait faire :

- enregistrer les 2 fichiers GOOD et REJECT dans le même nouveau fichier.(2 feuilles)

C'est faisable, mais je coince pour la macro.

désolé

Claude.

re,

J'avais pas dis mon dernier mot !

Cette nouvelle macro enregistre dans un nouveau fichier les 2 feuilles GOOD et REJECT

Chemin à définir dans la macro.

Sub Récup_données()
    Dim strCsv As String, strTemp() As String 'Declaration des variables
    Dim wb As Workbook, wbTemp As Workbook, shG As Worksheet, shR As Worksheet, shTemp As Worksheet
    Dim I As Integer
On Error GoTo FIN
Application.ScreenUpdating = False

Call purge 'vide les feuilles GOOD , REJECT

    'Attribution des object feuilles "GOOD" et "REJECT" ainsi que du classeur
    Set wb = ThisWorkbook
    Set shG = wb.Sheets("GOOD")
    Set shR = wb.Sheets("REJECT")

                            '***************************
    MsgBox "Selection du fichier GOOD"
        strCsv = Application.GetOpenFilename("All Files ,*.*", , "Sélectionner le fichier des pièces GOOD à ouvrir")

        'Ouvrir fichier "GOOD"
        Workbooks.OpenText strCsv, xlWindows, 1, xlDelimited, , , True, , , , , , , , "."

        ActiveSheet.Cells.Copy shG.Cells(1, 1) 'Copier contenu dans feuille "GOOD"
        ActiveWorkbook.Close False 'Fermeture du fichier
                                '***************************
    MsgBox "Selection du fichier REJECT"
        strCsvR = Application.GetOpenFilename("All Files ,*.*", , "Sélectionner le fichier des pièces REJECT à ouvrir")

        'Ouvrir fichier "REJECT"
        Workbooks.OpenText strCsvR, xlWindows, 1, xlDelimited, , , True, , , , , , , , "."

        ActiveSheet.Cells.Copy shR.Cells(1, 1) 'Copier contenu dans feuille "REJECT"
        ActiveWorkbook.Close False 'Fermeture du fichier
                               '***************************
    Sheets("STAT_GOOD").Activate
            Range("C5").Select
            Selection.FormulaArray = "=COUNT(GOOD!C[-2])"
            Range("C6").Select
            Selection.FormulaArray = "=COUNT(REJECT!C[-2])"
            [d5] = Dir(strCsv) 'récupération nom de fichier GOOD
            [d6] = Dir(strCsvR) 'récupération nom de fichier REJECT
            [d12] = [GOOD!K4] 'récupération de la date
            [o1] = [GOOD!a1] 'récupération du nom valve
   Call enregistre '******** nouvelle macro
     Exit Sub
FIN:
    MsgBox ("Annuler ou erreur au chargement !")
End Sub

et la nouvelle macro dans le même module

Sub enregistre()
    Dim Wbk As String, NomFichier As String
    Wbk = ActiveWorkbook.Name
    NomFichier = Range("d5") 'récupère le nom fichier GOOD

    Sheets(Array("GOOD", "REJECT")).Select
    Sheets("REJECT").Activate
    Sheets(Array("GOOD", "REJECT")).Copy 'nouveau classeur avec les 2 feuilles

    '*******nomme et classe le fichier dans le répertoire c:\excel2000 **********
    '*******ci-dessous tu mets le chemin et le répertoire *******
    ActiveWorkbook.SaveAs "c:\excel2000\" & NomFichier
Workbooks(Wbk).Activate
    Sheets("STAT_GOOD").Activate
End Sub

amicalement

Claude.

bonjour ^^

Ben écoute je te remerci pour tout ce que tu fait, tu ne t'imagine pas a quel point tu m'aide, je vais aller assayer tout de suite ce que sa donne.

Je revien sur le forum dire ce que sa donne. ( aprés ma douche ^^)

Encore merci a toi.

Amicalement

re,

arf je vien d'essayer et je suis aussi en train de chercher l'erreur, sa ne fonctionne pas, mais je vais voir pourquoi quand même j'essayerai de donner des nouvelles dans la journée ( sa va pas être facile, trés trés chargé ... )

Encore merci pour ton aide Dubois et désolé de prendre sur ton temp.

Amicalement

re,

remplace la macro récup complètement !

et mets le bon chemin dans "enregistre"

Claude.

Bonjour bonjour,

Toutes mes tentatives se sont soldées par un echec ...

Lors de l'ouverture des deux fichier, tout se passe bien, mais une fois qu'ils ont été ouvert copier puis fermé, j'ai le message d'erreur m'indiquant " annuler ou erreur de chargement ".

J'ai pourtant remplacer entierement le code que tu m'a donné, et j'ai changer l'adresse de sauvegarde.

J'avou être un peu dans le brouillard la ...

Amicalement

Bonjour à tous,

Je viens de re-tester, c'est Ok !

pour cerner le problème, mais une apostrophe devant Call enregistre

 'Call enregistre '******** nouvelle macro

Si pas de bogue, c'est que çà vient de "enregistre"

envoie la macro "enregistre telle que tu l'a écrite.

claude.

édit: envoie aussi la macro "purge"

re,

J'ai mis donc une apostrophe devant call enregistre et il n'y a pas de probleme.

donc voila ma macro enregistre:

Sub enregistre()
    Dim Wbk As String, NomFichier As String
    Wbk = ActiveWorkbook.Name
    NomFichier = Range("d5") 'récupère le nom fichier GOOD

    Sheets(Array("GOOD", "REJECT")).Select
    Sheets("REJECT").Activate
    Sheets(Array("GOOD", "REJECT")).Copy 'nouveau classeur avec les 2 feuilles''

    '*******nomme et classe le fichier dans le répertoire c:\excel2000 **********
    '*******ci-dessous tu mets le chemin et le répertoire *******
    ActiveWorkbook.SaveAs "C:\Users\joann\Documents\copie fichier good reject\" & NomFichier
Workbooks(Wbk).Activate
    Sheets("STAT_GOOD").Activate
End Sub

et la macro purge :

Sub purge() 'Vide les feuilles GOOD , REJECT (supprime les lignes)
    Application.ScreenUpdating = False
        Sheets("GOOD").Activate
            Range([a2], [k65536].End(xlUp)).EntireRow.Delete
        Sheets("REJECT").Activate
            Range([a2], [k65536].End(xlUp)).EntireRow.Delete
End Sub

Amicalement

re,

Tout a l'air en ordre !

essaye enregistre en pas à pas pour voir ou çà bogue.

- peut-être éviter les espaces dans les noms !!

Claude.

re,

J'ai suprimer les espaces, et je les ai remplacé par des "_" donc a partir de la un doute de supprimé.

Ensuite je vien de regarder pas à pas, et aprés la ligne :

sheets(Array("GOOD", "REJECT")).select

on a le message " Annuler ou erreur de chargement " qui s'affiche.

Pourtant en regardant en pas à pas ont récupère bien au debut le fichier good qui a été ouvert auparavant ...

Amicalement

re,

non, tes fichiers sont chargés, laisse tomber la macro "récup" et travaille sur "enregistre"

seulement !

tu ne dois pas avoir le message que tu me dis !

le répertoire User me chagrine un peu ! ne serai-ce pas plutôt All User ?

il faudrait faire un essai avec un chemin + direct pour tester, (à changer après, si çà marche).

claude.

édit: vérifie qu'en D5 il y a bien le nom du fichier

re,

il faut être dans la feuille "STAT-GOOD" pour les essais.

claude.

re,

Toujours en pas a pas dans la macro enregistre, on a bien en d5 le nom du fichier.

J'ai aussi changer le chemin, j'en ai mais un plus direct comme : "c:\essai\"

Mais sa ne veut toujours pas passer la 3eme ligne de code ...

Mais je ne comprend pas trop la ligne en fait :

Sheets(Array("GOOD", "REJECT")).select

Amicalement

re,

c'est les 2 feuilles que l'on copie dans un nouveau classeur.

et ensuite, ce nouveau classeur est enregistré sous le nom : NomFichier

il faut cerner le problème,

- est-ce que le nouveau classeur est crée . (classeur1 ou 2) déjà. ?

claude.

Rechercher des sujets similaires à "modification routine"