Sélection de toutes les cellules non vides et coller ds Notepad

AL -  
 AL -
Bonjour,

J'essaie de faire une macro qui sélectionne toutes les cellules non-vides de la colonne A seulement et qui les copie dans un fichier Notepad. Voici ce que j'ai fait:

-------------------------------------------------------------------------------------------------
Public Sub XLRangeToNotepad()

Dim iPtr As Integer
Dim sFileName As String
Dim intFH As Integer
Dim oCell As Range

sFileName = "C:\Users\vB\Desktop\Test \TEXTE.txt"
Lastrow = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
Close

Sheets("Feuil2").Select
intFH = FreeFile()
Open sFileName For Append As intFH

For Each oCell In Range("A1:A110000")
Print #intFH, oCell.Value
Next oCell

Close intFH

End Sub
--------------------------------------------------------------------------------------------------

J'ai besoin de répéter cette actions plusieurs fois et le nombre de cellules non-vides total dans la colonne A varie souvent. Pour l'instant, je ne réussis qu'à sélectionner le range A1:A110000 qui est un peu plus long que ce que j'ai besoin, ce qui copie plusieurs lignes vides dans Notepad. Et rend l'utilisation de ce fichier plus difficile par la suite.

Merci beaucoup à l'avance de votre aide!!

AL

1 réponse

  1. Kalissi Messages postés 221 Statut Membre 20
     
    Bonjour,

    Essaie avec ce code :

    Public Sub XLRangeToNotepad()
    
     Dim iPtr As Integer
     Dim sFileName As String
     Dim intFH As Integer
     Dim oCell As Range
     Dim LastRow As Integer
    
     sFileName = "C:\Document\TEXTE.txt"
     LastRow = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
    
     Sheets("Feuil2").Select
     intFH = FreeFile()
     Open sFileName For Append As intFH
    
     For Each oCell In Range("A1:A" & LastRow)
        If (oCell.Value <> "") Then
            Print #intFH, oCell.Value
        End If
     Next oCell
    
     Close intFH
    
    
    End Sub
    


    K
    0
    1. AL
       
      Bonjour Merci de votre aide. Quand je fais rouler la macro le message d'erreur suivant apparaît : Erreur d'exécution 6 Dépassement de capacité.

      Que puis-je faire pour éviter cette erreur?

      Merci encore!
      0
      1. AL > AL
         
        Finalement j'ai trouvé!

        Il suffit de remplacer Dim LastRow As Integer par Dim LastRow As Long.

        La macro fonctionne comme un charme, je vous en remercie!!
        0