OVH Cloud OVH Cloud

probleme signet dans 1 tableau

1 réponse
Avatar
prioux
Bonjour.
J'ai rempli des signets dans un tableau à 5 colonnes et je cherche
a remplir ce tableau/VBA.Tout se passe bien,sauf pour la 1ère ligne:
signet(ligne,colonne)
signet(1,1)..signet(1,2)..signet(1,3)..signet(1,4)..signet(1,5)
...
signet(i,1)..signet(i,2)..signet(i,3)..signet(i,4)..signet(i,5)

Voici le code:(1ère ligne)
set objword=CreateObject("Word.application")
..
WIth objword
.Activedocument.bookmarks("signet(1,1)").select
.Selection.text=mavaleur(1,1)
.Activedocument.bookmarks.add Name="signet(1,1)(je recrée le signet)

....et ainsi de suite....
Or pour la 1ère ligne,je retrouve:
1ère colonne:
mavaleur(1,1)->bonne valeur,bon signet
2ème colonne:
mavaleur(1,2)signet(2,2)->la valeur est concat. avec le signet du dessous.
3ème colonne:
mavaleur(1,3)signet(2,3)->idem
4ème colonne:
mavaleur(1,4)signet(2,4)->idem
5ème colonne:
mavaleur(1,5)signet(2,5)->idem

de plus j'ai les valeurs ci-dessous:
signet(2,2)->mavaleur(1,2)signet(2,2)
signet(2,3)->mavaleur(1,3)signet(2,3)
signet(2,4)->mavaleur(1,4)signet(2,4)
signet(2,5)->mavaleur(1,5)signet(2,5)

Ce qui entraine,quand j'affecte signet(2,2..5) l'écrasement des valeurs.
Je perds donc les 4 colonnes de droite de la 1ère ligne.
Puis le traitement continue(indice en boucle) et tout le reste est bon!!
Que se passe t il ?
D'avance merci.

1 réponse

Avatar
Anacoluthe
Bonjour !

On n'a pas trop envie de comprendre votre problème pour une raison
simple : n'utilisez _jamais_ de signets pour des cellules d'un
tableau !!! Il est notoire qu'on s'expose à des problèmes avec
en particulier des calculs faux. Ceci tient à la nature des
séparateurs de cellules dans un tableau.

Qu'est-ce qu'un signet ? C'est un repère dans un document.
Pourquoi utiliser en vba des signets dans un tableau alors
que chaque cellule de chaque tableau est parfaitement repérée ???
MonTableau.Cell(1,1).Range.Text = mavaleur(1,1)

Pardonnez si je botte en touche. Il me semble dès la lecture
de votre code que vous partez dans une mauvaise direction...

Anacoluthe
« Les tableaux sont des rêves qu'on pose sur les choses. »
- Jean-Guy RENS



'' nous a écrit ...
Bonjour.
J'ai rempli des signets dans un tableau à 5 colonnes et je cherche
a remplir ce tableau/VBA.Tout se passe bien,sauf pour la 1ère ligne:
signet(ligne,colonne)
signet(1,1)..signet(1,2)..signet(1,3)..signet(1,4)..signet(1,5)
...
signet(i,1)..signet(i,2)..signet(i,3)..signet(i,4)..signet(i,5)

Voici le code:(1ère ligne)
set objword=CreateObject("Word.application")
..
WIth objword
.Activedocument.bookmarks("signet(1,1)").select
.Selection.text=mavaleur(1,1)
.Activedocument.bookmarks.add Name="signet(1,1)(je recrée le signet)

....et ainsi de suite....
Or pour la 1ère ligne,je retrouve:
1ère colonne:
mavaleur(1,1)->bonne valeur,bon signet
2ème colonne:
mavaleur(1,2)signet(2,2)->la valeur est concat. avec le signet du dessous.
3ème colonne:
mavaleur(1,3)signet(2,3)->idem
4ème colonne:
mavaleur(1,4)signet(2,4)->idem
5ème colonne:
mavaleur(1,5)signet(2,5)->idem

de plus j'ai les valeurs ci-dessous:
signet(2,2)->mavaleur(1,2)signet(2,2)
signet(2,3)->mavaleur(1,3)signet(2,3)
signet(2,4)->mavaleur(1,4)signet(2,4)
signet(2,5)->mavaleur(1,5)signet(2,5)

Ce qui entraine,quand j'affecte signet(2,2..5) l'écrasement des valeurs.
Je perds donc les 4 colonnes de droite de la 1ère ligne.
Puis le traitement continue(indice en boucle) et tout le reste est bon!!
Que se passe t il ?
D'avance merci.