Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[VB] problème Workbooks.Add => renommer le classeur ouvert

3 réponses
Avatar
jean-francois LEGRAS
Bonjour à vous,



J'ai un problème qui est le suivant :


A la fin d'une macro, je lui demande d'ouvrir un nouveau classeur excel et
de copier les différentes donnée (objectif : avoir un fichier exempt de
codes VB).

Voici le code :

Workbooks.Add




Le problème est que pour faire les différents copier - coller, je suis
obligé de nommer ce nouveau classeur dans le reste de la macro. Je pars du
principe qu'il se nomme "Classeur1". Mais ce n'est hélas pas toujours le
cas. C'est par exemple la cas si j'ai déjà ouvert un classeur et que je n'ai
pas refermé Excel avant de lancer la macro ; j'ai alors un bug.


Comment faire pour renommer immédiatement le classeur après la commande
Workbooks.Add ? Ce qui m'évitera ce problème.


Merci beaucoup d'avance !


Slts
Jiffey

3 réponses

Avatar
FdeCourt
Salut,

Par forcément besoin de le renomer :

en utilisant ce type de syntaxe :

Dim newWkb As Workbook
Set newWkb = Workbooks.Add

Ensuite, dès que tu veux faire référence à ton nouveau classeur, tu
utilises ce genre de syntaxe :
newWkb.Sheets(Feuil1.Index).Cells(1, 1).Value = Feuil1.Cells(1,
1).Value

Cordialement,

F.
Avatar
isabelle
bonjour Jiffey,

ActiveWorkbook.SaveAs Filename:= "C:test.xls", FileFormat _
:=xlNormal, Password:="", WriteResPassword:="",
ReadOnlyRecommended:= _
False, CreateBackup:úlse

isabelle

Le 2010-02-24 10:20, jean-francois LEGRAS a écrit :
Bonjour à vous,



J'ai un problème qui est le suivant :


A la fin d'une macro, je lui demande d'ouvrir un nouveau classeur excel et
de copier les différentes donnée (objectif : avoir un fichier exempt de
codes VB).

Voici le code :

Workbooks.Add




Le problème est que pour faire les différents copier - coller, je suis
obligé de nommer ce nouveau classeur dans le reste de la macro. Je pars du
principe qu'il se nomme "Classeur1". Mais ce n'est hélas pas toujours le
cas. C'est par exemple la cas si j'ai déjà ouvert un classeur et que je n'ai
pas refermé Excel avant de lancer la macro ; j'ai alors un bug.


Comment faire pour renommer immédiatement le classeur après la commande
Workbooks.Add ? Ce qui m'évitera ce problème.


Merci beaucoup d'avance !


Slts
Jiffey





Avatar
isabelle
bonjour Jiffey,

pour renommer un fichier, celui-ci doit être fermer, lors de la
fermeture du fichier tu doit enregistrer celui-ci sinon il sera perdu.

isabelle

Le 2010-02-24 10:33, isabelle a écrit :
bonjour Jiffey,

ActiveWorkbook.SaveAs Filename:= "C:test.xls", FileFormat _
:=xlNormal, Password:="", WriteResPassword:="",
ReadOnlyRecommended:= _
False, CreateBackup:úlse

isabelle