Convertir dans un autre classeur

Résolu/Fermé
KatyKat - 24 oct. 2016 à 15:44
 KatyKat - 25 oct. 2016 à 15:16
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

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
24 oct. 2016 à 16:09
Bonjour,

Comme ceci, c'est élémentaire!

Range("D1").Value

0
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 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
Modifié par cs_Le Pivert le 24/10/2016 à 16:20
0
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 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
24 oct. 2016 à 16:28
Comme ceci:

Workbooks(Range("D1").Value).Worksheets("ZZZ").Activate
0
KatyKat > cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024
25 oct. 2016 à 11:14
Non plus : Erreur d'execution 9 : L'indice n'appartient pas à la sélection :(
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
25 oct. 2016 à 12:03
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 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024
25 oct. 2016 à 15:16
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