J'aurais besoin d'aide SVP car j'ai "bidouill=E9" un petit programme
maison pour le bureau en VBA sur Word 2000 qui est devenu
indispensable =E0 mon travail mais que je dois maintenant faire
fonctionner sur Word 2007.
J'ai un bogue avec le remplissage des signets. En effet, le principe
de ce mod=E8le c'est que en fonction des choix effectu=E9s sur le
UserForm, certains documents sont ins=E9rer et d'autres non, donc il
arrive tout le temps que certains signets pr=E9vus dans le code
n'existent pas dans le document puisqu'ils ne correspondent pas aux
choix effectu=E9s.
Avec Word 2000 et le code << On error resume next >>, je n'ai pas de
probl=E8me, par contre avec Word 2007, il s'arr=EAte au premier signet
qu'il ne trouve pas dans le document.
Voici un exemple de mon code :
Private Sub CommandButton1_Click()
With ActiveDocument
On Error Resume Next
=2EBookmarks("Date1").Range =3D UserForm1.TextBox1
=2EBookmarks("Date2").Range =3D UserForm1.TextBox1
=2EBookmarks("Date3").Range =3D UserForm1.TextBox1
=2EBookmarks("Date4").Range =3D UserForm1.TextBox1
=2EBookmarks("Date5").Range =3D UserForm1.TextBox1
=2EBookmarks("Date6").Range =3D UserForm1.TextBox1
=2EBookmarks("Date7").Range =3D UserForm1.TextBox1
etc.
Quelqu'un aurait-il une id=E9e comment contourner ce probl=E8me en Word
2007 ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
heureux-oli
La solution serait de tester l'existence des signets avant d'affecter une valeur
If ActiveDocument.Bookmarks.Exists("Date1") Then ActiveDocument.Bookmarks("Date1").range.text = .... -- Heureux-oli http://heureuxoli.developpez.com/
"nathoche" a écrit dans le message de news:
Bonjour,
J'aurais besoin d'aide SVP car j'ai "bidouillé" un petit programme maison pour le bureau en VBA sur Word 2000 qui est devenu indispensable à mon travail mais que je dois maintenant faire fonctionner sur Word 2007.
J'ai un bogue avec le remplissage des signets. En effet, le principe de ce modèle c'est que en fonction des choix effectués sur le UserForm, certains documents sont insérer et d'autres non, donc il arrive tout le temps que certains signets prévus dans le code n'existent pas dans le document puisqu'ils ne correspondent pas aux choix effectués.
Avec Word 2000 et le code << On error resume next >>, je n'ai pas de problème, par contre avec Word 2007, il s'arrête au premier signet qu'il ne trouve pas dans le document.
Voici un exemple de mon code :
Private Sub CommandButton1_Click() With ActiveDocument On Error Resume Next .Bookmarks("Date1").Range = UserForm1.TextBox1 .Bookmarks("Date2").Range = UserForm1.TextBox1 .Bookmarks("Date3").Range = UserForm1.TextBox1 .Bookmarks("Date4").Range = UserForm1.TextBox1 .Bookmarks("Date5").Range = UserForm1.TextBox1 .Bookmarks("Date6").Range = UserForm1.TextBox1 .Bookmarks("Date7").Range = UserForm1.TextBox1 etc.
Quelqu'un aurait-il une idée comment contourner ce problème en Word 2007 ?
Par avance, merci !
La solution serait de tester l'existence des signets avant d'affecter une
valeur
If ActiveDocument.Bookmarks.Exists("Date1") Then
ActiveDocument.Bookmarks("Date1").range.text = ....
--
Heureux-oli
http://heureuxoli.developpez.com/
"nathoche" <npmontion@videotron.ca> a écrit dans le message de news:
ceabf759-81c0-486e-b381-15b8b705a585@i12g2000prf.googlegroups.com...
Bonjour,
J'aurais besoin d'aide SVP car j'ai "bidouillé" un petit programme
maison pour le bureau en VBA sur Word 2000 qui est devenu
indispensable à mon travail mais que je dois maintenant faire
fonctionner sur Word 2007.
J'ai un bogue avec le remplissage des signets. En effet, le principe
de ce modèle c'est que en fonction des choix effectués sur le
UserForm, certains documents sont insérer et d'autres non, donc il
arrive tout le temps que certains signets prévus dans le code
n'existent pas dans le document puisqu'ils ne correspondent pas aux
choix effectués.
Avec Word 2000 et le code << On error resume next >>, je n'ai pas de
problème, par contre avec Word 2007, il s'arrête au premier signet
qu'il ne trouve pas dans le document.
Voici un exemple de mon code :
Private Sub CommandButton1_Click()
With ActiveDocument
On Error Resume Next
.Bookmarks("Date1").Range = UserForm1.TextBox1
.Bookmarks("Date2").Range = UserForm1.TextBox1
.Bookmarks("Date3").Range = UserForm1.TextBox1
.Bookmarks("Date4").Range = UserForm1.TextBox1
.Bookmarks("Date5").Range = UserForm1.TextBox1
.Bookmarks("Date6").Range = UserForm1.TextBox1
.Bookmarks("Date7").Range = UserForm1.TextBox1
etc.
Quelqu'un aurait-il une idée comment contourner ce problème en Word
2007 ?
La solution serait de tester l'existence des signets avant d'affecter une valeur
If ActiveDocument.Bookmarks.Exists("Date1") Then ActiveDocument.Bookmarks("Date1").range.text = .... -- Heureux-oli http://heureuxoli.developpez.com/
"nathoche" a écrit dans le message de news:
Bonjour,
J'aurais besoin d'aide SVP car j'ai "bidouillé" un petit programme maison pour le bureau en VBA sur Word 2000 qui est devenu indispensable à mon travail mais que je dois maintenant faire fonctionner sur Word 2007.
J'ai un bogue avec le remplissage des signets. En effet, le principe de ce modèle c'est que en fonction des choix effectués sur le UserForm, certains documents sont insérer et d'autres non, donc il arrive tout le temps que certains signets prévus dans le code n'existent pas dans le document puisqu'ils ne correspondent pas aux choix effectués.
Avec Word 2000 et le code << On error resume next >>, je n'ai pas de problème, par contre avec Word 2007, il s'arrête au premier signet qu'il ne trouve pas dans le document.
Voici un exemple de mon code :
Private Sub CommandButton1_Click() With ActiveDocument On Error Resume Next .Bookmarks("Date1").Range = UserForm1.TextBox1 .Bookmarks("Date2").Range = UserForm1.TextBox1 .Bookmarks("Date3").Range = UserForm1.TextBox1 .Bookmarks("Date4").Range = UserForm1.TextBox1 .Bookmarks("Date5").Range = UserForm1.TextBox1 .Bookmarks("Date6").Range = UserForm1.TextBox1 .Bookmarks("Date7").Range = UserForm1.TextBox1 etc.
Quelqu'un aurait-il une idée comment contourner ce problème en Word 2007 ?
Par avance, merci !
Geo
Avec Word 2000 et le code << On error resume next >>, je n'ai pas de problème, par contre avec Word 2007, il s'arrête au premier signet qu'il ne trouve pas dans le document.
Même avec le On error... ?
-- A+
Avec Word 2000 et le code << On error resume next >>, je n'ai pas de
problème, par contre avec Word 2007, il s'arrête au premier signet
qu'il ne trouve pas dans le document.
Avec Word 2000 et le code << On error resume next >>, je n'ai pas de problème, par contre avec Word 2007, il s'arrête au premier signet qu'il ne trouve pas dans le document.
Même avec le On error... ?
-- A+
nathoche
On 8 jan, 11:55, Geo wrote:
Avec Word 2000 et le code << On error resume next >>, je n'ai pas de problème, par contre avec Word 2007, il s'arrête au premier signet qu'il ne trouve pas dans le document.
Même avec le On error... ?
-- A+
Oui, malheureusement cela bogue même avec le "On error resume next".
Je remercie Heureux-Oli pour sa solution que je garde au cas où, mais étant donné que j'ai des centaines de lignes dans ce genre cela risque, en plus d'être fastidieux à écrire, de ralentir pas mal l'exécution de mon code (enfin j'imagine, je ne suis pas non plus une experte)... Avant d'essayer, je vais me donner le temps de chercher une autre solution..
Si quelqu'un a une idée ... je suis preneur !
Encore merci !
On 8 jan, 11:55, Geo <G...@sans.pub> wrote:
Avec Word 2000 et le code << On error resume next >>, je n'ai pas de
problème, par contre avec Word 2007, il s'arrête au premier signet
qu'il ne trouve pas dans le document.
Même avec le On error... ?
--
A+
Oui, malheureusement cela bogue même avec le "On error resume next".
Je remercie Heureux-Oli pour sa solution que je garde au cas où, mais
étant donné que j'ai des centaines de lignes dans ce genre cela
risque, en plus d'être fastidieux à écrire, de ralentir pas mal
l'exécution de mon code (enfin j'imagine, je ne suis pas non plus une
experte)... Avant d'essayer, je vais me donner le temps de chercher
une autre solution..
Avec Word 2000 et le code << On error resume next >>, je n'ai pas de problème, par contre avec Word 2007, il s'arrête au premier signet qu'il ne trouve pas dans le document.
Même avec le On error... ?
-- A+
Oui, malheureusement cela bogue même avec le "On error resume next".
Je remercie Heureux-Oli pour sa solution que je garde au cas où, mais étant donné que j'ai des centaines de lignes dans ce genre cela risque, en plus d'être fastidieux à écrire, de ralentir pas mal l'exécution de mon code (enfin j'imagine, je ne suis pas non plus une experte)... Avant d'essayer, je vais me donner le temps de chercher une autre solution..
Si quelqu'un a une idée ... je suis preneur !
Encore merci !
Anacoluthe
Bonjour !
'nathoche' nous a écrit ...
Oui, malheureusement cela bogue même avec le "On error resume next".
Donc ça bogue à la compilation, pas à l'exécution : On Error... traite les erreurs d'exécution (comme l'erreur du signet qui n'existe pas), par contre si l'objet UserForm1 ou Texbox1 de votre code n'existe pas/plus ou n'est pas accessible ça plante exactement comme une faute de syntaxe à la compilation...
Cherchez encore, mais pas du côté des signets qui manquent. Tant que vous n'avez pas un code propre désactivez la ligne 'On Error Resume Next' qui vous gêne pour y voir clair au déboguage.
Anacoluthe « Aime la vérité, mais pardonne à l'erreur. » - VOLTAIRE
Bonjour !
'nathoche' nous a écrit ...
Oui, malheureusement cela bogue même avec le "On error resume next".
Donc ça bogue à la compilation, pas à l'exécution : On Error... traite les
erreurs d'exécution (comme l'erreur du signet qui n'existe pas), par contre
si l'objet UserForm1 ou Texbox1 de votre code n'existe pas/plus ou n'est pas
accessible ça plante exactement comme une faute de syntaxe à la compilation...
Cherchez encore, mais pas du côté des signets qui manquent.
Tant que vous n'avez pas un code propre désactivez la ligne
'On Error Resume Next' qui vous gêne pour y voir clair au déboguage.
Anacoluthe
« Aime la vérité, mais pardonne à l'erreur. »
- VOLTAIRE
Oui, malheureusement cela bogue même avec le "On error resume next".
Donc ça bogue à la compilation, pas à l'exécution : On Error... traite les erreurs d'exécution (comme l'erreur du signet qui n'existe pas), par contre si l'objet UserForm1 ou Texbox1 de votre code n'existe pas/plus ou n'est pas accessible ça plante exactement comme une faute de syntaxe à la compilation...
Cherchez encore, mais pas du côté des signets qui manquent. Tant que vous n'avez pas un code propre désactivez la ligne 'On Error Resume Next' qui vous gêne pour y voir clair au déboguage.
Anacoluthe « Aime la vérité, mais pardonne à l'erreur. » - VOLTAIRE
nathoche
On 8 jan, 12:51, Anacoluthe wrote:
Bonjour !
'nathoche' nous a écrit ...
Oui, malheureusement cela bogue même avec le "On error resume next".
Donc ça bogue à la compilation, pas à l'exécution : On Error... tr aite les erreurs d'exécution (comme l'erreur du signet qui n'existe pas), par con tre si l'objet UserForm1 ou Texbox1 de votre code n'existe pas/plus ou n'est p as accessible ça plante exactement comme une faute de syntaxe à la compil ation...
Cherchez encore, mais pas du côté des signets qui manquent. Tant que vous n'avez pas un code propre désactivez la ligne 'On Error Resume Next' qui vous gêne pour y voir clair au déboguage.
Anacoluthe « Aime la vérité, mais pardonne à l'erreur. » - VOLTAIRE
Merci pour le conseil, je me mets au travail !
On 8 jan, 12:51, Anacoluthe <nopub_anacolu...@Ouanadoo.fr> wrote:
Bonjour !
'nathoche' nous a écrit ...
Oui, malheureusement cela bogue même avec le "On error resume next".
Donc ça bogue à la compilation, pas à l'exécution : On Error... tr aite les
erreurs d'exécution (comme l'erreur du signet qui n'existe pas), par con tre
si l'objet UserForm1 ou Texbox1 de votre code n'existe pas/plus ou n'est p as
accessible ça plante exactement comme une faute de syntaxe à la compil ation...
Cherchez encore, mais pas du côté des signets qui manquent.
Tant que vous n'avez pas un code propre désactivez la ligne
'On Error Resume Next' qui vous gêne pour y voir clair au déboguage.
Anacoluthe
« Aime la vérité, mais pardonne à l'erreur. »
- VOLTAIRE
Oui, malheureusement cela bogue même avec le "On error resume next".
Donc ça bogue à la compilation, pas à l'exécution : On Error... tr aite les erreurs d'exécution (comme l'erreur du signet qui n'existe pas), par con tre si l'objet UserForm1 ou Texbox1 de votre code n'existe pas/plus ou n'est p as accessible ça plante exactement comme une faute de syntaxe à la compil ation...
Cherchez encore, mais pas du côté des signets qui manquent. Tant que vous n'avez pas un code propre désactivez la ligne 'On Error Resume Next' qui vous gêne pour y voir clair au déboguage.
Anacoluthe « Aime la vérité, mais pardonne à l'erreur. » - VOLTAIRE
Merci pour le conseil, je me mets au travail !
Geo
Avec Word 2000 et le code << On error resume next >>, je n'ai pas de problème, par contre avec Word 2007, il s'arrête au premier signet qu'il ne trouve pas dans le document.
Même avec le On error... ?
Oui, malheureusement cela bogue même avec le "On error resume next".
Comme on peut toujours avoir des doutes, je viens d'essayer votre bout de code, il fonctionne bien alors que je n'ai pas ces signets. Comme l'a écrit Anacoluthe, il faut chercher ailleurs. Regardez bien le texte mis en surbrillance quand l'erreur vous est signalée. En mode pas à pas, vous pouvez essayer sans le Resume Next et passer à la ligne suivante en déplaçant la flèche jaune dans la marge. Ca aide en général à mieux comprendre ce qui se passe.
-- A+
Avec Word 2000 et le code << On error resume next >>, je n'ai pas de
problème, par contre avec Word 2007, il s'arrête au premier signet
qu'il ne trouve pas dans le document.
Même avec le On error... ?
Oui, malheureusement cela bogue même avec le "On error resume next".
Comme on peut toujours avoir des doutes, je viens d'essayer votre bout
de code, il fonctionne bien alors que je n'ai pas ces signets.
Comme l'a écrit Anacoluthe, il faut chercher ailleurs.
Regardez bien le texte mis en surbrillance quand l'erreur vous est
signalée.
En mode pas à pas, vous pouvez essayer sans le Resume Next et passer à
la ligne suivante en déplaçant la flèche jaune dans la marge.
Ca aide en général à mieux comprendre ce qui se passe.
Avec Word 2000 et le code << On error resume next >>, je n'ai pas de problème, par contre avec Word 2007, il s'arrête au premier signet qu'il ne trouve pas dans le document.
Même avec le On error... ?
Oui, malheureusement cela bogue même avec le "On error resume next".
Comme on peut toujours avoir des doutes, je viens d'essayer votre bout de code, il fonctionne bien alors que je n'ai pas ces signets. Comme l'a écrit Anacoluthe, il faut chercher ailleurs. Regardez bien le texte mis en surbrillance quand l'erreur vous est signalée. En mode pas à pas, vous pouvez essayer sans le Resume Next et passer à la ligne suivante en déplaçant la flèche jaune dans la marge. Ca aide en général à mieux comprendre ce qui se passe.