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 !
A voir également:

4 réponses

cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Bonjour,

Comme ceci, c'est élémentaire!

Range("D1").Value

0
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
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
0
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
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Comme ceci:

Workbooks(Range("D1").Value).Worksheets("ZZZ").Activate
0
KatyKat > cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention  
 
Non plus : Erreur d'execution 9 : L'indice n'appartient pas à la sélection :(
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
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
KatyKat > cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention  
 
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