Formatage du nom de fichier Excel en VBA

Bonjour a tous

j'utilise ce code qui fonctionne parfaitement pour exécuter une boucle (Merci LouReeD), cependant dans l'exemple joint, les données sont issues depuis un onglet du meme fichier (CMD_Globale) , dans mon cas , les données sont issues d'un fichier Excel diffèrent , et je ne sais pas formatter cette ligne

Remplacer la ligne

With Sheets("CMD_Globale")

par

With Fichier excel.xlsm (nom de la feuille)

Sub LRD()
Dim I As Long, Tablo, TabloS
Tablo = Range("Tableau1[Numero_de_ligne]")
With Sheets("CMD_Globale")
ReDim TabloS(1 To .Range("A" & Rows.Count).End(xlUp).Row)
For I = 1 To UBound(Tablo)
If Tablo(I, 1) <> "" And IsNumeric(Tablo(I, 1)) Then TabloS(Tablo(I, 1)) = "FR Suivi 20 Eco Jack"
Next I
.Range("B1").Resize(UBound(TabloS)) = Application.Transpose(TabloS)
End With
End Sub

Merci

Bonsoit Totoche, bonsoir le forum,

Tu ne nous aides pas beaucoup avec des renseignements aussi vagues. Si l'autre fichier est ouvert et en adaptant le code,ça devrait donner :

Sub LRD()
Dim I As Long, Tablo, TabloS
Dim CR As Workbook
Dim O As Worksheet

Set CR = Workbooks("Le_nom_du_classeur.xlsm")
Set O = CR.Worksheets("Le_nom_de_l'onglet")

Tablo = Range("Tableau1[Numero_de_ligne]")
With O
    ReDim TabloS(1 To .Range("A" & Rows.Count).End(xlUp).Row)
    For I = 1 To UBound(Tablo)
        If Tablo(I, 1) <> "" And IsNumeric(Tablo(I, 1)) Then TabloS(Tablo(I, 1)) = "FR Suivi 20 Eco Jack"
    Next I
    .Range("B1").Resize(UBound(TabloS)) = Application.Transpose(TabloS)
End With
End Sub
Merci de ta réponse , c'est exactement ce que je cherchais. J'avais contourné le problème en copiant temporairement l'onglet sur le classeur Excel distant. et en le supprimant en sortant du fichier Ta solution me convient parfaitement. Le souci que j'ai maintenant c'est que le résultat qui se positionne en B .Range("B1").Resize(UBound(TabloS)) = Application.Transpose(TabloS) Efface toutes les données déjà présente en B alors il faut faire une boucle sur la colonne et tester s'il y a une valeur dans la cellule, si oui on boucle si non on affiche la valeur de TabloS(i,1) Et ca je ne sais pas faire Merci en tout cas

Re,

Plutôt qu'une boucle, essaie comme ça :

Sub LRD()
Dim I As Long, Tablo, TabloS
Dim CR As Workbook
Dim O As Worksheet
Dim DEST As Range

Set CR = Workbooks("Le_nom_du_classeur.xlsm")
Set O = CR.Worksheets("Le_nom_de_l'onglet")

Tablo = Range("Tableau1[Numero_de_ligne]")
With O
    ReDim TabloS(1 To .Range("A" & Rows.Count).End(xlUp).Row)
    For I = 1 To UBound(Tablo)
        If Tablo(I, 1) <> "" And IsNumeric(Tablo(I, 1)) Then TabloS(Tablo(I, 1)) = "FR Suivi 20 Eco Jack"
    Next I
    If .Range("B1").Value = "" Then Set DEST = .Range("B1") Else Set DEST = .Cells(Application.Rows.Count, "B").End(xlUp).Offset(1, 0)
    DEST.Resize(UBound(TabloS)) = Application.Transpose(TabloS)
End With
End Sub

Merci bcp, c'est presque parfait

le souci est que cela inscrit la donnée au mauvais endroit.

Dans mon cas , c'est la colonne BU1 , ca c'est ok, cependant cela ne renvoi pas a la bonne ligne

Cela devrait inscrire la valeur 'FR Suivi 20 Eco Jack' en ligne 13320 , la valeur s'inscrit en 26640 , 26641 et ainsi de suite ...

Merci de ton aide

Dim I As Long, Tablo, TabloS
Dim CR As Workbook
Dim O As Worksheet
Dim DEST As Range

Set CR = Workbooks("CMD_Globale.csv")
Set O = CR.Worksheets("CMD_Globale")

Tablo = Range("Tableau2[Numero_de_ligne]")
With O
ReDim TabloS(1 To .Range("A" & Rows.Count).End(xlUp).Row)
For I = 1 To UBound(Tablo)
If Tablo(I, 1) <> "" And IsNumeric(Tablo(I, 1)) Then TabloS(Tablo(I, 1)) = "FR Suivi 20 Eco Jack"
Next I
If .Range("BU1").Value = "" Then Set DEST = .Range("BU1") Else Set DEST = .Cells(Application.Rows.Count, "BU").End(xlUp).Offset(1, 0)
DEST.Resize(UBound(TabloS)) = Application.Transpose(TabloS)
End With

image

Bonjour Totoche, bonjour le forum,

Tu persistes à ne pas fournir les fichiers qui vont bien. On perd du temps et de l'énergie...

Voici le fichier , la macro s'appelle Macro999

la valeur s'inscrit en 26640 , 26641 et ainsi de suite .

Merci de votre aide

6cmd-globale2.zip (505.39 Ko)

Voici le fichier en Xlsm

11cmd-globale2.zip (505.39 Ko)
Rechercher des sujets similaires à "formatage nom fichier vba"