Formulaire activant macro d'exportation xls --> txt
Bulldozer54
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
dlt-pan Messages postés 481 Date d'inscription Statut Membre Dernière intervention -
dlt-pan Messages postés 481 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous j'ai un petit problème :
J'ai créé une macro excel (en récupérant des bouts de code sur le net) qui me permet d'exporter le contenu d'un classeur xls dans un fichier txt. Cette macro fonctionne !!! (En faisant Affichage/Macro/Sélection de la macro puis exécuter)
Par contre j'ai voulu rendre encore plus commode son exécution en créant un formulaire dans lequel un clic sur un bouton déclenche la macro. ça a l'air de marcher.
Je souhaite que ce formulaire s'affiche automatiquement à l'ouverture du fichier excel (xlsm plus précisément) et c'est là que ça coince ! Pour réaliser cette dernière étape, j'ai collé ce code :
Private Sub Workbook_Open()
UserForm1.Show
End Sub
Dans le ThisWorkbook. Et là il a pas l'air d'aprécier cas il me fait un :
Erreur d'exécution '424':
Objet requis
Je ne sais pas du tout quoi faire !
Voici le code de la macro :
Sub ExporterXlsEnTxt()
'
' ExporterXlsEnTxt Macro
Range("A1").CurrentRegion.Activate
Dim FileName As String
Dim Data
Dim r As Long, c As Integer
Dim NumRows As Long, NumCols As Integer
Dim ExpRng As Range
Set ExpRng = Application.Selection
NumRows = ExpRng.Rows.Count
NumCols = ExpRng.Columns.Count
FileName = "U:\Perso\FichiersTxt\FichierAcreer.txt"
Open FileName For Output As #1
For r = 1 To NumRows
For c = 1 To NumCols
Data = ExpRng.Cells(r, c).Value
If IsNumeric(Data) Then Data = Val(Data)
If IsEmpty(ExpRng.Cells(r, c)) Then Data = ""
If c <> NumCols Then
Write #1, Data
Else
Write #1, Data
End If
Next c
Next r
Close #1
End Sub
Je travaille sur une version d'xls de Microsoft Office Professional Plus 2010
Quelqu'un peut m'aider ? ça serait cool merci...
J'ai créé une macro excel (en récupérant des bouts de code sur le net) qui me permet d'exporter le contenu d'un classeur xls dans un fichier txt. Cette macro fonctionne !!! (En faisant Affichage/Macro/Sélection de la macro puis exécuter)
Par contre j'ai voulu rendre encore plus commode son exécution en créant un formulaire dans lequel un clic sur un bouton déclenche la macro. ça a l'air de marcher.
Je souhaite que ce formulaire s'affiche automatiquement à l'ouverture du fichier excel (xlsm plus précisément) et c'est là que ça coince ! Pour réaliser cette dernière étape, j'ai collé ce code :
Private Sub Workbook_Open()
UserForm1.Show
End Sub
Dans le ThisWorkbook. Et là il a pas l'air d'aprécier cas il me fait un :
Erreur d'exécution '424':
Objet requis
Je ne sais pas du tout quoi faire !
Voici le code de la macro :
Sub ExporterXlsEnTxt()
'
' ExporterXlsEnTxt Macro
Range("A1").CurrentRegion.Activate
Dim FileName As String
Dim Data
Dim r As Long, c As Integer
Dim NumRows As Long, NumCols As Integer
Dim ExpRng As Range
Set ExpRng = Application.Selection
NumRows = ExpRng.Rows.Count
NumCols = ExpRng.Columns.Count
FileName = "U:\Perso\FichiersTxt\FichierAcreer.txt"
Open FileName For Output As #1
For r = 1 To NumRows
For c = 1 To NumCols
Data = ExpRng.Cells(r, c).Value
If IsNumeric(Data) Then Data = Val(Data)
If IsEmpty(ExpRng.Cells(r, c)) Then Data = ""
If c <> NumCols Then
Write #1, Data
Else
Write #1, Data
End If
Next c
Next r
Close #1
End Sub
Je travaille sur une version d'xls de Microsoft Office Professional Plus 2010
Quelqu'un peut m'aider ? ça serait cool merci...
A voir également:
- Formulaire activant macro d'exportation xls --> txt
- Whatsapp formulaire opposition - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Formulaire de réclamation facebook - Guide
- Formulaire de reclamation instagram - Guide
- Comment ouvrir un fichier xls? - Guide
3 réponses
Bonjour,
il y a plus simple. tu enregistes ta macro dans ton classeur de macro personnel avec un raccourci clavier (par ex W). A chaque ouverture d'excel, tu peux faire un CTRL + W et çà lance ta macro.
Si tu n'as pas de classeur de macro perso, ouvre un fichier excel, mode developpeur puis enregistrer une macro. la tu choisis, son nom, la lettre du raccourci et enregister la macro dans : classeur de macro personnel. Ensuite tu arretes l'enregistrement.
Puis Alt F11 pour faire apparaitre le code et tu copies la macro qui marche dans l'emplacement de la macro perso (VBAproject (personal.xlsb) et module 1 si c'est tout neuf ...
en esperant avoir été clair
il y a plus simple. tu enregistes ta macro dans ton classeur de macro personnel avec un raccourci clavier (par ex W). A chaque ouverture d'excel, tu peux faire un CTRL + W et çà lance ta macro.
Si tu n'as pas de classeur de macro perso, ouvre un fichier excel, mode developpeur puis enregistrer une macro. la tu choisis, son nom, la lettre du raccourci et enregister la macro dans : classeur de macro personnel. Ensuite tu arretes l'enregistrement.
Puis Alt F11 pour faire apparaitre le code et tu copies la macro qui marche dans l'emplacement de la macro perso (VBAproject (personal.xlsb) et module 1 si c'est tout neuf ...
en esperant avoir été clair
Bonjour,
Heuu, une macro personnelle s'ouvrira à chaque lancement d'excel. Je pense qu'il vaut mieux l'éviter puisque tu n'as besoin de ta macro que sur ce fichier.
Je suppose que dans VBA tu n'as pas inséré de module UserForm, ou bien que tu ne l'as pas nommé UserForm1
Mais pourquoi passer par un formulaire ?
Un simple bouton créé sur la feuille et relié à ta macro n'est pas suffisant ?
eric
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu (en haut vers votre titre) lorsque c'est le cas. Merci
Heuu, une macro personnelle s'ouvrira à chaque lancement d'excel. Je pense qu'il vaut mieux l'éviter puisque tu n'as besoin de ta macro que sur ce fichier.
Je suppose que dans VBA tu n'as pas inséré de module UserForm, ou bien que tu ne l'as pas nommé UserForm1
Mais pourquoi passer par un formulaire ?
Un simple bouton créé sur la feuille et relié à ta macro n'est pas suffisant ?
eric
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu (en haut vers votre titre) lorsque c'est le cas. Merci