Bonjour tout le monde,
J'aurais besoin de votre aide pour du vba.
Je me trouve sur un fichier "aaaa.xls", je lance une macro qui me permet de créer un autre fichier et d'effectuer en automatique une recopie de certaines feuilles avec ou sans formules.
Voici le début de mon code:
Dim NomFichier1 As String
Dim NomFichier2 As String
Dim NomFichier3 As String
Le probléme est que systématiquement je ne récupére que le nom de mon fichier de macro personnel "personal.xlsb" et non celui du classeur que je viens de créer ou celui du classeur à partir duquel j'ai lancé ma macro.
Je ne sais pas si je suis bien clair, en tout cas je vous remercie par avance de votre aide.
PS: j'ai également essayé avec "thisWorkbook" à la place de "ActiveWorbook"
pas tout compris moi... ta macro se trouve où ? dans ton classeur de macros personnelles ??? celui-ci devrait être masqué, et de ce fait "NomFichier1 = ActiveWorkbook.Name" ne devrait jamais renvoyer ton "perso.xlsb"...
Normal nous nous sommes tous plus ou moins fait avoir sur ce sujet
Comme ton nouveau classeur n'est pas enregistré, tu ne peux pas récupérer son nom
Il faut d'abord l'enregistrer
Normal nous nous sommes tous plus ou moins fait avoir sur ce sujet
Comme ton nouveau classeur n'est pas enregistré, tu ne peux pas récupérer son nom
Il faut d'abord l'enregistrer
Re à tous,
Pour développer ma proposition et participer au problème du nom des classeurs:
En Vba ceci fonctionne (enfin, sous 2003):
VB:
Sub Test()
With ThisWorkbook
.Sheets(Array("Synthèse", "Renta")).Copy
'On peux continuer à travailler sur le classeur source
End With
With ActiveWorkbook
'on est sur le classeur créé
End With
End Sub
Pour le nom du classeur actif, c'est en formule que l'on doit impérativement enregistrer le classeur pour récupérer son nom.
Cordialement
Tant que le classeur n'est pas enregistré, on obtiens une erreur.
Maintenant, il est vrai que mes connaissances en formules restent très limitées et qu'il y a certainement mieux pour récupérer l'information .
Cordialement
Non, non....
Ce que je dis c'est que par VBA on trouve le nom du classeur actif, qu'il soit enregistré ou pas, par ActiveWorkBook, mais que par formule, on doit enregistrer obligatoirement le classeur pour trouver son nom.
Crée un nouveau classeur et colle la formule que j'ai mise dans mon précédent post dans un cellule, tant qu'il n'est pas enregistré (le classeur) tu as une erreur.
Cordialement
Aarf, merci fg, je commencais à penser qu'il y avait un truc que je ne comprenais pas... fort possible, dès fois on part sur une idée et impossible d'en sortir... bon question formule, je ne saurais pas te dire.... comme tu as pu le remarquer, pas trop mon truc....