Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/02/2012, 10h51   #1
Invité régulier
 
Femme
Étudiant
Inscription : janvier 2012
Messages : 9
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2012
Messages : 9
Points : 9
Points : 9
Par défaut Problème réinitialisation champs formulaire lors d'un ajout de ligne dans tableau

Bonjour tout le monde,

J'ai un petit souci et j'espère que vous pourriez m'aider...
Cela fait déjà un jour que je cherche d'où vient le problème suivant :
J'ai un formulaire Word, dans lequel j'ai, par défaut, un tableau de 2 colonnes x 4 lignes. Mon formulaire étant protégé, la saisie dans le tableau ne peut se faire qu'à l'aide de champs texte. Jusque là, tout est OK.
Par la suite, j'ai voulu ajouter deux boutons, un "+" et un autre "-", qui permettent d'ajouter d'autres lignes au tableau (avec leurs champs texte) ou d'en supprimer. Mais le souci est que lorsque je rajoute des lignes alors que j'avais déjà commencé à remplir mes 4 premières lignes, celles-ci se réinitialisent (vides).

Ma question : Pouvez m'aider svp à trouver un code qui pourrait ajouter des lignes à un tableau en gardant la mise en forme (ici champs texte du tableau), sans modifier quoique ce soit dans le tableau (niveau valeur) ?

Voici le code :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Private Sub Ajout_ligne_tab1_Click()
    ActiveDocument.Unprotect
    ActiveDocument.Tables(5).Rows.Add.Select
    Selection.FormFields.Add Range:=Selection.Range, Type:= _
        wdFieldFormTextInput
    Selection.MoveRight Unit:=wdCharacter, Count:=1
    Selection.FormFields.Add Range:=Selection.Range, Type:= _
        wdFieldFormTextInput
    ActiveDocument.Protect wdAllowOnlyFormFields
End Sub
 
Private Sub Suppr_ligne_tab1_Click()
    Dim x As Integer
    x = ActiveDocument.Tables(5).Rows.Count
    If x <> 5 Then
    ActiveDocument.Unprotect
    ActiveDocument.Tables(5).Rows(x).Delete
    ActiveDocument.Protect wdAllowOnlyFormFields
    End If
End Sub
Un GRAND merci pour votre aide !!!

Bonne journée.
loly1234 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2012, 11h18   #2
Invité régulier
 
Femme
Étudiant
Inscription : janvier 2012
Messages : 9
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2012
Messages : 9
Points : 9
Points : 9
Par défaut Pb résolu

J'ai trouvé !!!!

Il fallait rajouter l'argument "NoReset" et le mettre à True pour garder les valeurs actuelles de mes champs texte du formulaire.

Merci quand même !!!

Bonne journée !
loly1234 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h27.


 
 
 
 
Partenaires

Hébergement Web