Création d'une macro
Résolu/Fermé
Nanoc_9147
Messages postés
2
Date d'inscription
jeudi 26 septembre 2019
Statut
Membre
Dernière intervention
26 septembre 2019
-
Modifié le 26 sept. 2019 à 19:24
yg_be Messages postés 23531 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 22 avril 2025 - 29 sept. 2019 à 11:54
yg_be Messages postés 23531 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 22 avril 2025 - 29 sept. 2019 à 11:54
A voir également:
- Création d'une macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Creation compte gmail - Guide
- Création site web - Guide
- Création compte google - Guide
- Media creation tool - Télécharger - Systèmes d'exploitation
4 réponses
m@rina
Messages postés
22276
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
24 avril 2025
11 425
27 sept. 2019 à 19:01
27 sept. 2019 à 19:01
Bonjour,
Il n'y a pas pire code que celui qu'on enregistre. On va dire que l'enregistrement de macros est très utile pour trouver des solutions à ce qu'on cherche. Cela permet d'avoir la syntaxe, et accessoirement de connaître les noms des méthodes, propriétés, etc.
Donc, ton code est très mauvais. Dis nous plutôt ce que tu veux faire exactement.
m@rina
Il n'y a pas pire code que celui qu'on enregistre. On va dire que l'enregistrement de macros est très utile pour trouver des solutions à ce qu'on cherche. Cela permet d'avoir la syntaxe, et accessoirement de connaître les noms des méthodes, propriétés, etc.
Donc, ton code est très mauvais. Dis nous plutôt ce que tu veux faire exactement.
m@rina
yg_be
Messages postés
23531
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
22 avril 2025
Ambassadeur
1 579
26 sept. 2019 à 21:05
26 sept. 2019 à 21:05
bonjour, quand tu as un message d’erreur, il est important de nous indiquer à quelle ligne il se produit.
ta macro semble travailler sur l'élément sélectionné.
es-tu certain d'avoir sélectionné, avant d'exécuter la macro, le même élément que tu avais sélectionné avant d'enregistrer la macro?
ta macro semble travailler sur l'élément sélectionné.
es-tu certain d'avoir sélectionné, avant d'exécuter la macro, le même élément que tu avais sélectionné avant d'enregistrer la macro?
Nanoc_9147
Messages postés
2
Date d'inscription
jeudi 26 septembre 2019
Statut
Membre
Dernière intervention
26 septembre 2019
26 sept. 2019 à 21:26
26 sept. 2019 à 21:26
Merci pour ta réponse.
D'après ce que je comprends, c'est à la ligne 9 que se situe l'erreur.
J'ai recommencé l'enregistrement en ne selectionant pas le tableau avant de l'enregistrer, et je parviens à la faire fonctionner, mais pas tout le temps.
De plus ca me configure des valeurs approximatives style 1,47 au lieu de 1,5 et 10,53 au lieu de 11cm.
le code donne ça du coup:
Sub MaNicro()
'
' MaNicro Macro
'
'
Selection.MoveRight Unit:=wdCharacter, Count:=5, Extend:=wdExtend
Selection.MoveUp Unit:=wdLine, Count:=1, Extend:=wdExtend
Selection.MoveDown Unit:=wdLine, Count:=3, Extend:=wdExtend
Selection.MoveUp Unit:=wdLine, Count:=3, Extend:=wdExtend
Selection.MoveLeft Unit:=wdCharacter, Count:=1
Selection.MoveUp Unit:=wdLine, Count:=1
Selection.MoveRight Unit:=wdCharacter, Count:=2, Extend:=wdExtend
Selection.MoveDown Unit:=wdLine, Count:=2, Extend:=wdExtend
Selection.Move Unit:=wdColumn, Count:=1
Selection.SelectColumn
Selection.Columns.PreferredWidthType = wdPreferredWidthPoints
Selection.Columns.PreferredWidth = CentimetersToPoints(1.5)
Selection.Move Unit:=wdColumn, Count:=1
Selection.SelectColumn
Selection.Tables(1).Rows.LeftIndent = CentimetersToPoints(2.75)
Selection.Tables(1).PreferredWidthType = wdPreferredWidthPoints
Selection.Tables(1).PreferredWidth = CentimetersToPoints(12.5)
End Sub
D'après ce que je comprends, c'est à la ligne 9 que se situe l'erreur.
J'ai recommencé l'enregistrement en ne selectionant pas le tableau avant de l'enregistrer, et je parviens à la faire fonctionner, mais pas tout le temps.
De plus ca me configure des valeurs approximatives style 1,47 au lieu de 1,5 et 10,53 au lieu de 11cm.
le code donne ça du coup:
Sub MaNicro()
'
' MaNicro Macro
'
'
Selection.MoveRight Unit:=wdCharacter, Count:=5, Extend:=wdExtend
Selection.MoveUp Unit:=wdLine, Count:=1, Extend:=wdExtend
Selection.MoveDown Unit:=wdLine, Count:=3, Extend:=wdExtend
Selection.MoveUp Unit:=wdLine, Count:=3, Extend:=wdExtend
Selection.MoveLeft Unit:=wdCharacter, Count:=1
Selection.MoveUp Unit:=wdLine, Count:=1
Selection.MoveRight Unit:=wdCharacter, Count:=2, Extend:=wdExtend
Selection.MoveDown Unit:=wdLine, Count:=2, Extend:=wdExtend
Selection.Move Unit:=wdColumn, Count:=1
Selection.SelectColumn
Selection.Columns.PreferredWidthType = wdPreferredWidthPoints
Selection.Columns.PreferredWidth = CentimetersToPoints(1.5)
Selection.Move Unit:=wdColumn, Count:=1
Selection.SelectColumn
Selection.Tables(1).Rows.LeftIndent = CentimetersToPoints(2.75)
Selection.Tables(1).PreferredWidthType = wdPreferredWidthPoints
Selection.Tables(1).PreferredWidth = CentimetersToPoints(12.5)
End Sub
Bonjour,
Alors, j'ai totalement conscience de ce que tu dis là. Il est évident que l'enregistrement d'une macro sert au néophyte que je suis à bêtement reproduire une série de clics sur Word.
Dans le premier doc que j’avais (le premier chapitre de la thèse de ma femme), je souhaitais à partir de tableau existant (en fait il s'agissait d'exemple numéroté que ma femme à mis en forme de tableau) formater ces tableaux à 2,75 cm de retrait,
avec la première colonne d'une largeur de 1,5cm
et la seconde de 11 cm
avec une largeur totale du tableau de 12,5cm.
Cela ne marchait pas en réglant les 4 variables d'un coup.
En faisant une macro par variable, j'y suis arrivé.
Le code que j'ai obtenu n'est pas du tout optimisé mais j'ai réussi à faire les 125 tableaux en quelques secondes donc objectif atteint.
Dans le second Doc (chapitre 2,3 et conclusion) je pars d'une mise en page d'exemple numérotés avec des puces. Du coup ça me rajoute beaucoup d'étapes:
Couper
Coller (juste le texte pour conserver le numéros de puce)
mettre en forme avec un style définit
Mettre dans un tableau
formater le tableau comme dans le doc 1
rajouter une ligne au dessus et une ligne au dessous avec la bonne taille de police et parfois entre les exemples qui se suivent.
mettre en italique le texte copié
enlever le cadre
supprimer le texte d'origine.
Et cela pour plus de 400 exemples.
En créant des raccourcis clavier + macro très simple le tout configuré sur les boutons latéraux de ma G600, j'arrive à faire chaque exemple en une petite minute.
Et je suis bien content d'être arrivé à ça... :).
Alors, j'ai totalement conscience de ce que tu dis là. Il est évident que l'enregistrement d'une macro sert au néophyte que je suis à bêtement reproduire une série de clics sur Word.
Dans le premier doc que j’avais (le premier chapitre de la thèse de ma femme), je souhaitais à partir de tableau existant (en fait il s'agissait d'exemple numéroté que ma femme à mis en forme de tableau) formater ces tableaux à 2,75 cm de retrait,
avec la première colonne d'une largeur de 1,5cm
et la seconde de 11 cm
avec une largeur totale du tableau de 12,5cm.
Cela ne marchait pas en réglant les 4 variables d'un coup.
En faisant une macro par variable, j'y suis arrivé.
Le code que j'ai obtenu n'est pas du tout optimisé mais j'ai réussi à faire les 125 tableaux en quelques secondes donc objectif atteint.
Dans le second Doc (chapitre 2,3 et conclusion) je pars d'une mise en page d'exemple numérotés avec des puces. Du coup ça me rajoute beaucoup d'étapes:
Couper
Coller (juste le texte pour conserver le numéros de puce)
mettre en forme avec un style définit
Mettre dans un tableau
formater le tableau comme dans le doc 1
rajouter une ligne au dessus et une ligne au dessous avec la bonne taille de police et parfois entre les exemples qui se suivent.
mettre en italique le texte copié
enlever le cadre
supprimer le texte d'origine.
Et cela pour plus de 400 exemples.
En créant des raccourcis clavier + macro très simple le tout configuré sur les boutons latéraux de ma G600, j'arrive à faire chaque exemple en une petite minute.
Et je suis bien content d'être arrivé à ça... :).
yg_be
Messages postés
23531
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
22 avril 2025
1 579
29 sept. 2019 à 11:54
29 sept. 2019 à 11:54
parfait! peux-tu alors marquer le sujet comme résolu via la roue dentée à droite du titre?