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

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

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
 
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
 
- 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
7
Affichages
267
Réponses
2
Affichages
153
Retour