Besoin d'aide pour une macro
rhcpaddict
Messages postés
8
Statut
Membre
-
Polux31 Messages postés 7219 Statut Membre -
Polux31 Messages postés 7219 Statut Membre -
Bonjour, je travaille sur un système d'acquisition de données qui m'enregitre un fichier (en .vlm) dont je choisi le nom.
Je suis en train de créer une macro pour rendre automatique la mise en forme, etc...
Le problème c'est que à chaque nouvelle acquisition j'ai un nouveau fichier avec un nom différent et c'est là que je bloque, voici mon code :
Sub LabVIEW()
' LabVIEW Macro
' Macro enregistrée le 05/03/2010 par STAGIAIRESOLEWA
Range("A23:G65000").Select
Selection.Replace What:=".", Replacement:=".", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Selection.NumberFormat = "0.00"
Range("A22:E775").Select
Charts.Add
ActiveChart.ChartType = xlXYScatterSmooth
ActiveChart.SetSourceData Source:=Sheets("LabVIEW").Range("A22:E65000"), _
PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="LabVIEW"
With ActiveChart
.HasTitle = False
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
End With
End Sub
C'est donc sur ces deux lignes en gras qu'il me faut quelquchose pour remplacer le nom du fichier (ici LabVIEW) par quelquechose qui est automatique, genre un nom universel pour ne pas à avoir à changer à chaque fois le nom dans le code à chaque nouvelle acquisition.
(J'ai déjà essayé de remplacer LabVIEW par WorkBook.name sans résultat).
Merci de votre aide.
Je suis en train de créer une macro pour rendre automatique la mise en forme, etc...
Le problème c'est que à chaque nouvelle acquisition j'ai un nouveau fichier avec un nom différent et c'est là que je bloque, voici mon code :
Sub LabVIEW()
' LabVIEW Macro
' Macro enregistrée le 05/03/2010 par STAGIAIRESOLEWA
Range("A23:G65000").Select
Selection.Replace What:=".", Replacement:=".", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Selection.NumberFormat = "0.00"
Range("A22:E775").Select
Charts.Add
ActiveChart.ChartType = xlXYScatterSmooth
ActiveChart.SetSourceData Source:=Sheets("LabVIEW").Range("A22:E65000"), _
PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="LabVIEW"
With ActiveChart
.HasTitle = False
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
End With
End Sub
C'est donc sur ces deux lignes en gras qu'il me faut quelquchose pour remplacer le nom du fichier (ici LabVIEW) par quelquechose qui est automatique, genre un nom universel pour ne pas à avoir à changer à chaque fois le nom dans le code à chaque nouvelle acquisition.
(J'ai déjà essayé de remplacer LabVIEW par WorkBook.name sans résultat).
Merci de votre aide.
A voir également:
- Besoin d'aide pour une macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Macro maker - Télécharger - Divers Utilitaires
- Actiona macro - Télécharger - Divers Utilitaires
3 réponses
Bonjour,
Désolé de taper l'incruste.
Pour rendre ta procédure "universelle", il faut passer le nom en paramètre :
Pour utiliser la procédure :
;o)
Désolé de taper l'incruste.
Pour rendre ta procédure "universelle", il faut passer le nom en paramètre :
Sub LabVIEW(ByVal monNom As String) ' ... blablabla ActiveChart.Location Where:=xlLocationAsObject, Name:=monNom ' ... blablabla
Pour utiliser la procédure :
LabVIEW("LabVIEW")
LabVIEW("Toto")
;o)
Salut,
Dans :
Sheets("LabVIEW") que tu souhaites rendre "universel" représente : la feuille active. Donc remplace Sheets("LabVIEW") par ActiveSheet ce qui nous donne :
Ensuite :
Reviens nous dire ce qu'il en est.
Dans :
ActiveChart.SetSourceData Source:=Sheets("LabVIEW").Range("A22:E65000"), _
PlotBy:=xlColumns
Sheets("LabVIEW") que tu souhaites rendre "universel" représente : la feuille active. Donc remplace Sheets("LabVIEW") par ActiveSheet ce qui nous donne :
ActiveChart.SetSourceData Source:=ActiveSheet.Range("A22:E65000"), _
PlotBy:=xlColumns
Ensuite :
ActiveChart.Location Where:=xlLocationAsObject, Name:="LabVIEW"attribue LabVIEW comme nom à ton objet. Là cela ne devrait pas poser de problème.
Reviens nous dire ce qu'il en est.
"attribue LabVIEW comme nom à ton objet. Là cela ne devrait pas poser de problème.
Reviens nous dire ce qu'il en est."
Comme ça ?
Sinon j'ai essayé sans, il y a tout de même un problème à la première ligne.
Je ne sais pas si je me suis bien explqué dans mon premier message, mais si après j'ai un fichier d'acquisition nommé "test.lvm" (et plus "LabVIEW.lvm) par exemple, je veux que ma macro marche tout de même sans la modifier (sachant que le fichier aura la même mise en forme, seul les données et le nom change). Il faut donc surement oubier ta ligne Name:="LabVIEW".
Merci.
Reviens nous dire ce qu'il en est."
Comme ça ?
Sinon j'ai essayé sans, il y a tout de même un problème à la première ligne.
Je ne sais pas si je me suis bien explqué dans mon premier message, mais si après j'ai un fichier d'acquisition nommé "test.lvm" (et plus "LabVIEW.lvm) par exemple, je veux que ma macro marche tout de même sans la modifier (sachant que le fichier aura la même mise en forme, seul les données et le nom change). Il faut donc surement oubier ta ligne Name:="LabVIEW".
Merci.