Définir largeur de colonnes tableaux word via code vba
Fermé
Liloj
-
27 mai 2020 à 16:38
yg_be Messages postés 23535 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 avril 2025 - 24 juin 2020 à 16:57
yg_be Messages postés 23535 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 avril 2025 - 24 juin 2020 à 16:57
A voir également:
- Définir largeur de colonnes tableaux word via code vba
- Code ascii - Guide
- Tableau word - Guide
- Word 2013 - Télécharger - Traitement de texte
- Comment faire des colonnes sur word - Guide
- Impossible de supprimer une page word - Guide
7 réponses
yg_be
Messages postés
23535
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
27 avril 2025
Ambassadeur
1 579
27 mai 2020 à 17:04
27 mai 2020 à 17:04
bonjour, je pense que tu peux facilement découvrir comment réaliser cela en enregistrant, dans Word, une macro pendant que tu manipules les largeurs de colonne.
Bonjour,
Alors j'ai bien tentée mais avec l'enregistreur macro sur word je n'arrive pas à sélectionner éléments après éléments et faire les manipulations, il me semble donc qu'avec le mode automatique on ne peut pas faire se que je voudrai :(
C'est la raison pour la quelle je cherche un code en visual basic, je pensais m'en sortir étant donné que j'utilise régulièrement vba avec excel... mais je rame trop :-S
Alors j'ai bien tentée mais avec l'enregistreur macro sur word je n'arrive pas à sélectionner éléments après éléments et faire les manipulations, il me semble donc qu'avec le mode automatique on ne peut pas faire se que je voudrai :(
C'est la raison pour la quelle je cherche un code en visual basic, je pensais m'en sortir étant donné que j'utilise régulièrement vba avec excel... mais je rame trop :-S
yg_be
Messages postés
23535
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
27 avril 2025
1 579
28 mai 2020 à 11:17
28 mai 2020 à 11:17
as-tu obtenu une macro? tu y verras du code vba dont tu pourras t'inspirer pour modifier ton code VBA dans excel?
Liloj
>
yg_be
Messages postés
23535
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
27 avril 2025
29 mai 2020 à 10:36
29 mai 2020 à 10:36
Malheureusement rien ne s'enregistre, j'ai fait au fur et a mesure suspendre et reprendre la macro, mais aucun code dans la macro... j'ai tentée de reproduire un code excel mais non, puis j'ai trouvé le code suivant sur des forums, mais toujours pas... puis bien d'autres, mais rien n'y fait... Vous êtes vraiment mon dernier recoure !
Je vous remercie encore de prendre du temps pour m'aider à 'résoudre mon problème.
Sub Format_colonnes()
'
' Format tbl
For Each colonne In ActiveDocument.Tables_
.Columns(1).Width = CentimetersToPoints(1.7)
.Columns(2).Width = CentimetersToPoints(1.6)
.Columns(3).Width = CentimetersToPoints(1)
.Columns(4).Width = CentimetersToPoints(3)
.Columns(5).Width = CentimetersToPoints(1.8)
Next
End Sub
Je vous remercie encore de prendre du temps pour m'aider à 'résoudre mon problème.
Sub Format_colonnes()
'
' Format tbl
For Each colonne In ActiveDocument.Tables_
.Columns(1).Width = CentimetersToPoints(1.7)
.Columns(2).Width = CentimetersToPoints(1.6)
.Columns(3).Width = CentimetersToPoints(1)
.Columns(4).Width = CentimetersToPoints(3)
.Columns(5).Width = CentimetersToPoints(1.8)
Next
End Sub
yg_be
Messages postés
23535
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
27 avril 2025
1 579
>
Liloj
29 mai 2020 à 11:18
29 mai 2020 à 11:18
effectivement, j'obtiens le même genre de code quand j'enregistre une macro dans Word.
pourquoi cela ne te convient-il pas?
pourquoi cela ne te convient-il pas?
Bien il ne fonctionne pas, j'ai du me tromper quelque part, sa me met : erreur de compilation, référence incorrecte ou non qualifiée
J'ai beau me cassé la tête je n'arrive pas à comprendre
J'ai beau me cassé la tête je n'arrive pas à comprendre
yg_be
Messages postés
23535
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
27 avril 2025
1 579
29 mai 2020 à 15:19
29 mai 2020 à 15:19
peux-tu partager ton code, et indiquer à quelle ligne l'erreur se produit? merci d'utiliser les balises de code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Désolé de mon retour tardif, j'avais des urgences à traiter :-S
J'espère que mon utilisation des balises soit correcte.
Pas de ligne indiquée, c'est juste noté erreur de compilation : fonction ou variable attendue
C'est la première fois que je vois ce code erreur, c'est se qui me fait dire que j'ai du me planter dans la syntaxe du code
Merci encore pour ton aide !
J'espère que mon utilisation des balises soit correcte.
Pas de ligne indiquée, c'est juste noté erreur de compilation : fonction ou variable attendue
C'est la première fois que je vois ce code erreur, c'est se qui me fait dire que j'ai du me planter dans la syntaxe du code
Merci encore pour ton aide !
Sub Format_colonnes() ' ' Format tbl For Each colonne In ActiveDocument.Tables_ .Columns(1).Width = CentimetersToPoints(1.7) .Columns(2).Width = CentimetersToPoints(1.6) .Columns(3).Width = CentimetersToPoints(1) .Columns(4).Width = CentimetersToPoints(3) .Columns(5).Width = CentimetersToPoints(1.8) Next End Sub
yg_be
Messages postés
23535
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
27 avril 2025
1 579
10 juin 2020 à 17:03
10 juin 2020 à 17:03
il devrait y avoir une ligne surlignée au moment où l'erreur se produit.
j'essaierais plutôt:
j'essaierais plutôt:
option explicit Sub Format_colonnes() ' ' Format tbl dim tb as table For Each tb In ActiveDocument.Tables tb.Columns(1).Width = CentimetersToPoints(1.7) tb.Columns(2).Width = CentimetersToPoints(1.6) tb.Columns(3).Width = CentimetersToPoints(1) tb.Columns(4).Width = CentimetersToPoints(3) tb.Columns(5).Width = CentimetersToPoints(1.8) Next tb End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
cette fois ci j'ai bien une ligne surlignée... code erreur '5992' sur la ligne suivante :
tb.Columns(1).Width = CentimetersToPoints(1.7)
je n'arrive pas à comprendre....
tb.Columns(1).Width = CentimetersToPoints(1.7)
je n'arrive pas à comprendre....
yg_be
Messages postés
23535
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
27 avril 2025
1 579
14 juin 2020 à 14:04
14 juin 2020 à 14:04
aucun message accompagnant l'erreur 5992?
si si, le message suivant :
Impossible d'accéder à des colonnes individuelles de cette collection car le tableau possède des cellules de largeur différentes.
Impossible d'accéder à des colonnes individuelles de cette collection car le tableau possède des cellules de largeur différentes.
yg_be
Messages postés
23535
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
27 avril 2025
1 579
Modifié le 14 juin 2020 à 16:50
Modifié le 14 juin 2020 à 16:50
cela me semble clair: le tableau n'a pas le meme nombre de colonnes sur toutes les lignes.
le code travaille sur tous les tableaux du document. si tu veux travailler sur tous les tableaux sélectionnés, essaie de remplacer
le code travaille sur tous les tableaux du document. si tu veux travailler sur tous les tableaux sélectionnés, essaie de remplacer
ActiveDocumentpar
selection.
Autant pour moi,mes premières lignes étaient fusionnées :-s mais j'ai pallié facilement à ce problème grâce à ta remarque.
Merci beaucoup pour ton aide !!!!!
J'ai un petit pb encore sur vba mais excel, dois-je refaire un poste ou poursuivre sur celui ci ?
Quoi su'il en soit encore merci !
Merci beaucoup pour ton aide !!!!!
J'ai un petit pb encore sur vba mais excel, dois-je refaire un poste ou poursuivre sur celui ci ?
Quoi su'il en soit encore merci !
yg_be
Messages postés
23535
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
27 avril 2025
1 579
24 juin 2020 à 16:57
24 juin 2020 à 16:57
il est préférable de marquer ceci comme résolu, et d'ouvrir une nouvelle discussion.