Recuperer nom fichier excel variable vba
Résolu
gnioler
Messages postés
91
Statut
Membre
-
gnioler -
gnioler -
Bonjour!
J'exécute une macro faisant des copier-coller d'un classeur Excel à un autre. La macro est liée à un bouton sur une feuille du classeur contenant les données sources.
En écrivant le nom du classeur source en dur dans la macro, tout va bien. Mais le classeur source sera à l'avenir renommé. Comment faire pour récupérer le nom du fichier source dans une variable afin que ca continuent de fonctionner?
mon fichier copie s apelle class et le source change tousle temps
voici la macro mais ca ne fonctione pas j'ai dut oublier quelque chose
Sub Macro1()
'
' Macro1 Macro
'
'
Dim nom As String
nom = ActiveWorkbook.Name
nom.Activate
Range("A1").Select
Selection.Copy
Windows("Class.xlsx").Activate
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
nom.Activate
Range("B1").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Class.xlsx").Activate
Range("B1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
nom.Activate
Range("C1").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Class.xlsx").Activate
Range("C1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
J'exécute une macro faisant des copier-coller d'un classeur Excel à un autre. La macro est liée à un bouton sur une feuille du classeur contenant les données sources.
En écrivant le nom du classeur source en dur dans la macro, tout va bien. Mais le classeur source sera à l'avenir renommé. Comment faire pour récupérer le nom du fichier source dans une variable afin que ca continuent de fonctionner?
mon fichier copie s apelle class et le source change tousle temps
voici la macro mais ca ne fonctione pas j'ai dut oublier quelque chose
Sub Macro1()
'
' Macro1 Macro
'
'
Dim nom As String
nom = ActiveWorkbook.Name
nom.Activate
Range("A1").Select
Selection.Copy
Windows("Class.xlsx").Activate
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
nom.Activate
Range("B1").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Class.xlsx").Activate
Range("B1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
nom.Activate
Range("C1").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Class.xlsx").Activate
Range("C1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
A voir également:
- Nom fichier vba
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
2 réponses
Bonjour,
Ta macro ne SAIT PAS fonctionner...
Dans un premier temps remplace ton code par ..
Ces quelque lignes vont faire ce que tu a besoin.
Ensuite, les noms des classeurs qui change, c'est lequel ?
La macro est dans le classeur qui change pas ??
Répondre aux deux questions Svp.
S'il y a des erreurs tu dis où et le N° de l'erreur.
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Ta macro ne SAIT PAS fonctionner...
Dans un premier temps remplace ton code par ..
Sub Macro1() Dim Nom As Workbook Dim NomC As Workbook Set Nom = ThisWorkbook Set NomC = Workbooks("Class.xlsx") Nom.Sheets("Feuil1").Range("A1:C1").Copy NomC.Sheets("Feuil1").Range("A1") End Sub
Ces quelque lignes vont faire ce que tu a besoin.
Ensuite, les noms des classeurs qui change, c'est lequel ?
La macro est dans le classeur qui change pas ??
Répondre aux deux questions Svp.
S'il y a des erreurs tu dis où et le N° de l'erreur.
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.