Saut de ligne par rapport à l'emplacement courant (VBA)
cocobouuu
-
cocobouuu -
cocobouuu -
Bonjour :)
Je rencontre le petit problème suivant : J'ai écrit une macro qui permet d'insérer un quickpart dans l'emplacement courant, cependant lorsque j'insère plusieurs quickpart à la suite (en l'occurence ici des tableaux) ceux-ci se supperposent, alors que moi j'aimerai qu'ils ne soient pas superposés mais mis à la suite. Je pense qu'il faut faire des sauts de ligne mais je n'ai pas trouvé un code vba qui permette de sauter une ligne par rapport à l'emplacement courant.
Pour l'insertion du quickpart, voici le code (mon quickpart, un tableau, s'appel test) :
Private Sub Insert_Click()
Templates.LoadBuildingBlocks ' chargement du template building blocks
' recherche du bon template
For Each docModele In Templates
If docModele.Name = "Building Blocks.dotx" Then
' si trouvé insertion du bloc table des matières
Templates(docModele.FullName).BuildingBlockEntries("test"). _
Insert Where:=Selection.Range, RichText:=True
Exit For
End If
Next
End Sub
Vous souhaitant un agréable week-end :p
Je rencontre le petit problème suivant : J'ai écrit une macro qui permet d'insérer un quickpart dans l'emplacement courant, cependant lorsque j'insère plusieurs quickpart à la suite (en l'occurence ici des tableaux) ceux-ci se supperposent, alors que moi j'aimerai qu'ils ne soient pas superposés mais mis à la suite. Je pense qu'il faut faire des sauts de ligne mais je n'ai pas trouvé un code vba qui permette de sauter une ligne par rapport à l'emplacement courant.
Pour l'insertion du quickpart, voici le code (mon quickpart, un tableau, s'appel test) :
Private Sub Insert_Click()
Templates.LoadBuildingBlocks ' chargement du template building blocks
' recherche du bon template
For Each docModele In Templates
If docModele.Name = "Building Blocks.dotx" Then
' si trouvé insertion du bloc table des matières
Templates(docModele.FullName).BuildingBlockEntries("test"). _
Insert Where:=Selection.Range, RichText:=True
Exit For
End If
Next
End Sub
Vous souhaitant un agréable week-end :p
A voir également:
- Saut de ligne par rapport à l'emplacement courant (VBA)
- Partage de photos en ligne - Guide
- Comment supprimer une page sur word avec un saut de page ? - Guide
- Aller à la ligne excel - Guide
- Mètre en ligne - Guide
- Plan rapport de stage - Guide
4 réponses
Bonjour
Deja je ne comprends pas ta boucle et ton IF... puisque tu connais le template, autant le nommer directement.
Ensuite des tableaux se chevauchent uniquement s'ils ont un habillage. Si habillage non nécessaire, il ne faut pas en mettre, c'est toujours plus compliqué. Donc commence par recréer tes blocs sans habillage et nomme ton template.
m@rina
Deja je ne comprends pas ta boucle et ton IF... puisque tu connais le template, autant le nommer directement.
Ensuite des tableaux se chevauchent uniquement s'ils ont un habillage. Si habillage non nécessaire, il ne faut pas en mettre, c'est toujours plus compliqué. Donc commence par recréer tes blocs sans habillage et nomme ton template.
m@rina
Bonjour et merci pour votre réponse !
Je n'arrive pas à insérer de quickpart sans la boucle IF si je vais directement chercher l'objet :S avec le code suivant, Word ne trouve pas :
Private Sub Insert_Click()
Templates.LoadBuildingBlocks ' chargement du template building blocks
Templates(docModele.FullName).BuildingBlockEntries("test"). _
Insert Where:=Selection.Range, RichText:=True
End Sub
Ensuite, mes tableaux n'ont pas d'habillage. J'ai du mal m'exprimer, mais en gros quand j'insère à la suite plusieurs quickpart type tableau (nommés "test"), au lieu de me créer plusieurs tableaux l'un en dessous de l'autre, cela me créé un seul tableau où, à chaque clique, viennent s'ajouter des lignes.
Si vous avez des suggestions je serai très très intéressé ^^
Bonne fin de journée :)
Je n'arrive pas à insérer de quickpart sans la boucle IF si je vais directement chercher l'objet :S avec le code suivant, Word ne trouve pas :
Private Sub Insert_Click()
Templates.LoadBuildingBlocks ' chargement du template building blocks
Templates(docModele.FullName).BuildingBlockEntries("test"). _
Insert Where:=Selection.Range, RichText:=True
End Sub
Ensuite, mes tableaux n'ont pas d'habillage. J'ai du mal m'exprimer, mais en gros quand j'insère à la suite plusieurs quickpart type tableau (nommés "test"), au lieu de me créer plusieurs tableaux l'un en dessous de l'autre, cela me créé un seul tableau où, à chaque clique, viennent s'ajouter des lignes.
Si vous avez des suggestions je serai très très intéressé ^^
Bonne fin de journée :)
Bonjour
Si ton bloc se trouve dans le building blocks.dotx, il n'est pas dans le template du document.
Il faut indiquer en dur l'emplacement, par exemple :
chemin = Environ("USERPROFILE") & "\AppData\Roaming\Microsoft\Document Building Blocks\1036\16\Building blocks.dotx"
Application.Templates(chemin).BuildingBlockEntries("test").Insert Where:=Selection.Range, RichText :=True
Quant à tes tableaux on peut insérer un saut de ligne, mais pourquoi ne pas ajouter le saut de ligne au bloc ? C'est + simple.
m@rina
Si ton bloc se trouve dans le building blocks.dotx, il n'est pas dans le template du document.
Il faut indiquer en dur l'emplacement, par exemple :
chemin = Environ("USERPROFILE") & "\AppData\Roaming\Microsoft\Document Building Blocks\1036\16\Building blocks.dotx"
Application.Templates(chemin).BuildingBlockEntries("test").Insert Where:=Selection.Range, RichText :=True
Quant à tes tableaux on peut insérer un saut de ligne, mais pourquoi ne pas ajouter le saut de ligne au bloc ? C'est + simple.
m@rina