Syntaxe savecopyas excel vb
MisterT
-
lermite222 Messages postés 8724 Date d'inscription Statut Contributeur Dernière intervention -
lermite222 Messages postés 8724 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
voila j'ai un petit probleme avec la syntaxe de savecopyas dans excel et ma macro
je n'arrive pas à l'ecrire, le compilateur me dit erreur syntaxe ou séparateur de liste ou )
je vous mets mon code:
Sub premiereetalonnage()
Dim cheminelement, cheminfichedevie, chemintypeinstrum, chemindesignation As String
Dim wbk1, wbk2, wbk2, wbk4, wbk6, wbk7 As Workbook
cheminelement = "D:\Etude fabien\Parc métrologique\Fiches élément"
cheminfichedevie = "D:\Etude fabien\Parc métrologique\Fiches de vie"
chemintypinstrum = UserForm2.ComboBox1.Value
chemindesignation = UserForm2.TextBox1.Value
Set wbk1 = ThisWorkbook
If Dir("cheminelement\" & chemintypeinstrum & "\" & chemindesignation, vbNormal) <> "" Then
Msgbox ("Vous ne pouvez pas créer cette fiche élément car elle existe déjà")
Else
Set wbk2 = Workbooks.Open(Filename:="D:\Etude fabien\Parc métrologique\Fichiers de base\Fiche element.xls")
Sheets("Fiche element").Activate
Range("C15").Value = UserForm2.ComboBox1.Value
Range("C18").Value = UserForm2.ComboBox2.Value
Range("C21").Value = UserForm2.ComboBox4.Value
Range("G15").Value = UserForm2.TextBox1.Value
Range("G18").Value = UserForm2.ComboBox3.Value
Range("G21").Value = UserForm2.TextBox2.Value
Range("C29").Value = UserForm2.TextBox3.Value
Range("C32").Value = UserForm2.ComboBox6.Value
Range("C35").Value = UserForm2.ComboBox7.Value
Range("G29").Value = UserForm2.TextBox4.Value
Range("G32").Value = UserForm2.ComboBox5.Value
Range("G35").Value = UserForm2.ComboBox8.Value
Application.DisplayAlerts = False
wbk2.SaveCopyAs Filename:=("D:\Etude fabien\Parc métrologique\Fiches élément\" & chemintypinstrum&"\"&"FE"&chemindesignation&".xls")
wbk2.Close
Application.DisplayAlerts = True
end if
end sub
il faut savoir que
chemintypeinstrum fait reference a une combobox
chemindesignation fait reference a une textbox
FE correspond au nom du classeur exemple: FEA001.xls
une petite aide serait la bienvenue Merci !!
voila j'ai un petit probleme avec la syntaxe de savecopyas dans excel et ma macro
je n'arrive pas à l'ecrire, le compilateur me dit erreur syntaxe ou séparateur de liste ou )
je vous mets mon code:
Sub premiereetalonnage()
Dim cheminelement, cheminfichedevie, chemintypeinstrum, chemindesignation As String
Dim wbk1, wbk2, wbk2, wbk4, wbk6, wbk7 As Workbook
cheminelement = "D:\Etude fabien\Parc métrologique\Fiches élément"
cheminfichedevie = "D:\Etude fabien\Parc métrologique\Fiches de vie"
chemintypinstrum = UserForm2.ComboBox1.Value
chemindesignation = UserForm2.TextBox1.Value
Set wbk1 = ThisWorkbook
If Dir("cheminelement\" & chemintypeinstrum & "\" & chemindesignation, vbNormal) <> "" Then
Msgbox ("Vous ne pouvez pas créer cette fiche élément car elle existe déjà")
Else
Set wbk2 = Workbooks.Open(Filename:="D:\Etude fabien\Parc métrologique\Fichiers de base\Fiche element.xls")
Sheets("Fiche element").Activate
Range("C15").Value = UserForm2.ComboBox1.Value
Range("C18").Value = UserForm2.ComboBox2.Value
Range("C21").Value = UserForm2.ComboBox4.Value
Range("G15").Value = UserForm2.TextBox1.Value
Range("G18").Value = UserForm2.ComboBox3.Value
Range("G21").Value = UserForm2.TextBox2.Value
Range("C29").Value = UserForm2.TextBox3.Value
Range("C32").Value = UserForm2.ComboBox6.Value
Range("C35").Value = UserForm2.ComboBox7.Value
Range("G29").Value = UserForm2.TextBox4.Value
Range("G32").Value = UserForm2.ComboBox5.Value
Range("G35").Value = UserForm2.ComboBox8.Value
Application.DisplayAlerts = False
wbk2.SaveCopyAs Filename:=("D:\Etude fabien\Parc métrologique\Fiches élément\" & chemintypinstrum&"\"&"FE"&chemindesignation&".xls")
wbk2.Close
Application.DisplayAlerts = True
end if
end sub
il faut savoir que
chemintypeinstrum fait reference a une combobox
chemindesignation fait reference a une textbox
FE correspond au nom du classeur exemple: FEA001.xls
une petite aide serait la bienvenue Merci !!
A voir également:
- Syntaxe savecopyas excel vb
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel moyenne - Guide
1 réponse
Si c'est pour savecopy
wbk2.SaveCopyAs "D:\Etude fabien\Parc métrologique\Fiches élément\" & chemintypinstrum & "\" & "FE" & chemindesignation & ".xls"
Si se met en erreur...
sélectionner tout le chemin de "D... à .xls"
Copier
et dans lla fenêtre exécution taper Print et tu colle, ensuite enter. Comme ça tu vois s'il n'y a pas d'erreur dans le chemin
mais d'après ce que je vois tu à 2 fois .xls
tu peu faire Dim TB
TB=split(FE,".")
et ensuite
wbk2.SaveCopyAs "D:\Etude fabien\Parc métrologique\Fiches élément\" & chemintypinstrum & "\" & TB(0) & chemindesignation & ".xls"
A+
wbk2.SaveCopyAs "D:\Etude fabien\Parc métrologique\Fiches élément\" & chemintypinstrum & "\" & "FE" & chemindesignation & ".xls"
Si se met en erreur...
sélectionner tout le chemin de "D... à .xls"
Copier
et dans lla fenêtre exécution taper Print et tu colle, ensuite enter. Comme ça tu vois s'il n'y a pas d'erreur dans le chemin
mais d'après ce que je vois tu à 2 fois .xls
tu peu faire Dim TB
TB=split(FE,".")
et ensuite
wbk2.SaveCopyAs "D:\Etude fabien\Parc métrologique\Fiches élément\" & chemintypinstrum & "\" & TB(0) & chemindesignation & ".xls"
A+
Tous d'abord merci de me repondre
bon j'ai appliqué la methode que tu m'as dit avec Print et coller puis entrer et il n'y a pas eu de message d'erreur. Le chemin s'est meme ecrit avec des ; donc je suppose que le chemin est correct.
Je me suis dis que j'ai mal ecris savecopyas alors j'ai mis des espaces avant et apres chaque & et le compilateur ne me detecte pas de problemes de syntaxe alors je suppose que le chemin doit etre valide.
J'essaierai plus tard l'execution de la macro pour voir mais je pense que c'est OK
sinon pour info qu'elle est la demarche de mettre TB=split(FE,".") puis TB(0) dans savecopyas
TB(0) = le nom du fichier
TB(1)= xls
Tu sélectionne split (le mettre ensurbrillance) et tu tape F1
revenons à la détection d'erreur,
tu met le curseur sur SaveAsCopy et tu tape F9, la ligne va se mettre en surbrillance brun.
Tu lance la macro...
Elle va s'arrèter sur cette ligne et mettre en surbrillance Jaune, (c'est la ligne active) c'est maintenant que tu doit terster le chemeni comme expliquer plus haut.
A+