Problème macro excel
Résolu
Fabb28
Messages postés
6
Statut
Membre
-
Fabb28 Messages postés 6 Statut Membre -
Fabb28 Messages postés 6 Statut Membre -
Bonjour à tous,
J’ai un souci avec une macro Excel, je vous explique mon problème :
J’ai une macro affectée à un classeur celui-ci attend nommé « VIERGE » sera par la suite enregistré sous un autre nom (un numéro). Et par conséquent, lors de l’activation celle-ci « bug » étant donnée qu’elle fait appelle à ce classeur appelé « VIERGE » dont le nom a changé au moment de l’exécution. Je voudrai que la macro suive le classeur ; qu’elle dépende du nom du classeur. Je vous joins la macro pour une meilleure compréhension !
Merci par avance du temps que vous pourrez consacrer à mon problème…
Sub Archivage()
'
' Macro3 Macro
' Macro enregistrée le 28/01/2009 par frpfabr
'
'Dim nform As Double
'Dim codeana As Single
'Dim coutform As Double
'Dim coutflexo As Double
'Dim coutoutilreact As Double
'Dim tempsatelier As Double
'Dim couttotal As Double
Windows("coût outillage.xls").Activate
Sheets("SHEET1").Activate
Range("B4").Select
ActiveCell.FormulaR1C1 = "=TODAY()"
Range("B4").Select
Windows("VIERGE.xls").Activate
Range("S35").Select
Selection.Copy
Windows("coût outillage.xls").Activate
Sheets("SHEET1").Activate
Range("C4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("VIERGE.xls").Activate
Range("S17").Select
Selection.Copy
Windows("coût outillage.xls").Activate
Sheets("SHEET1").Activate
Range("D4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("VIERGE.xls").Activate
Range("S14").Select
Selection.Copy
Windows("coût outillage.xls").Activate
Sheets("SHEET1").Activate
Range("E4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("VIERGE.xls").Activate
Range("S27").Select
Selection.Copy
Windows("coût outillage.xls").Activate
Sheets("SHEET1").Activate
Range("F4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("VIERGE.xls").Activate
Range("S38").Select
Selection.Copy
Windows("coût outillage.xls").Activate
Sheets("SHEET1").Activate
Range("G4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("VIERGE.xls").Activate
Range("S11").Select
Selection.Copy
Windows("coût outillage.xls").Activate
Sheets("SHEET1").Activate
Range("H4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("VIERGE.xls").Activate
Range("S41").Select
Selection.Copy
Windows("coût outillage.xls").Activate
Sheets("SHEET1").Activate
Range("I4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("coût outillage.xls").Activate
Range("B4:J4").Select
Range("J4").Activate
Selection.Interior.ColorIndex = 2
Windows("coût outillage.xls").Activate
Rows("4:4").Select
Selection.Insert Shift:=xlDown
Range("B4").Select
Windows("VIERGE.xls").Activate
Range("A3:C4").Select
End Sub
MERCI ENCORE DE L'AIDE QUE VOUS POURREZ ME CONSACRER
J’ai un souci avec une macro Excel, je vous explique mon problème :
J’ai une macro affectée à un classeur celui-ci attend nommé « VIERGE » sera par la suite enregistré sous un autre nom (un numéro). Et par conséquent, lors de l’activation celle-ci « bug » étant donnée qu’elle fait appelle à ce classeur appelé « VIERGE » dont le nom a changé au moment de l’exécution. Je voudrai que la macro suive le classeur ; qu’elle dépende du nom du classeur. Je vous joins la macro pour une meilleure compréhension !
Merci par avance du temps que vous pourrez consacrer à mon problème…
Sub Archivage()
'
' Macro3 Macro
' Macro enregistrée le 28/01/2009 par frpfabr
'
'Dim nform As Double
'Dim codeana As Single
'Dim coutform As Double
'Dim coutflexo As Double
'Dim coutoutilreact As Double
'Dim tempsatelier As Double
'Dim couttotal As Double
Windows("coût outillage.xls").Activate
Sheets("SHEET1").Activate
Range("B4").Select
ActiveCell.FormulaR1C1 = "=TODAY()"
Range("B4").Select
Windows("VIERGE.xls").Activate
Range("S35").Select
Selection.Copy
Windows("coût outillage.xls").Activate
Sheets("SHEET1").Activate
Range("C4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("VIERGE.xls").Activate
Range("S17").Select
Selection.Copy
Windows("coût outillage.xls").Activate
Sheets("SHEET1").Activate
Range("D4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("VIERGE.xls").Activate
Range("S14").Select
Selection.Copy
Windows("coût outillage.xls").Activate
Sheets("SHEET1").Activate
Range("E4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("VIERGE.xls").Activate
Range("S27").Select
Selection.Copy
Windows("coût outillage.xls").Activate
Sheets("SHEET1").Activate
Range("F4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("VIERGE.xls").Activate
Range("S38").Select
Selection.Copy
Windows("coût outillage.xls").Activate
Sheets("SHEET1").Activate
Range("G4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("VIERGE.xls").Activate
Range("S11").Select
Selection.Copy
Windows("coût outillage.xls").Activate
Sheets("SHEET1").Activate
Range("H4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("VIERGE.xls").Activate
Range("S41").Select
Selection.Copy
Windows("coût outillage.xls").Activate
Sheets("SHEET1").Activate
Range("I4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("coût outillage.xls").Activate
Range("B4:J4").Select
Range("J4").Activate
Selection.Interior.ColorIndex = 2
Windows("coût outillage.xls").Activate
Rows("4:4").Select
Selection.Insert Shift:=xlDown
Range("B4").Select
Windows("VIERGE.xls").Activate
Range("A3:C4").Select
End Sub
MERCI ENCORE DE L'AIDE QUE VOUS POURREZ ME CONSACRER
A voir également:
- Problème macro excel
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
5 réponses
Bonjour
Si je comprends bien, tu aura au final un cetains nombre de classeurs, tous anciennement 'VIERGE' et récupérant tous les mêmes données dans "coût outillage.xls".
A la lire, je ne vois pas pourquoi cette macro est indispensable, pourquoi pas de références externes ?
Si je comprends bien, tu aura au final un cetains nombre de classeurs, tous anciennement 'VIERGE' et récupérant tous les mêmes données dans "coût outillage.xls".
A la lire, je ne vois pas pourquoi cette macro est indispensable, pourquoi pas de références externes ?
bonjour,
cette macro sert comme tu as pu le voir a récupérer des informatiosn dans diverses classeurs afin de les recencer dans un classeur appelé COUT OUTILLAGE.
Mon classeur VIERGE et enregistrer sous un autre nom lors de l'exécution de la macro (qui sera lancé qu'une seule fois) ceci ayant pour but une manipulation aisée pour toutes personne ayant ou pas des connaissances informatiques.
elle me semble indispensable car une copie manuelle des informations peut etre source d'erreur.
ce que j'aurai voulu, c'est au moment de l'execution de la macro qu'elle fasse appelle au nom du classeur dans laquel elle se trouve et non qu'elle fasse appelle a ce classeur VIERGE.
cette macro sert comme tu as pu le voir a récupérer des informatiosn dans diverses classeurs afin de les recencer dans un classeur appelé COUT OUTILLAGE.
Mon classeur VIERGE et enregistrer sous un autre nom lors de l'exécution de la macro (qui sera lancé qu'une seule fois) ceci ayant pour but une manipulation aisée pour toutes personne ayant ou pas des connaissances informatiques.
elle me semble indispensable car une copie manuelle des informations peut etre source d'erreur.
ce que j'aurai voulu, c'est au moment de l'execution de la macro qu'elle fasse appelle au nom du classeur dans laquel elle se trouve et non qu'elle fasse appelle a ce classeur VIERGE.
bonjour
Il faut te définir dans un module une variable publique :
Lorsque tu ouvres ton classeur tu mets dans thisworkbook cette macro
Lorsque tu veux utiliser Windows("VIERGE.xls") tu le remplaces par Windows(nom_vierge)
Lorsque tu renommes ton classeur tu mets à jour ta variable :
nom_vierge = ActiveWorkbook.Name
Il faut te définir dans un module une variable publique :
Public nom_vierge As String
Lorsque tu ouvres ton classeur tu mets dans thisworkbook cette macro
Private Sub Workbook_Open()
nom_vierge = ActiveWorkbook.Name
End Sub
Lorsque tu veux utiliser Windows("VIERGE.xls") tu le remplaces par Windows(nom_vierge)
Lorsque tu renommes ton classeur tu mets à jour ta variable :
nom_vierge = ActiveWorkbook.Name
Bonjour,
Pour éviter que le nom de ton classeur ne change..
A+
Pour éviter que le nom de ton classeur ne change..
ActiveWorkbook.SaveCopyAs(NomFichier)
A+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ma macro est sur le classeur appelé VIERGE mais ce classeur est renommé lors de l'exécution de celle ci.
Merci de ton aide