Maccro excel : activeworkbook

Résolu
sfkuhvdlkufgs Messages postés 31 Date d'inscription jeudi 16 décembre 2004 Statut Membre Dernière intervention 4 mai 2007 - 3 mai 2007 à 16:46
sfkuhvdlkufgs Messages postés 31 Date d'inscription jeudi 16 décembre 2004 Statut Membre Dernière intervention 4 mai 2007 - 4 mai 2007 à 15:11
Bonjour,
je réalise une macro sous excel et je doit mettre en tant que activeworkbook le fichier excel qui contient la macro, je n'arrive pas a trouver comment faire, quelqu'un pourrait il me dire ou m'envoyer un lien qui m'explique cela ?
Merci

4 réponses

sfkuhvdlkufgs Messages postés 31 Date d'inscription jeudi 16 décembre 2004 Statut Membre Dernière intervention 4 mai 2007
4 mai 2007 à 15:11
Patientce et longueur de temps .....
En fait j'ai remplacé le #2 par un

numfich = FreeFile
 Open nom_f For Output As #numfich

Et j'ai surtout enlever les guillemets de "nom_f" ici
   Open "nom_f" For Output As #2

en fin en tout cas ca a fini par marcher...

Fin du monologue
3
sfkuhvdlkufgs Messages postés 31 Date d'inscription jeudi 16 décembre 2004 Statut Membre Dernière intervention 4 mai 2007
3 mai 2007 à 17:32
En fait je suis de moins en moins sur que cela vienne de activeworkbook, étant donné que je lance la macro a partir du fichier concerné sous excel. Voila le programme, le problème est qu'il ne me créé aucun fichiers alors que le code est bien parcouru.

Sub copie()
Dim classeur As String
Dim ligne, nom, nom_f As String
Dim i, j, comp As Integer

For i = 9 To 19
    nom = ActiveWorkbook.Sheets(i).Name
   
    For j = 1 To 10
        nom_f = ""
        nom_f = nom & ActiveWorkbook.Sheets(i).Cells(4, j + 1) & ".txt"
        nom_f = "c:\fichiers" & nom_f
        Open "c:\fichiers\matrice.txt" For Input As #1
        Open "nom_f" For Output As #2
        'recopie de la matrice a partir du .txt
        While Not EOF(1)
            Line Input #1, ligne
            Print #2, ligne
        Wend
        Close #1
        'recuperation des donnees a partir du fichier excel
        For comp = 5 To 78
            Line = Cells(comp, 1) & "   " & Cells(comp, j + 1)
            Print #2, Line
           
        Next comp
        Close #2
    Next j
Next i

End Sub
0
sfkuhvdlkufgs Messages postés 31 Date d'inscription jeudi 16 décembre 2004 Statut Membre Dernière intervention 4 mai 2007
4 mai 2007 à 11:50
En fait il semble que ce soit le Open "nom_f" For Output As #2 qui ne créé pas le fichier ( après vérification, nom_f contient bien ce le nom qu'il faut)
Pourtant il me semble bien avoir vu que le open créait un nouveau fichier est ce que je me trompe ?
Merci
0
sfkuhvdlkufgs Messages postés 31 Date d'inscription jeudi 16 décembre 2004 Statut Membre Dernière intervention 4 mai 2007
4 mai 2007 à 12:26
en fait j'ai remplacé output par append, et il me créé bien le fichier, mais par contre le print ne fait rien alors que les variables line et ligne ont les bonnes valeurs. Je n'y comprend rien, est ce un problème de version de vb (je travaille sous l'editeur de macro de excel 2000), car ce que je vois sur les  différents sites internet me montre bien que cette méthode permet d'écrire dans les fichiers textes.
Help SVP
0
Rejoignez-nous