VBA récupération nom de la feuille active

NicolasGo

XLDnaute Nouveau
Bonjour à toutes et à tous,

Ayant déjà demandé quelques renseignements une fois pour un problème et je suis parti avec une solution, je réintère votre aide pour un autre problème.

J'ai un fichier qui me permet de prendre des renseignements pour un client (Fiche Signaletique Entreprise.xls). A partir de ce fichier excel, je copie certaines informations vers une feuille de synthèse (Synthèse Fiche Entreprise.xls). Tout ceci est fait via une macro.
Mon utilisateur fait des copier-coller de ce fichier pour changer le nom (Fiche Signaletique Entreprise Client A, Fiche Signaletique Entreprise Client B, ...)
Ma problèmatique est que quand il copie le fichier "Fiche Signaletique Entreprise Client A" pour créer le "Fiche Signaletique Entreprise Client C", dans ma macro le nom de fichier de change pas .. chose logique parce que le nom est inscrit en dur.

Comment puis-je faire pour que ce nom s'actualise ou vienne récupérer le nom du fichier qui est ouvert?

Voici le début de ma macro pour exemple :
Sub EnrVersSynthese2()
'
' EnrVersSynthese2 Macro
'

'
Dim wv As Workbook
Dim ws As Worksheet
Set wb = Workbooks.Open("C:\Users\ngi\Desktop\Suivi et Reporting ATC\Fiche Signaletique Entreprise\Grimal\Synthèse Fiche Signaletique.xls")
Set ws = wb.Worksheets(1)
Windows("Synthèse Fiche Signaletique.xls").Activate
Rows("2:2").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Windows("Fiche Signaletique AS CONSTRUCTION.xls").Activate
Range("C9:D9").Select
Selection.Copy
Windows("Synthèse Fiche Signaletique.xls").Activate
Range("A2").Select
ActiveSheet.Paste

Je vous remercie par avance !
 

job75

XLDnaute Barbatruc
Re : VBA récupération nom de la feuille active

Bonjour NicolasGo, salut Pierrot,

Si j'ai bien compris lancez la macro après avoir activé le fichier source et la feuille à copier :

Code:
Sub EnrVersSynthese2()
Dim ws As Worksheet, wb As Workbook
Set ws = ActiveSheet
Set wb = Workbooks.Open("C:\Users\ngi\Desktop\Suivi et Reporting ATC\Fiche Signaletique Entreprise\Grimal\Synthèse Fiche Signaletique.xls")
wb.Worksheets(1).Rows(2).Insert xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
ws.[C9:D9].Copy wb.Worksheets(1).[A2]
End Sub
Important : en VBA les Select et Activate sont généralement inutiles et même nuisibles.

A+
 

NicolasGo

XLDnaute Nouveau
Re : VBA récupération nom de la feuille active

Bonjour Pierrot93, Job75,

J'ai testé le code de Job75. Ca fonctionne :)
J'ai très peu de notion en développement donc faire du VBA est un peu compliqué pour moi.

J'ai compris le fonctionnement, une fois que l'on a déclaré les variables, ca à l'air plus simple de coder derrière.
J'ai rajouté ce que j'avais besoin à la suite et ça correspond parfaitement à ce que j'ai besoin.

Merci à vous 2 !
 

NicolasGo

XLDnaute Nouveau
Re : VBA récupération nom de la feuille active

Re-bonjour à tous,

J'ai une autre problématique. Sur ma macro, je créé une ligne et je fais un copier coller des informations dont j'ai besoin afin de générer mon tableau de synthèse (code client, nom client, objectif, potentiel).

Ma problèmatique est que j'ai besoin de faire en sorte que si le commercial viens modifier une des valeurs d'objectif ou potentiel, ça ne vienne pas me récréer une ligne supplémentaire mais modifier la ligne déjà existante dans la feuille de synthèse.
Je vous joins un nouvel exemple de mes fichiers.

Je vous remercie par avance pour toute l'aide que vous pourrez m'apporter pour me sortir de cette galère.
 

Pièces jointes

  • Fiche Signaletique Modele.xls
    61 KB · Affichages: 60
  • Synthèse Fiche Signaletique.xls
    55.5 KB · Affichages: 45

Discussions similaires

Statistiques des forums

Discussions
312 980
Messages
2 094 131
Membres
105 942
dernier inscrit
chrisv