Convertir dans un autre classeur

Résolu
KatyKat -  
 KatyKat -
Bonjour à tous,

j'ai un classeur (outil.xlsx) dans lequel je récupère le nom des classeurs ouverts et j'identifie celui qui m'intéresse en "D1"(toto.xlsx) de ma feuille "ZZZ". Je voudrai trouver une macro qui reprenne le contenu de "D1" (il est amené à changer régulièrement) pour convertir les données d'une colonne du classeur toto.xlsx, mais impossible de trouver...

Voici le code avec le nom du fichier (toto.xlsx) "en dur" :

Sub convertir()
'
Windows("toto.xlsx").Activate
Columns("E:E").Select
Selection.TextToColumns Destination:=Range("E1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(1, 1), TrailingMinusNumbers:=True
End Sub

Je voudrai remplacer toto.xlsx par le contenu de "D1".

Merci pour votre aide !

4 réponses

  1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Bonjour,

    Comme ceci, c'est élémentaire!

    Range("D1").Value

    0
  2. KatyKat
     
    non, ça ne fonctionne pas ! J'ai même essayé ça:

    Sub convertir()
    '
    ' convertir Macro
    '

    Windows("Sheets("ZZZ").Range("D1").Value").Activate
    Columns("E:E").Select
    Selection.TextToColumns Destination:=Range("E1"), DataType:=xlDelimited, _
    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
    Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
    :=Array(1, 1), TrailingMinusNumbers:=True
    End Sub

    qui ne fonctionne pas non plus :(
    0
  3. KatyKat
     
    En fait, je souhaite faire un convertir sur un fichier ouvert (dont j'ai identifié le nom en D1) qui ne doit pas être enregistré, car amené à être généré plusieurs fois par jours par différents utilisateurs. Donc pas de chemin...
    0
    1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
       
      Comme ceci:

      Workbooks(Range("D1").Value).Worksheets("ZZZ").Activate
      0
      1. KatyKat > cs_Le Pivert Messages postés 8437 Statut Contributeur
         
        Non plus : Erreur d'execution 9 : L'indice n'appartient pas à la sélection :(
        0
    2. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
       
      Cela fonctionne chez moi:

      Jai 2 classeurs ouverts : Classeur1 qui contient ma macro et dans la cellule D1 de la Feuille1: Classeur2.xls
      Et bien entendu le Classeur2

      Ensuite je lance macro depuis la Feuille 1 du Classeur1:

      Workbooks(Range("D1").Value).Worksheets("Feuil2").Activate


      je me retrouve sur la Feuille2 du Classeur2

      Voilà. Si tu as un problème, c'est que tu ne me dis pas tout. Ou que tu n'as pas respecté l'ordre que je viens de te décrire.
      0
      1. KatyKat > cs_Le Pivert Messages postés 8437 Statut Contributeur
         
        Effectivement, la worksheet était incorrecte ;) j'avais mis celle de départ, dans laquelle était le nom du fichier à convertir (donc ZZZ) et non celle d'arrivée (Sheet1).
        Maintenant, ça fonctionne !
        Un immense merci !
        0