A voir également:
- VBA EXCEL 2007 problème de sélection de plage
- Liste déroulante excel - Guide
- Si et excel - Guide
- Save pdf office 2007 - Télécharger - Bureautique
- Aller à la ligne excel - Guide
- Formules excel de base - Guide
4 réponses
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
Modifié par lermite222 le 30/05/2010 à 21:17
Modifié par lermite222 le 30/05/2010 à 21:17
Bonjour,
1°) mettre la sub dans un module.bas et pas dans le module de feuille
2°) Probablement séparer la ligne (des fois sa plante)
3°) Tu sauve tes données toutes les minutes mais là où je ne vois pas l'intèret c'est que tu écrase systématiquement le fichier précédant ?
4°) Si tu est occupé sur une autre feuille il y a une autre façon de procéder pour ne pas interompre le travail en cour (éviter la sélection de la feuille). Ta macro peu aussi planter si tu a une cellule d'une autre feuille en édition.
A+
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cogne à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
1°) mettre la sub dans un module.bas et pas dans le module de feuille
2°) Probablement séparer la ligne (des fois sa plante)
sheets("badugi").Select Range("A1:F" & Sheets("badugi").Range("F65536").End(xlUp).Row).Select
3°) Tu sauve tes données toutes les minutes mais là où je ne vois pas l'intèret c'est que tu écrase systématiquement le fichier précédant ?
4°) Si tu est occupé sur une autre feuille il y a une autre façon de procéder pour ne pas interompre le travail en cour (éviter la sélection de la feuille). Ta macro peu aussi planter si tu a une cellule d'une autre feuille en édition.
A+
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cogne à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Merci lermite222,
Comme je débute en VBA:
1°) je ne sais pas comment mettre la sub dans module.bas
2°) merci du conseil
3°) J'importe des données à intervalle régulier dans une feuille de mon classeur, j'applique des fonctions sur ses données et je les récupère dans la feuille "badugi" avant de les exporter en fichier texte.
4°) Ce dernier point m'intéresse car je souhaite visualiser les autres feuilles et que le programme s'exécute normalement.
Comment faire pour mettre la sub dans un module.bas. Je suppose que ça à rapport avec module de classe, module général et autres mais je ne connais pas le fonctionnement. Quel est l'intérêt de procéder de telle sorte.
Comme je débute en VBA:
1°) je ne sais pas comment mettre la sub dans module.bas
2°) merci du conseil
3°) J'importe des données à intervalle régulier dans une feuille de mon classeur, j'applique des fonctions sur ses données et je les récupère dans la feuille "badugi" avant de les exporter en fichier texte.
4°) Ce dernier point m'intéresse car je souhaite visualiser les autres feuilles et que le programme s'exécute normalement.
Comment faire pour mettre la sub dans un module.bas. Je suppose que ça à rapport avec module de classe, module général et autres mais je ne connais pas le fonctionnement. Quel est l'intérêt de procéder de telle sorte.
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
Modifié par lermite222 le 31/05/2010 à 13:00
Modifié par lermite222 le 31/05/2010 à 13:00
Bonjour,
Dans l'éditeur VBA, clic >> Insertion >> Module >>
La nouvelle fenêtre c'est un module.bas.
Dans ce module tu colle le code ci-dessous
La sub numérote les fichiers pour avoir la possibilité de les retrouver par ordre chronologique.
Si tu veux, il y a aussi moyens d'ajouter les données dans le même fichier, alors voir Append dans l'aide
A+
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cogne à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Dans l'éditeur VBA, clic >> Insertion >> Module >>
La nouvelle fenêtre c'est un module.bas.
Dans ce module tu colle le code ci-dessous
Option Explicit Sub enregistre() Dim DerLig As Long, R As Range, Cel As Range, Txt As String Dim NumFich As Integer, NomFich As String 'Pour numéroter les fichiers. Static Numero As Long With Sheets("badugi") DerLig = .Range("F65536").End(xlUp).Rows Set R = .Range(.Cells(1, 1), .Cells(DerLig, 6)) End With For Each Cel In R If Cel <> "" Then Txt = Txt & Cel.Text & Chr(9) End If Next Cel NumFich = FreeFile Numero = Numero + 1 NomFich = "C:\Users\Cédric\Desktop\Badugi\badugi " & Numero & ".txt" Open NomFich For Output As #NumFich Print #NumFich, Txt Close #NumFich Application.OnTime Now + TimeValue("00:01:00"), "enregistre" End Sub
La sub numérote les fichiers pour avoir la possibilité de les retrouver par ordre chronologique.
Si tu veux, il y a aussi moyens d'ajouter les données dans le même fichier, alors voir Append dans l'aide
A+
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cogne à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Bonjour lermite222,
Merci pour la réponse et la précision, j'avais bien créé un module.bas.
J'ai testé le code que tu me proposes mais j'ai une erreur d'exécution 1004 sur la ligne set R = ...
Le but de mon code est de mettre à jour le fichier badugi.txt toutes les minutes. J'importe auparavant ce fichier ainsi que d'autres chacun dans une feuille différente dont le nom commence par importXXX.
Ensuite des formules analysent et traitent ces données puis les informations sont copiées sur la feuille badugi et elles sont alors exportées dans le fichier badugi.txt.
c'est pour cette raison qu'il me faut écraser les données systématiquement.
Merci pour la réponse et la précision, j'avais bien créé un module.bas.
J'ai testé le code que tu me proposes mais j'ai une erreur d'exécution 1004 sur la ligne set R = ...
Le but de mon code est de mettre à jour le fichier badugi.txt toutes les minutes. J'importe auparavant ce fichier ainsi que d'autres chacun dans une feuille différente dont le nom commence par importXXX.
Ensuite des formules analysent et traitent ces données puis les informations sont copiées sur la feuille badugi et elles sont alors exportées dans le fichier badugi.txt.
c'est pour cette raison qu'il me faut écraser les données systématiquement.