incrément numéro depuis fichier texte (macro excel)
Répondre à la discussion
Affichage des résultats 1 à 12 sur 12

incrément numéro depuis fichier texte (macro excel)



  1. #1
    boblebob

    incrément numéro depuis fichier texte (macro excel)


    ------

    bonjour,
    je vien de commencer a apprendre les macro dans excel, il y a 2 jours.
    j'ai fait plusieurs recherche, et j'ai trouver pas mal de bon conseil pour faire des macro de base.

    maintenant je serais intéresser a faire des macro un peu plus compliquer et j'aurais besoin de votre aide.

    j'ai un fichier excel qui me sert de modèle pour mes facture (tout les formule sont rentrer, mais les cases de valeur sont vide)
    j'ai réussit a implémenter un bouton a l'aide de macro qui me permet d'imprimer puis d'incrémenter mon numéro de facture (pour que le numéro de la prochaine soit le bon)
    par contre, j'enregistre toute mes facture avec un nom différent, pour que mon modèle reste vide.

    le problème est donc que le numéro de facture reste le même dans mon modèle.
    il faudrait donc que le numéro de facture courent soit stocker ailleurs que dans mon classeur excel, dans un fichier texte par exemple.
    je ne sais pas comment modifier mon macro actuel pour qu'il prenne ces info dans un fichier texte.


    pourriez vous m'aider avec ça?

    merci d'avance



    voici le code de ma macro actuel:


    Sub IMPRIMER()

    ActiveWindow.SelectedSheets.Pr intOut Copies:=1, Collate:=True
    Dim num As Integer
    Range("a1").Select
    num = Range("a1").Value
    num = num + 1
    Range("a1").Value = num

    End Sub

    -----

  2. #2
    invite2313209787891133
    Invité

    Re : incrément numéro depuis fichier texte (macro excel)

    Bonjour

    J'ai écris un petit exemple de lecture et d'écriture d'un fichier texte; je pense que c'est la solution la plus simple pour ton problème.

    Ce fichier contient le numéro de la facture; il doit être crée manuellement une 1ere fois, puis la macro l'utilisera ensuite.

    La 1ere partie pour la lecture; il faut creer un fichier numerofacture.txt que tu places à la racine (c:\):
    Code:
    Sub lecture()
    
    'déclaration variable
    Dim numfacture As Variant
    
    'ouverture du fichier texte
    Open "c:\numerofacture.txt" For Input As 1
    
    'lecture du fichier texte
    Line Input #1, numfacture
    
    'fermeture du fichier texte
    Close #1
    
    'écriture de la valeur dans la cellule 1,1
    Cells(1, 1) = numfacture
    
    End Sub
    avec la même logique (et sans les commentaires) la seconde partie pour l'écriture:
    Code:
    Sub ecriture()
    
    Dim numfacture As Variant
    numfacture = Cells(1, 2)
    Open "c:\numerofacture.txt" For Output As 1
    Print #1, numfacture
    Close #1
    
    End Sub
    Si tu as des questions n'hésites pas.

  3. #3
    boblebob

    Re : incrément numéro depuis fichier texte (macro excel)

    salut,
    merci de ton aide,
    j'ai compris ton code et l'ai intègre a ce que j'avais déjà fait.
    voici ce que ca donne

    Code:
    Sub IMPRIMER()
    
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    
    Dim numfacture As Variant
    
    'ouverture du fichier texte
    Open "C:\...\numerofacture.txt" For Input As 1
    
    'lecture du fichier texte
    Line Input #1, numfacture
    
    numfacture = numfacture + 1
    Cells(1, 1) = numfacture
    Print #1, numfacture
    Close #1
    
    End Sub
    mais au moment de l'exécution, j'ai une erreur,
    'erreur d'exécution '54' mode d'accès au fichier incorrect'
    l'erreur apparais au moment du print
    est ce que t'aurais une idée de comment corriger l'erreur

    merci

  4. #4
    invite2313209787891133
    Invité

    Re : incrément numéro depuis fichier texte (macro excel)

    Quand tu ouvres le fichier avec "For Input As 1" tu l'ouvre sur le "port" 1, et ce port est utilisé exclusivement pour lire; tout autre accès est bloqué.

    Pour écrire il faut que tu ferme le port (avec close #1) et tu rouvres à nouveau en écriture pour modifier le fichier.

  5. A voir en vidéo sur Futura
  6. #5
    boblebob

    Re : incrément numéro depuis fichier texte (macro excel)

    merci beacoup, sa marche,
    j'ai maintenant un numéro de facture indépendant du fichier.

    une dernière question, est ce qu'il est possible d'avoir une macro qui s'exécute a l'ouverture du fichier, sa permettrais de mètre a jour le numéro de facture a l'ouverture du fichier.

    encore merci pour ton aide

  7. #6
    invite2313209787891133
    Invité

    Re : incrément numéro depuis fichier texte (macro excel)

    Oui c'est possible, il suffit de placer le code dans ThisWorkbook, dans le private sub Workbook_Open() et il s'exécutera à l'ouverture du classeur.

  8. #7
    boblebob

    Re : incrément numéro depuis fichier texte (macro excel)

    salut,
    j'ai un petit probleme avec la partie automatique au demarage,
    j'ai utiliser le meme code que precedement en retirant la partie imprimer, j'ai placer le tout directement dans ThisWorkbook, ca donne ca:
    Code:
    Sub actualiser_numfacture()
    'ouverture du fichier texte
    Open "...\numerofacture.txt" For Input As 1
    
    'lecture du fichier texte
    Line Input #1, numfacture
    
    Range("a1").Value = numfacture
    Close #1
    Open "\\SDATA\disk1\entreprise_d_verdy\2010\numerofacture.txt" For Output As 1
    Print #1, numfacture
    Close #1
    End Sub
    si je clic sur le bouton "imprimer" le numéro de facture se met a jour et ça imprime (parfait) mais si je ferme excel, que je change manuellement le numéro de facture puis que je le réouvre, le numéro ne se met pas a jour automatiquement.

    Image supprimée.
    Dernière modification par JPL ; 18/05/2010 à 14h14.

  9. #8
    JPL
    Responsable des forums

    Re : incrément numéro depuis fichier texte (macro excel)

    Ton image a été supprimée. Sa taille était excessive et nous n'acceptons pas d'image sur un serveur extérieur. Il faut la poster en pièce jointe en respectant les dimensions maximum : http://forums.futura-sciences.com/lo...ges-forum.html
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  10. #9
    invite2313209787891133
    Invité

    Re : incrément numéro depuis fichier texte (macro excel)

    Bonjour
    Est ce que tu pourrais upploader ton fichier quelque part, que je puisse le récupérer ?
    Sinon il faut déjà virer les lignes "Sub actualiser_numfacture()" et "End Sub" si ils sont déjà dans "private sub Workbook_Open()"

  11. #10
    boblebob

    Re : incrément numéro depuis fichier texte (macro excel)

    salut,
    j'ai retirer les 2 lignes que tu m'as indiquer, mais ca ne marche toujours pas.
    voici une image qui je l'espère te permettra de mieux résoudre le problème

    sinon, je pourrais toujours t'envoyer le fichier excel pour que tu ai directement accès au code
    Images attachées Images attachées  

  12. #11
    invite2313209787891133
    Invité

    Re : incrément numéro depuis fichier texte (macro excel)

    Je viens de jeter un œil à ton fichier; ça ne marche pas parce que le code n'est pas dans la bonne procédure:

    - Il faut aller sur ThisWorkbook
    - Ton code est dans Général ; déclarations ; tu copies l'intégralité du code, puis avec la liste déroulante tu sélectionnes "Worbook" au lieu de Général.
    - Tu recopies le code entre les lignes Private Sub Workbook_Open() et End Sub qui viennent d'apparaitre.
    - Tu fermes le fichier en sauvant, tu rouvres; ça devrait marcher cette fois

  13. #12
    boblebob

    Re : incrément numéro depuis fichier texte (macro excel)

    merci beaucoup dudule pour toute ton aide, j'ai finalement réussit a corriger tout les problème que j'avais avec excel
    tout est automatique maintenant.

    encore merci

Discussions similaires

  1. Macro: importer un fichier txt vers Excel
    Par AG664 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 16/02/2010, 12h31
  2. Macro excel - enregistrement en fichiers texte
    Par invitee351fa61 dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 28/01/2010, 23h15
  3. (Matlab) Extraire des données depuis un fichier texte et les placer dans une matrice
    Par invite02e128cc dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 14/12/2009, 11h09
  4. Macro excel - Trouver le lien d'un fichier
    Par footale dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 12/11/2009, 17h40
  5. Ecrire d'un fichier excel à un autre avec une macro
    Par invite1e5716ed dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 19/05/2008, 09h30
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...