• Initiateur de la discussion Initiateur de la discussion papy10vn
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

papy10vn

XLDnaute Nouveau
Bonjour,
J'aimerai savoir comment on remplie le buffer d'écriture, pour l'écrire dans un fichier séquentiel. Dans ma macro, j'ai toujours des erreurs de compilation ou d'écriture. Quand je relie le fichier (avec une autre macro), c'est du n'importe quoi, mais pas ce que j'escomptais.
J'envoie un petite séquence.

Mercie d'avance
 

Pièces jointes

Re : Fichier Séquentiel

bonjour Papy

code trouvé et adapté en partie,voir commentaire

Sub McExportCSV()
Dim objF As Worksheet
Dim lngCellules As Long
Dim lngColonnes As Long
Dim i As Long
Dim R As Range
Dim j As Long
Dim fCond As FormatCondition
Dim strCSV As String
Dim sPath As String
Dim Plage As Range
'Application.ScreenUpdating = False

Set objF = Excel.ActiveSheet

'*******à adapter

'sPath = "E:\Excel\Jean Pierre\Chantier\" & objF.Name & ".csv"
sPath = ThisWorkbook.Path & "\" & objF.Name & ".csv"

Set Plage = objF.Range("A2:I51") 'UsedRange
' lngColonnes = objF.UsedRange.Columns.Count
' lngCellules = objF.UsedRange.Rows.Count
'********
For i = 1 To Plage.Rows.Count 'lngCellules
For j = 1 To Plage.Columns.Count 'lngColonnes
Set R = Plage(i, j) 'objF.Cells(i, j)
If R.NumberFormat = "@" Then
strCSV = strCSV & Chr(34) & R.Value & _
Chr(34) & IIf(j < lngColonnes, ";", "")
Else
strCSV = strCSV & IIf(R.NumberFormat <> _
"General", Format(R.Value, R.NumberFormat), _
R.Value) & IIf(j < lngColonnes, ";", "")
End If
Next
strCSV = strCSV & IIf(i < lngCellules, vbCrLf, "")
Next

If Len(strCSV) > 0 Then
Open sPath For Output As 1
Print #1, strCSV
Close 1
MsgBox "L'exportation c'est bien déroulé"
Else
MsgBox "Il n'y a aucune donnée dans la feuille active"
End If

Set R = Nothing
Set fCond = Nothing
Set objF = Nothing

'Application.ScreenUpdating = True

End Sub

à bientôt
 
Re : Fichier Séquentiel

Bonjour,
Je vais tout de suite adapter ton exemple. Merci.
J'ai un autre petit souci dans Box:

Public Reponse As Integer
Sub Question
Dim Mot As String
Reponse = 0
Mot = InputBox("Mot de passe : ")
If Mot "Toto" Then
Reponse =1
MsgBox "OK"
Else
Reponse = 0
MsgBox " Vous n'êtes pas habilité!"
En If

Lorsque je tapes le mot de passe, il s'affiche en clair, il n'est pas remplacé par des "******". Comment pourrais-je y remédier?

Merci
 
Re : Fichier Séquentiel

Bonjour kiki29,
Ton exemple tourne impeccable.

Open sNomFichier For Output As #NumFichier
For i = 1 To LastRow
Chaine = ""
For j = 1 To LastCol
If j = 1 Then
Chaine = ShCommandes.Cells(i, j)
Else
Chaine = Chaine & Separateur & ShCommandes.Cells(i, j)
End If
Next j
Print #NumFichier, Chaine
Next i
Close #NumFichier

Tu utilises 2 fois "ShCommandes".
Comment puis-je le mettre dans mon projet?
J'ai vu qu'il était dans Microsoft Excel Objets. Mais je n'arrive pas à le copier.

Merci.
 
Re : Fichier Séquentiel

Cette dénomination ShCommandes est le nom donné sous VBE : Propriété (Name) de la feuille "Commandes" : Propriété Name (Sans Parenthèse). Pourquoi ? et bien en utilisant ShCommandes (Coding Name) au lieu de Sheets("Commandes") nom d'onglet cela permet entre autre à l'utilisateur de changer le nom d'onglet sans avoir toi à retoucher le code VBA

Il existe un balisage
Code:
.....
qui permet d'encadrer une portion de code et d'améliorer ainsi la lisibilité générale des pages plutôt que d'avoir tout en vrac style Bebere ou toi.
 
Dernière édition:
Re : Fichier Séquentiel

Bonjour,

kiki29, je trouve très intéressent le principe "ShCommandes" ,

je comprends :

feuil1.cells(1,1) ou lieu de sheets("Commandes").cells(1,1)

mais comment fais tu pour modifier feuil1 en ShCommandes

Merci
Bonne journée
 
Re : Fichier Séquentiel

Il suffit de lire ce qui est écrit plus haut
Cela fait partie des bases VBA Excel

Alt +[F11]
[F4]

Propriétés-Feuil1
(Name) Feuil1 <--- Changée en ShCommandes
DisplayPageBreaks
... etc
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
616
Réponses
4
Affichages
606
Retour