• Initiateur de la discussion Initiateur de la discussion petitange
  • 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 !

P

petitange

Guest
bonjour,
je realise un petit document en rtf est il possible de réaliser une macro qui prenne les valeurs du fichier rtf et le mette dans tableau excel

si c'est possible puis je avoir le code

merci
 
Bonsoir Petit Ange

Voici un code qui devrait te convenir (le fichier Excel étant placé dans le même répertoire que le RTF) :

Option Explicit

Const TheRTFFile As String = "MonRichTextFormat.rtf"

Sub ImportRTF()
Dim TheRecord As String
Dim Container As Variant
Dim i As Integer, ii As Byte, iii As Byte
Dim L As Integer
Dim ThePath As String

ThePath = ThisWorkbook.Path & "\"

L = ActiveSheet.Range("A65536").End(xlUp).Row + 1
i = L

Open ThePath & TheRTFFile For Input As #1

   Do While Not EOF(1)
    Line Input #1, TheRecord
&nbsp;&nbsp;&nbsp;&nbsp;Container = Split(TheRecord, Chr(9)) '<< Chr(9) = VbTab // Chr(59) si on veut le ";" comme séparateur

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For ii = 1 To UBound(Container)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;With ActiveSheet
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.Cells(i, ii) = Container(iii)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End With
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Next ii
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i = i + 1
&nbsp;&nbsp;&nbsp;Loop
Close #1

End Sub


Bonne Soirée
@+Thierry
 
bonjour,
merci pour ta réponse mais sa ne fonctionne pas chez moi

quand je mets chr (59)
j'obtien t ceci:
}{\f1\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial
je voudrais récupérer rien que le texte que j'ai marqué
merci
 
voila j'ai fias d'une autre manière mais j'ai un petit soucis

Quand j'ai retourchariot c'est ue je vais a la ligne suivante
et un ; a la colonne suivant
le probleme c'est que j''ai une petit carre quand je détecte le retour chariot
c'est a dire que j'ai un espace puis mon texte dans excel je voudrais qu'il n'y ai plus d'espace
merci

Me.RichTextBox1.Filename = "d:\Document.rtf"
Data = Me.RichTextBox1.Text
Container = Split(Data, Chr(13))

For i = 0 To UBound(Container)
Container1 = Split(Container(i), Chr(59))
For ii = 0 To UBound(Container1)
With ActiveSheet
.Cells(i + 1, ii + 1) = Container1(ii)
.Cells.WrapText = True
End With
Next ii
Next i
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 Lecture vocale USF
Réponses
5
Affichages
211
Retour