Comment créer une macro qui peut s'effectuer sur pls fichiers
Résolu/Fermé
ttr125
-
7 juin 2013 à 11:00
Le Pingou Messages postés 12227 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 janvier 2025 - 25 juin 2013 à 23:49
Le Pingou Messages postés 12227 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 janvier 2025 - 25 juin 2013 à 23:49
A voir également:
- Comment créer une macro qui peut s'effectuer sur pls fichiers
- Comment créer un groupe whatsapp - Guide
- Comment créer une story sur facebook - Guide
- Créer un compte instagram sur google - Guide
- Créer un compte google - Guide
- Créer un compte gmail - Guide
17 réponses
Le Pingou
Messages postés
12227
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
6 janvier 2025
1 454
Modifié par Le Pingou le 12/06/2013 à 17:27
Modifié par Le Pingou le 12/06/2013 à 17:27
Bonjour,
La procédure sur un classeur de base ou un classeur de macro personnelle.
Je pense que votre code comporte une erreur, par contre il est impossible de vous aider sans l'entier de ce code.
Salutations.
Le Pingou
La procédure sur un classeur de base ou un classeur de macro personnelle.
Je pense que votre code comporte une erreur, par contre il est impossible de vous aider sans l'entier de ce code.
Salutations.
Le Pingou
Voici le code que j'ai obtenu
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 07/06/2013 par alliance concept
'
' Touche de raccourci du clavier: Ctrl+q
'
Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1))
Range("F:F,H:H,J:J").Select
Range("J1").Activate
Charts.Add
ActiveChart.ChartType = xlLineMarkers
ActiveChart.SetSourceData Source:=Range("F:F,H:H,J:J").Select, PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsNewSheet
With ActiveChart
.HasTitle = False
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
End With
End Sub
je sais que mon problème vient du Range mais je sais pas comment l'écrire merci
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 07/06/2013 par alliance concept
'
' Touche de raccourci du clavier: Ctrl+q
'
Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1))
Range("F:F,H:H,J:J").Select
Range("J1").Activate
Charts.Add
ActiveChart.ChartType = xlLineMarkers
ActiveChart.SetSourceData Source:=Range("F:F,H:H,J:J").Select, PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsNewSheet
With ActiveChart
.HasTitle = False
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
End With
End Sub
je sais que mon problème vient du Range mais je sais pas comment l'écrire merci
Le Pingou
Messages postés
12227
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
6 janvier 2025
1 454
13 juin 2013 à 17:31
13 juin 2013 à 17:31
Bonjour,
Merci.
Eh bien cette procédure s'applique uniquement au classeur actif et la feuille active (note : donc depuis le classeur ou la procédure est lancé.
Dans le code on ne trouve pas qu'elle est la feuille qui contient les données pour le graphique et non plus sûr qu'elle feuille est affichée le dit graphique.
Sans savoir exactement ce que vous voulez réaliser en détail, c'est impossible dans dire plus.
Merci.
Eh bien cette procédure s'applique uniquement au classeur actif et la feuille active (note : donc depuis le classeur ou la procédure est lancé.
Dans le code on ne trouve pas qu'elle est la feuille qui contient les données pour le graphique et non plus sûr qu'elle feuille est affichée le dit graphique.
Sans savoir exactement ce que vous voulez réaliser en détail, c'est impossible dans dire plus.
Bonjour, tous d'abords merci pour vos réponses.
Je suis arrivée à corrigé l'erreur 9 ,mais maintenant j'ai l'erreur 1004 .... Ce que je veux faire exactement est simple je vais récupérer des informations d'un automate en fichier .trd (comme un .txt ) donc voilà un exemple de ce que je récupéré 12525325;2566352;16-05-2013;14:51:36;MAIN.volt;3.000000;Main.puissance;1.000000;MAIN.tension;3.0000;
Donc ma macro sépare a chaque point virgule affecte chaque info dans les colonnes A,B,C.. (ex:A:12525325 B:2566352 ect..) ensuite je sélectionne les colonnes qui m'intéressent pour le tracé de mes courbes et je créer un graphique ,mais le problème est que mon tableau peut aller de 1à5 ou de 1à.... et cela je ne peux pas le savoir donc je ne sais pas comment faire pour généraliser mon code pour qu'il accepte quel que soit le nombre de ligne
j'espère avoir été assez claire malgré tous merci d'avance
Je suis arrivée à corrigé l'erreur 9 ,mais maintenant j'ai l'erreur 1004 .... Ce que je veux faire exactement est simple je vais récupérer des informations d'un automate en fichier .trd (comme un .txt ) donc voilà un exemple de ce que je récupéré 12525325;2566352;16-05-2013;14:51:36;MAIN.volt;3.000000;Main.puissance;1.000000;MAIN.tension;3.0000;
Donc ma macro sépare a chaque point virgule affecte chaque info dans les colonnes A,B,C.. (ex:A:12525325 B:2566352 ect..) ensuite je sélectionne les colonnes qui m'intéressent pour le tracé de mes courbes et je créer un graphique ,mais le problème est que mon tableau peut aller de 1à5 ou de 1à.... et cela je ne peux pas le savoir donc je ne sais pas comment faire pour généraliser mon code pour qu'il accepte quel que soit le nombre de ligne
j'espère avoir été assez claire malgré tous merci d'avance
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Le Pingou
Messages postés
12227
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
6 janvier 2025
1 454
14 juin 2013 à 23:40
14 juin 2013 à 23:40
Bonjour,
Merci pour les informations.
Cependant ou se trouve les données converties ( de .trd en .xls) ... !
Sur le même classeur que le graphique .... ?
Décrire exactement ce que vous réalisez manuellement.... !
Merci pour les informations.
Cependant ou se trouve les données converties ( de .trd en .xls) ... !
Sur le même classeur que le graphique .... ?
Décrire exactement ce que vous réalisez manuellement.... !
Bonjour, oui la conversion se trouve sur le même classeur que le graphique je le convertie ensuite je créer mon graphe mais le problème exacte que j'ai est la taille de mon trd qui varie et quand je créer une macro elle se fait avec la taille que je lui est donner mais comment lui dire quel peut varier tous le tant ?
Le Pingou
Messages postés
12227
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
6 janvier 2025
1 454
16 juin 2013 à 23:03
16 juin 2013 à 23:03
Bonjour,
Supposé que la première ligne de données et la [1]
Trouver la dernière ligne de la colonne [F] avec le code qui suit
Et votre code pour la source données du graphique devient :
......
Supposé que la première ligne de données et la [1]
Trouver la dernière ligne de la colonne [F] avec le code qui suit
deli= Cells(Rows.Count, 6).End(xlUp).Rowqui remplace cette ligne {Range("F:F,H:H,J:J").Select}
Et votre code pour la source données du graphique devient :
......
Source:= Range("F1:F" & deli & ",H1:H" & deli & ",J1:J" & deli)
ttr125
Messages postés
5
Date d'inscription
lundi 17 juin 2013
Statut
Membre
Dernière intervention
25 juin 2013
17 juin 2013 à 09:05
17 juin 2013 à 09:05
Bonjour, pour commencer merci de ton aide malheureusement cela ne marche pas je n'est même plus mes courbes :( voici le code actuel :
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 07/06/2013 par alliance concept
'
' Touche de raccourci du clavier: Ctrl+q
'
Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1))
deli = Cells(Rows.Count, 6).End(xlUp).Row
Range("J1").Activate
Charts.Add
ActiveChart.ChartType = xlLineMarkers
ActiveChart.SetSourceData Source:=Range("F1:F" & deli & ",H1:H" & deli & ",J1:J" & deli).Select, PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsNewSheet
With ActiveChart
.HasTitle = False
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
End With
End Sub
je vais essayer de vous joindre mon fichier .trd
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 07/06/2013 par alliance concept
'
' Touche de raccourci du clavier: Ctrl+q
'
Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1))
deli = Cells(Rows.Count, 6).End(xlUp).Row
Range("J1").Activate
Charts.Add
ActiveChart.ChartType = xlLineMarkers
ActiveChart.SetSourceData Source:=Range("F1:F" & deli & ",H1:H" & deli & ",J1:J" & deli).Select, PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsNewSheet
With ActiveChart
.HasTitle = False
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
End With
End Sub
je vais essayer de vous joindre mon fichier .trd
Le Pingou
Messages postés
12227
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
6 janvier 2025
1 454
17 juin 2013 à 10:02
17 juin 2013 à 10:02
Bonjour,
Avec le fichier et le classeur si vous le désirez.
Le code fonctionne parfaitement chez moi.
Note dans le code que j'ai transmis il n'y a pas de [.Select] pour l'objet Range ....
Avec le fichier et le classeur si vous le désirez.
Le code fonctionne parfaitement chez moi.
Note dans le code que j'ai transmis il n'y a pas de [.Select] pour l'objet Range ....
ttr125
Messages postés
5
Date d'inscription
lundi 17 juin 2013
Statut
Membre
Dernière intervention
25 juin 2013
17 juin 2013 à 10:22
17 juin 2013 à 10:22
j'ai essayé avec et sans .select mais ça ne marche toujours pas par contre je n'arrive pas a joindre mes fichiers comment puis je faire ?
Le Pingou
Messages postés
12227
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
6 janvier 2025
1 454
17 juin 2013 à 10:28
17 juin 2013 à 10:28
Bonjour,
Plus d'un fichier, alors les compresser [ZIP ou RAR] et mettre le fichier compressé sur https://www.cjoint.com/ et poster le lien.
Plus d'un fichier, alors les compresser [ZIP ou RAR] et mettre le fichier compressé sur https://www.cjoint.com/ et poster le lien.
ttr125
Messages postés
5
Date d'inscription
lundi 17 juin 2013
Statut
Membre
Dernière intervention
25 juin 2013
17 juin 2013 à 10:39
17 juin 2013 à 10:39
Voici mon fichier https://www.cjoint.com/?CFrkLnTn1K4
Le Pingou
Messages postés
12227
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
6 janvier 2025
1 454
17 juin 2013 à 11:39
17 juin 2013 à 11:39
Bonjour,
Avec votre procédé, il est nécessaire d'avoir le nom de la feuille de données.
J'ai adapté votre code et c'est bon pour moi.
Votre fichier : https://www.cjoint.com/?3FrlMWBDt93
Avec votre procédé, il est nécessaire d'avoir le nom de la feuille de données.
J'ai adapté votre code et c'est bon pour moi.
Votre fichier : https://www.cjoint.com/?3FrlMWBDt93
ttr125
Messages postés
5
Date d'inscription
lundi 17 juin 2013
Statut
Membre
Dernière intervention
25 juin 2013
17 juin 2013 à 13:50
17 juin 2013 à 13:50
Merci beaucoup pour ton aide Le Pingou ça marche nickel heureusement que tu étais la ;-)
Le Pingou
Messages postés
12227
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
6 janvier 2025
1 454
17 juin 2013 à 16:01
17 juin 2013 à 16:01
Merci, de rien.
Salutations.
Le Pingou
Salutations.
Le Pingou
ttr125
Messages postés
5
Date d'inscription
lundi 17 juin 2013
Statut
Membre
Dernière intervention
25 juin 2013
25 juin 2013 à 15:31
25 juin 2013 à 15:31
Salut ,
j'ai actuellement modifier mon code Vb et tous marche pour le mieux encore merci de ton aide une petite question j'ai rajouté la date et l'heures sur mon graphique tous marches pour le mieux mais j'ai une question tous d'abords voila mon code :
Sub Consommation_éléctrique()
'
' Consommation_éléctrique Macro
' Macro enregistrée le 25/06/2013 par alliance concept création courbe consommation éléctrique
'
' Touche de raccourci du clavier: Ctrl+w
' *** récupérer le nom de la feuille source des données
sh = ActiveSheet.Name
Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1))
deli = Cells(Rows.Count, 3).End(xlUp).Row
Charts.Add
ActiveChart.ChartType = xlLineMarkers
ActiveChart.SetSourceData Source:=Sheets(sh).Range("C1:C" & deli & ",D1:D" & deli & ",F1:F" & deli & ",H1:H" & deli & ",J1:J" & deli), PlotBy:=xlColumns
ActiveChart.SeriesCollection(1).Name = "=""volt"""
ActiveChart.SeriesCollection(2).Name = "=""puissance"""
ActiveChart.SeriesCollection(3).Name = "=""tension"""
ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="Conso"
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "Consommation éléctriques"
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
End With
End Sub
est ma question est que si dans le fichier que je j'avais posté je n'est pas les colonnes H et J il me met une erreur est ce que je peut standardiser mon code ?
j'espère que je suis claire merci de votre aide
j'ai actuellement modifier mon code Vb et tous marche pour le mieux encore merci de ton aide une petite question j'ai rajouté la date et l'heures sur mon graphique tous marches pour le mieux mais j'ai une question tous d'abords voila mon code :
Sub Consommation_éléctrique()
'
' Consommation_éléctrique Macro
' Macro enregistrée le 25/06/2013 par alliance concept création courbe consommation éléctrique
'
' Touche de raccourci du clavier: Ctrl+w
' *** récupérer le nom de la feuille source des données
sh = ActiveSheet.Name
Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1))
deli = Cells(Rows.Count, 3).End(xlUp).Row
Charts.Add
ActiveChart.ChartType = xlLineMarkers
ActiveChart.SetSourceData Source:=Sheets(sh).Range("C1:C" & deli & ",D1:D" & deli & ",F1:F" & deli & ",H1:H" & deli & ",J1:J" & deli), PlotBy:=xlColumns
ActiveChart.SeriesCollection(1).Name = "=""volt"""
ActiveChart.SeriesCollection(2).Name = "=""puissance"""
ActiveChart.SeriesCollection(3).Name = "=""tension"""
ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="Conso"
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "Consommation éléctriques"
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
End With
End Sub
est ma question est que si dans le fichier que je j'avais posté je n'est pas les colonnes H et J il me met une erreur est ce que je peut standardiser mon code ?
j'espère que je suis claire merci de votre aide
Le Pingou
Messages postés
12227
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
6 janvier 2025
1 454
25 juin 2013 à 17:31
25 juin 2013 à 17:31
Bonjour,
Je viens de tester votre code et il n'y a aucun message d'erreur.
Où est donc votre problème.... ?
Je viens de tester votre code et il n'y a aucun message d'erreur.
Où est donc votre problème.... ?
Le Pingou
Messages postés
12227
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
6 janvier 2025
1 454
25 juin 2013 à 23:49
25 juin 2013 à 23:49
Bonjour,
Voici une proposition légèrement modifiée, une feuille pour fichier (trd) et une pour les données utilisées pour le graphique.
Proposition : https://www.cjoint.com/?3FzxXh5q6Al
Voici une proposition légèrement modifiée, une feuille pour fichier (trd) et une pour les données utilisées pour le graphique.
Proposition : https://www.cjoint.com/?3FzxXh5q6Al