Macro : écrire dans un fichier texte une variable de la macro

Flow

XLDnaute Nouveau
Bonjour à tous,

Voici ma macro qui permet de rechercher du texte et de donner l'adresse de la cellule où se situe ce texte. Elle fonctionne très bien, sauf pour l'écriture des résultats dans un fichier texte.
Où se situe mon erreur ?

Merci par avance !

Code:
Sub Search()

fichier_texte = "D:\resultat_recherche.txt"
Open fichier_texte For Output As #1

texte_a_rechercher = InputBox("Texte à rechercher", "Recherche")
If texte_a_rechercher = "" Then Exit Sub
For Each feuille In Worksheets
    feuille.Select
    Range("A1").Select
    
    With feuille.Cells
        Set C = .Find(texte_a_rechercher, LookIn:=xlValues)
        If Not C Is Nothing Then
            firstAddress = C.Address
            Do
                C.Select
                rep = MsgBox("Recherche du suivant", vbOKCancel, "Recherche")
                If rep = vbCancel Then Exit Sub
                Set C = .FindNext(C)
                If C Is Nothing Then
                    Adresse_encours = 0
                    
                Else
                               
                    Adresse_encours = C.Address
                    valeur = Adresse_encours + feuille.Name
                    Print #1, valeur
                End If
            Loop While Not (C Is Nothing) And (Adresse_encours <> firstAddress)
        End If
    End With
Next feuille
MsgBox "RECHERCHE TERMINEE"
 Sheets("Feuil1").Select
    Range("A1").Select
End Sub
 

camarchepas

XLDnaute Barbatruc
Re : Macro : écrire dans un fichier texte une variable de la macro

Bonjour Flow,

Le code était presque complet , il te manque juste la fermeture du fichier avant de finir la macro.

avec l'instruction Close #1

Bon j'ai vu des selct qui ne servent à pas grand chose.

Code:
Option Explicit

Sub Search()
Dim Fichier_Texte As String, Texte_a_rechercher As String
Dim firstAddress As String, Rep As String, Adresse_encours As String
Dim Valeur As String
Dim Feuille As Worksheet
Dim C As Range

Fichier_Texte = "D:\resultat_recherche.txt"
Open Fichier_Texte For Output As #1

Texte_a_rechercher = InputBox("Texte à rechercher", "Recherche")
If Texte_a_rechercher = "" Then Exit Sub
For Each Feuille In Worksheets
    Feuille.Select
    Range("A1").Select
    
    With Feuille.Cells
        Set C = .Find(Texte_a_rechercher, LookIn:=xlValues)
        If Not C Is Nothing Then
            firstAddress = C.Address
            Do
                C.Select
                Rep = MsgBox("Recherche du suivant", vbOKCancel, "Recherche")
                If Rep = vbCancel Then Exit Sub
                Set C = .FindNext(C)
                If C Is Nothing Then
                    Adresse_encours = 0
                    
                Else
                               
                    Adresse_encours = C.Address
                    Valeur = Adresse_encours + Feuille.Name
                    Print #1, Valeur
                End If
            Loop While Not (C Is Nothing) And (Adresse_encours <> firstAddress)
        End If
    End With
Next Feuille
Close #1
MsgBox "RECHERCHE TERMINEE"
 Sheets("Feuil1").Select
    Range("A1").Select
End Sub
 

Discussions similaires

Réponses
8
Affichages
487
Réponses
1
Affichages
168

Membres actuellement en ligne

Statistiques des forums

Discussions
312 215
Messages
2 086 330
Membres
103 186
dernier inscrit
Eliyass