Bonjour,
sur un document WORD comment faire pour selectionner le tableau 3 du document et aller a la dernier cellule du tableau pour pouvoir inserer une ligne.
Merci
Gillesse60
Bonjour,
sur un document WORD comment faire pour selectionner le tableau 3 du document et aller a la dernier cellule du tableau pour pouvoir inserer une ligne.
Merci
Gillesse60
Bonjour et bienvenue sur les forums Office de DVP
Pour sélectionner un tableau, on peut passer par sont index.
Une solution élégante est
Code : Sélectionner tout - Visualiser dans une fenêtre à part ActiveDocument.Tables(3)
Pour ajouter une ligne, il n'est pas utile de sélectionner la dernière du tableau.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Dim otbl as Table Set oTbl = ActiveDocument.Tables(3)
Va ajouter une ligne à la fin de ton tableau.
Code : Sélectionner tout - Visualiser dans une fenêtre à part oTbl.Rows.Add
Bonjour et merci de votre réponse,
mais j'ai un autre petit problème.
apres avoir ajouter une ligne au tableau je voudrais remonter a la 1ere colonne au dessus de celle que je vien de créer (MoveUp) et copier la valeur dans une variable, pour pouvoir ajouter + 1 a cette variable. (valeur de la variable 1.0)
Merci
Gillesse60
Salut,
Pourquoi MoveUp ?
Tu connais le nombre de lignes du tableau.
A cette valeur, il sufit de retrancher 1 pour avoir l'avant dernière ligne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part oTbl.Rows.Count
Si c'est pour la première colonne, c'est encore plus facile.
Mais, il y a toujours un mais, il faut filtrer cette donnée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part MaVar = oTbl.Cell(1, (otbl.Rows.Count - 1)).Range.Text
Avec une fonction
Et au final avec l'incrémentation
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Public Function NetText(stTemp As String ) As String NetText = Left( stTemp, (Len(stTemp) - 2)) End Function
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 MaVar = CInt(NetText(oTbl.Cell(1, (otbl.Rows.Count - 1)).Range.Text)) + 1
merci pour la réponse et la rapiditée
Mais il y a un problème a l'execution, je vous fournie le code (erreur de compil utilisation incorrect de la propriete)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Sub test1() Dim otbl As Table Set otbl = ActiveDocument.Tables(3) otbl.Rows.Add otbl.Rows.Count ver1 = otbl.Cell(1, (otbl.Rows.Count - 1)).Range.Text ver1 = CInt(NetText(otbl.Cell(1, (otbl.Rows.Count - 1)).Range.Text)) + 1 MsgBox ver1 End SubPouvez vous me dire la connerie que j'ai fait.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Public Function NetText(stTemp As String) As String NetText = Left(stTemp, (Len(stTemp) - 2)) End Function
Merci
Gillesse60
Salut, le
C'est une info, seul dans une fonction ou une procédure, ça ne donne qu'une erreur, tu viens d'en faire l'expérience !
Code : Sélectionner tout - Visualiser dans une fenêtre à part oTbl.Rows.Count
Bonjour,
J'ai fait des tests et dans la variable il me récupére toujours la 2eme cellule de la ligne 1 du tableau. et pourtant le count de ligne a 3
pouvez vous m'expliquer pourquoi ?
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Sub test1() Dim otbl As Table Set otbl = ActiveDocument.Tables(3) otbl.Rows.Add ver1 = otbl.Cell(1, (otbl.Rows.Count - 1)).Range.Text End Sub
Gillesse60
J'ai inversé
Code : Sélectionner tout - Visualiser dans une fenêtre à part otbl.Cell( (otbl.Rows.Count - 1),1).Range.Text
Merci je récupére bien ce que je veux.
il y a une autre erreur,la ligne de commande:
ver1 = CInt(NetText(otbl.Cell((otbl.Rows.Count - 1), 1).Range.Text)) + 1
ne marche pas, quand je l'execute pas a pas la variable et vide
il me fait erreur 13 imcompatibilité de type
Public Function NetText(stTemp As String) As String
NetText = Left(stTemp, (Len(stTemp) - 2))
End Function
Merci
Gillesse60
je ne sais pas de quelle type.
dans la variable je récupere un numéro de version (1.0)
et je veux ajouter 0.1 de plus a chaque fois
si je récupére 1.2 il faut que quand j'ajoute + 1 ou + 0.1pour avoir 1.3
Gillesse60
C'est pas CInt qu'il faut utiliser, mais un CBbl. Tu as besoin d'un Double et pas d'un Integer.
C'est pour cette raison que ça te donne une erreur.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager