J'ai écrit la macro suivante [grâce à vos conseils] pour masquer une section.
Dans la macro je demande à l'utilisateur le n° de section qu'il souhaite
masquer.
Si l'utilisateur entre un n° de section inexistant, je souhaite le lui
indiquer par un message d'erreur, mais il semble que ma fonction de
comparaison entre le nombre entré par l'utilisateur et le nombre maxi de
sections ne fonctionne pas.
Pouvez-vous m'aider ?
Merci
Jean-Paul
Sub MasquageSection()
MessageMasquage = MsgBox("Les sections masquées seront toujours visibles à
l'écran mais ne seront pas imprimées", vbOKOnly, "MMMMMM")
NombreSection = ActiveDocument.Sections.Count
ActiveDocument.Unprotect Password:="xxxxx"
Numsectionmasquage = InputBox(Prompt:="Indiquer le numéro de section à
masquer - le numéro est indiqué en haut et à droite de la page - une seule
section à la fois")
Dim Resultat
Resultat = Numsectionmasquage > NombreSection
If Resultat = True Then
ActiveDocument.Protect Type:=wdAllowOnlyFormFields, NoReset:=True,
Password:="xxxxx"
SortieMacro = MsgBox("Section inexistante")
Exit Sub
End If
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
AB
Bonjour Jean Paul, Je pense que le problème vient du fait que la valeur retournée par InputBox est une chaîne. Transforme-la en valeur numérique avec l'instruction Val Ca devrait marcher. AB
"jepac" a écrit dans le message de news:
Bonsoir,
J'ai écrit la macro suivante [grâce à vos conseils] pour masquer une section. Dans la macro je demande à l'utilisateur le n° de section qu'il souhaite masquer. Si l'utilisateur entre un n° de section inexistant, je souhaite le lui indiquer par un message d'erreur, mais il semble que ma fonction de comparaison entre le nombre entré par l'utilisateur et le nombre maxi de sections ne fonctionne pas.
Pouvez-vous m'aider ? Merci Jean-Paul
Sub MasquageSection() MessageMasquage = MsgBox("Les sections masquées seront toujours visibles à l'écran mais ne seront pas imprimées", vbOKOnly, "MMMMMM") NombreSection = ActiveDocument.Sections.Count ActiveDocument.Unprotect Password:="xxxxx" Numsectionmasquage = InputBox(Prompt:="Indiquer le numéro de section à masquer - le numéro est indiqué en haut et à droite de la page - une seule section à la fois") Dim Resultat Resultat = Numsectionmasquage > NombreSection If Resultat = True Then ActiveDocument.Protect Type:=wdAllowOnlyFormFields, NoReset:=True, Password:="xxxxx" SortieMacro = MsgBox("Section inexistante") Exit Sub End If
Bonjour Jean Paul,
Je pense que le problème vient du fait que la valeur retournée par InputBox
est une chaîne. Transforme-la en valeur numérique avec l'instruction Val
Ca devrait marcher.
AB
"jepac" <jepac@discussions.microsoft.com> a écrit dans le message de news:
A8586B48-0F4D-406C-83A4-BC8F0967CD2D@microsoft.com...
Bonsoir,
J'ai écrit la macro suivante [grâce à vos conseils] pour masquer une
section.
Dans la macro je demande à l'utilisateur le n° de section qu'il souhaite
masquer.
Si l'utilisateur entre un n° de section inexistant, je souhaite le lui
indiquer par un message d'erreur, mais il semble que ma fonction de
comparaison entre le nombre entré par l'utilisateur et le nombre maxi de
sections ne fonctionne pas.
Pouvez-vous m'aider ?
Merci
Jean-Paul
Sub MasquageSection()
MessageMasquage = MsgBox("Les sections masquées seront toujours visibles à
l'écran mais ne seront pas imprimées", vbOKOnly, "MMMMMM")
NombreSection = ActiveDocument.Sections.Count
ActiveDocument.Unprotect Password:="xxxxx"
Numsectionmasquage = InputBox(Prompt:="Indiquer le numéro de section à
masquer - le numéro est indiqué en haut et à droite de la page - une seule
section à la fois")
Dim Resultat
Resultat = Numsectionmasquage > NombreSection
If Resultat = True Then
ActiveDocument.Protect Type:=wdAllowOnlyFormFields, NoReset:=True,
Password:="xxxxx"
SortieMacro = MsgBox("Section inexistante")
Exit Sub
End If
Bonjour Jean Paul, Je pense que le problème vient du fait que la valeur retournée par InputBox est une chaîne. Transforme-la en valeur numérique avec l'instruction Val Ca devrait marcher. AB
"jepac" a écrit dans le message de news:
Bonsoir,
J'ai écrit la macro suivante [grâce à vos conseils] pour masquer une section. Dans la macro je demande à l'utilisateur le n° de section qu'il souhaite masquer. Si l'utilisateur entre un n° de section inexistant, je souhaite le lui indiquer par un message d'erreur, mais il semble que ma fonction de comparaison entre le nombre entré par l'utilisateur et le nombre maxi de sections ne fonctionne pas.
Pouvez-vous m'aider ? Merci Jean-Paul
Sub MasquageSection() MessageMasquage = MsgBox("Les sections masquées seront toujours visibles à l'écran mais ne seront pas imprimées", vbOKOnly, "MMMMMM") NombreSection = ActiveDocument.Sections.Count ActiveDocument.Unprotect Password:="xxxxx" Numsectionmasquage = InputBox(Prompt:="Indiquer le numéro de section à masquer - le numéro est indiqué en haut et à droite de la page - une seule section à la fois") Dim Resultat Resultat = Numsectionmasquage > NombreSection If Resultat = True Then ActiveDocument.Protect Type:=wdAllowOnlyFormFields, NoReset:=True, Password:="xxxxx" SortieMacro = MsgBox("Section inexistante") Exit Sub End If
J'ai oublié : Ces lignes me semblent superfétatoires : Dim Resultat
Resultat = Numsectionmasquage > NombreSection If Resultat = True Then
Je préfère : If Numsectionmasquage > NombreSection Then etc.... à condition que Numsectionmasquage soit une valeur numérique
AB
"jepac" a écrit dans le message de news:
Bonsoir,
J'ai écrit la macro suivante [grâce à vos conseils] pour masquer une section. Dans la macro je demande à l'utilisateur le n° de section qu'il souhaite masquer. Si l'utilisateur entre un n° de section inexistant, je souhaite le lui indiquer par un message d'erreur, mais il semble que ma fonction de comparaison entre le nombre entré par l'utilisateur et le nombre maxi de sections ne fonctionne pas.
Pouvez-vous m'aider ? Merci Jean-Paul
Sub MasquageSection() MessageMasquage = MsgBox("Les sections masquées seront toujours visibles à l'écran mais ne seront pas imprimées", vbOKOnly, "MMMMMM") NombreSection = ActiveDocument.Sections.Count ActiveDocument.Unprotect Password:="xxxxx" Numsectionmasquage = InputBox(Prompt:="Indiquer le numéro de section à masquer - le numéro est indiqué en haut et à droite de la page - une seule section à la fois") Dim Resultat Resultat = Numsectionmasquage > NombreSection If Resultat = True Then ActiveDocument.Protect Type:=wdAllowOnlyFormFields, NoReset:=True, Password:="xxxxx" SortieMacro = MsgBox("Section inexistante") Exit Sub End If
J'ai oublié :
Ces lignes me semblent superfétatoires :
Dim Resultat
Resultat = Numsectionmasquage > NombreSection
If Resultat = True Then
Je préfère :
If Numsectionmasquage > NombreSection Then etc....
à condition que Numsectionmasquage soit une valeur numérique
AB
"jepac" <jepac@discussions.microsoft.com> a écrit dans le message de news:
A8586B48-0F4D-406C-83A4-BC8F0967CD2D@microsoft.com...
Bonsoir,
J'ai écrit la macro suivante [grâce à vos conseils] pour masquer une
section.
Dans la macro je demande à l'utilisateur le n° de section qu'il souhaite
masquer.
Si l'utilisateur entre un n° de section inexistant, je souhaite le lui
indiquer par un message d'erreur, mais il semble que ma fonction de
comparaison entre le nombre entré par l'utilisateur et le nombre maxi de
sections ne fonctionne pas.
Pouvez-vous m'aider ?
Merci
Jean-Paul
Sub MasquageSection()
MessageMasquage = MsgBox("Les sections masquées seront toujours visibles à
l'écran mais ne seront pas imprimées", vbOKOnly, "MMMMMM")
NombreSection = ActiveDocument.Sections.Count
ActiveDocument.Unprotect Password:="xxxxx"
Numsectionmasquage = InputBox(Prompt:="Indiquer le numéro de section à
masquer - le numéro est indiqué en haut et à droite de la page - une seule
section à la fois")
Dim Resultat
Resultat = Numsectionmasquage > NombreSection
If Resultat = True Then
ActiveDocument.Protect Type:=wdAllowOnlyFormFields, NoReset:=True,
Password:="xxxxx"
SortieMacro = MsgBox("Section inexistante")
Exit Sub
End If
J'ai oublié : Ces lignes me semblent superfétatoires : Dim Resultat
Resultat = Numsectionmasquage > NombreSection If Resultat = True Then
Je préfère : If Numsectionmasquage > NombreSection Then etc.... à condition que Numsectionmasquage soit une valeur numérique
AB
"jepac" a écrit dans le message de news:
Bonsoir,
J'ai écrit la macro suivante [grâce à vos conseils] pour masquer une section. Dans la macro je demande à l'utilisateur le n° de section qu'il souhaite masquer. Si l'utilisateur entre un n° de section inexistant, je souhaite le lui indiquer par un message d'erreur, mais il semble que ma fonction de comparaison entre le nombre entré par l'utilisateur et le nombre maxi de sections ne fonctionne pas.
Pouvez-vous m'aider ? Merci Jean-Paul
Sub MasquageSection() MessageMasquage = MsgBox("Les sections masquées seront toujours visibles à l'écran mais ne seront pas imprimées", vbOKOnly, "MMMMMM") NombreSection = ActiveDocument.Sections.Count ActiveDocument.Unprotect Password:="xxxxx" Numsectionmasquage = InputBox(Prompt:="Indiquer le numéro de section à masquer - le numéro est indiqué en haut et à droite de la page - une seule section à la fois") Dim Resultat Resultat = Numsectionmasquage > NombreSection If Resultat = True Then ActiveDocument.Protect Type:=wdAllowOnlyFormFields, NoReset:=True, Password:="xxxxx" SortieMacro = MsgBox("Section inexistante") Exit Sub End If
NombreSection = ActiveDocument.Sections.Count Numsectionmasquage = InputBox(Prompt:="Indiquer le numéro de section") Dim Resultat Resultat = Numsectionmasquage > NombreSection If Resultat = True Then
InputBox renvoie une variable chaîne... (l'utilisateur entre le texte qu'il veut, pas forcément un nombre)
Écrivez plutôt Numsectionmasquage = Val(InputBox(Prompt:="Indiquer le numéro de section...")) pour que Numsectionmasquage soit numérique. Si l'entrée n'est pas numérique cette variable prendra la valeur zéro.
Complétez votre test de validité de la variable Numsectionmasquage : If Numsectionmasquage < 1 OR Numsectionmasquage > NombreSection Then
Anacoluthe « Les nombres gouvernent le monde. » - PYTHAGORE
Bonjour !
'jepac' nous a écrit ...
NombreSection = ActiveDocument.Sections.Count
Numsectionmasquage = InputBox(Prompt:="Indiquer le numéro de section")
Dim Resultat
Resultat = Numsectionmasquage > NombreSection
If Resultat = True Then
InputBox renvoie une variable chaîne...
(l'utilisateur entre le texte qu'il veut, pas forcément un nombre)
Écrivez plutôt
Numsectionmasquage = Val(InputBox(Prompt:="Indiquer le numéro de section..."))
pour que Numsectionmasquage soit numérique. Si l'entrée n'est pas
numérique cette variable prendra la valeur zéro.
Complétez votre test de validité de la variable Numsectionmasquage :
If Numsectionmasquage < 1 OR Numsectionmasquage > NombreSection Then
Anacoluthe
« Les nombres gouvernent le monde. »
- PYTHAGORE
NombreSection = ActiveDocument.Sections.Count Numsectionmasquage = InputBox(Prompt:="Indiquer le numéro de section") Dim Resultat Resultat = Numsectionmasquage > NombreSection If Resultat = True Then
InputBox renvoie une variable chaîne... (l'utilisateur entre le texte qu'il veut, pas forcément un nombre)
Écrivez plutôt Numsectionmasquage = Val(InputBox(Prompt:="Indiquer le numéro de section...")) pour que Numsectionmasquage soit numérique. Si l'entrée n'est pas numérique cette variable prendra la valeur zéro.
Complétez votre test de validité de la variable Numsectionmasquage : If Numsectionmasquage < 1 OR Numsectionmasquage > NombreSection Then
Anacoluthe « Les nombres gouvernent le monde. » - PYTHAGORE
Anacoluthe
Bonjour !
'AB' nous a écrit ...
Ces lignes me semblent superfétatoires
Oupsss ! Pas lu tes réponses André Mais ça fait plaisir d'être d'accord ;-)
A+ A~
Bonjour !
'AB' nous a écrit ...
Ces lignes me semblent superfétatoires
Oupsss ! Pas lu tes réponses André
Mais ça fait plaisir d'être d'accord ;-)
Oupsss ! Pas lu tes réponses André Mais ça fait plaisir d'être d'accord ;-)
A+ A~
jepac
Bonjour !
'jepac' nous a écrit ...
NombreSection = ActiveDocument.Sections.Count Numsectionmasquage = InputBox(Prompt:="Indiquer le numéro de section") Dim Resultat Resultat = Numsectionmasquage > NombreSection If Resultat = True Then
InputBox renvoie une variable chaîne... (l'utilisateur entre le texte qu'il veut, pas forcément un nombre)
Écrivez plutôt Numsectionmasquage = Val(InputBox(Prompt:="Indiquer le numéro de section...")) pour que Numsectionmasquage soit numérique. Si l'entrée n'est pas numérique cette variable prendra la valeur zéro.
Complétez votre test de validité de la variable Numsectionmasquage : If Numsectionmasquage < 1 OR Numsectionmasquage > NombreSection Then
Anacoluthe « Les nombres gouvernent le monde. » - PYTHAGORE
Merci à tous
Jean-Paul
Bonjour !
'jepac' nous a écrit ...
NombreSection = ActiveDocument.Sections.Count
Numsectionmasquage = InputBox(Prompt:="Indiquer le numéro de section")
Dim Resultat
Resultat = Numsectionmasquage > NombreSection
If Resultat = True Then
InputBox renvoie une variable chaîne...
(l'utilisateur entre le texte qu'il veut, pas forcément un nombre)
Écrivez plutôt
Numsectionmasquage = Val(InputBox(Prompt:="Indiquer le numéro de section..."))
pour que Numsectionmasquage soit numérique. Si l'entrée n'est pas
numérique cette variable prendra la valeur zéro.
Complétez votre test de validité de la variable Numsectionmasquage :
If Numsectionmasquage < 1 OR Numsectionmasquage > NombreSection Then
Anacoluthe
« Les nombres gouvernent le monde. »
- PYTHAGORE
NombreSection = ActiveDocument.Sections.Count Numsectionmasquage = InputBox(Prompt:="Indiquer le numéro de section") Dim Resultat Resultat = Numsectionmasquage > NombreSection If Resultat = True Then
InputBox renvoie une variable chaîne... (l'utilisateur entre le texte qu'il veut, pas forcément un nombre)
Écrivez plutôt Numsectionmasquage = Val(InputBox(Prompt:="Indiquer le numéro de section...")) pour que Numsectionmasquage soit numérique. Si l'entrée n'est pas numérique cette variable prendra la valeur zéro.
Complétez votre test de validité de la variable Numsectionmasquage : If Numsectionmasquage < 1 OR Numsectionmasquage > NombreSection Then
Anacoluthe « Les nombres gouvernent le monde. » - PYTHAGORE
Merci à tous
Jean-Paul
AB
Hello ! C'est surtout à moi, que ça fait plaisir ! Tu connais mon niveau en VBA... A+ André
"Anacoluthe" a écrit dans le message de news:
Bonjour !
'AB' nous a écrit ...
Ces lignes me semblent superfétatoires
Oupsss ! Pas lu tes réponses André Mais ça fait plaisir d'être d'accord ;-)
A+ A~
Hello !
C'est surtout à moi, que ça fait plaisir !
Tu connais mon niveau en VBA...
A+
André
"Anacoluthe" <nopub_anacoluthe@Ouanadoo.fr> a écrit dans le message de news:
OZvuR9VJIHA.4228@TK2MSFTNGP02.phx.gbl...
Bonjour !
'AB' nous a écrit ...
Ces lignes me semblent superfétatoires
Oupsss ! Pas lu tes réponses André
Mais ça fait plaisir d'être d'accord ;-)