choufleuri
XLDnaute Nouveau
Re bonjour à tous,
Puisque vous êtes si fort, un autre petit problème que je n'arrive pas à résoudre.
J'ai un classeur (devis 2009) dans lequel j'ai créé une macro qui enregistre sous un nouveau nom (celui du nouveau client REF NOM CLIENT) et qui place ce nouveau classeur dans un dossier de mon PC, dossier de stockage donc de tous les devis client de mon entreprise.
Le problème est que dans le classeur "parent" j'ai aussi une MACRO qui valide un devis, et qui une fois le devis accepté par le client, incrémente un compteur FACTURE et place toutes les données de l'affaire dans un autre classeur spécifique (FACTURES) de façon à avoir un tableau de bord financier de toutes les affaires.
Cette Macro ne fonctionne pas car le contenu de la macro contient la référence du classeur parent, donc je suis obligé chaque fois de modifier manuellement la macro en mettant le nouveau nom de classeur crée.
Je me demandais s'il était possible lors de la création du classeur fils d'intégrer une variable pour qu'une fois le "classeur fils" enregistré le contenu de la macro soit modifié avec le nom du nouveau classeur.
J'espère avoir été clair dans mes explications, je vous laisse ci-après le contenu de la macro.
EN GRAS ce qui devrait varié
et sachant que la variable se trouve dans le classeur parent
en K2 et dans la feuille CLIENT
Sub validation_facture()
'
' validation_facture Macro
'
'
Windows("Factures.xlsx").Activate
Rows("3:3").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Windows("DEVIS 2009.xls").Activate
Range("A53:AH53").Select
Selection.Copy
Windows("Factures.xlsx").Activate
Range("A3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("A3").Select
Application.CutCopyMode = False
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Windows("DEVIS 2009.xls").Activate
ActiveWindow.SmallScroll Down:=-27
End Sub
Accessoirement quelle est la commande à rajouter pour que lors du collage
des infos dans le classeur facture, cette nouvelle ligne insérer prenne la mise en forme
des lignes en dessous?????
Merci pour ceux qui auront le courage de me lire jusqu'au bout.
Choufleuri
Puisque vous êtes si fort, un autre petit problème que je n'arrive pas à résoudre.
J'ai un classeur (devis 2009) dans lequel j'ai créé une macro qui enregistre sous un nouveau nom (celui du nouveau client REF NOM CLIENT) et qui place ce nouveau classeur dans un dossier de mon PC, dossier de stockage donc de tous les devis client de mon entreprise.
Le problème est que dans le classeur "parent" j'ai aussi une MACRO qui valide un devis, et qui une fois le devis accepté par le client, incrémente un compteur FACTURE et place toutes les données de l'affaire dans un autre classeur spécifique (FACTURES) de façon à avoir un tableau de bord financier de toutes les affaires.
Cette Macro ne fonctionne pas car le contenu de la macro contient la référence du classeur parent, donc je suis obligé chaque fois de modifier manuellement la macro en mettant le nouveau nom de classeur crée.
Je me demandais s'il était possible lors de la création du classeur fils d'intégrer une variable pour qu'une fois le "classeur fils" enregistré le contenu de la macro soit modifié avec le nom du nouveau classeur.
J'espère avoir été clair dans mes explications, je vous laisse ci-après le contenu de la macro.
EN GRAS ce qui devrait varié
et sachant que la variable se trouve dans le classeur parent
en K2 et dans la feuille CLIENT
Sub validation_facture()
'
' validation_facture Macro
'
'
Windows("Factures.xlsx").Activate
Rows("3:3").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Windows("DEVIS 2009.xls").Activate
Range("A53:AH53").Select
Selection.Copy
Windows("Factures.xlsx").Activate
Range("A3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("A3").Select
Application.CutCopyMode = False
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Windows("DEVIS 2009.xls").Activate
ActiveWindow.SmallScroll Down:=-27
End Sub
Accessoirement quelle est la commande à rajouter pour que lors du collage
des infos dans le classeur facture, cette nouvelle ligne insérer prenne la mise en forme
des lignes en dessous?????
Merci pour ceux qui auront le courage de me lire jusqu'au bout.
Choufleuri
Dernière édition: