Bonjour Joel,
J'ai lui la demande de Golf,
Je n'ai rien vu de ceci dans son message.
"sans oublier de détruire les lignes de commandes relatives à l'affichage
du formulaire"
Il pourrait cependant utiliser ceci pour lancer son formulaire, et si le
formulaire n'existe plus (Après sa
destruction), il n'aura aucun message d'erreur et le formulaire
n'apparaîtra pas et aucune ligne de code à supprimer.
Dim S As UserForm
On Error Resume Next
Set S = UserForm1
If Err = 0 Then
UserForm1.Show
Else
On Error GoTo 0
End If
Set S = Nothing
Et s'il désire détruire la procédure complète Workbook_Open de son projet,
il pourrait utiliser ceci :
En lançant cette ligne de code de la procédure de son choix :
SupprimerProcédure "Sub Workbook_Open", "ThisWorkBook"
à mettre dans un module standard
'----------------------------------
Sub SupprimerProcédure(SonNom As String, SonModule As String)
Dim Début As Integer, Fin As Integer
Dim A As Integer, B As Integer, Nb As Integer
Dim Comp As Object
With ThisWorkbook.VBProject.VBComponents _
(SonModule).CodeModule
Nb = .CountOfLines
For A = 1 To Nb
If InStr(1, .Lines(A, 1), SonNom, _
vbTextCompare) <> 0 Then
Début = A
For B = A + 1 To Nb
If InStr(1, .Lines(B, 1), "End Sub", _
vbTextCompare) <> 0 Then
Fin = B - Début + 1
Exit For
End If
Next
If Fin <> 0 Then
.DeleteLines Début, Fin
Exit Sub
End If
End If
Next
End With
End Sub
'----------------------------------
Salutations!
"Joel" a écrit dans le message de
news:ccbffp$9fp$
Bonjour Denis
... sans oublier de détruire les lignes de commandes relatives à
l'affichage
du formulaire, lors de l'ouverture du classeur ...
je suis certain que tu as une solution plus propre que la mienne pour ce
faire (je n'avais pas trouvé mieux !)
en toute amitié
;-)
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"michdenis" a écrit dans le message de
news:Bonjour Golf,
Tu peux utiliser une des 2 syntaxes :
'---------------------------------
Sub DétruireUserform()
ThisWorkbook.VBProject.VBComponents.Remove _
ThisWorkbook.VBProject.VBComponents("Userform1")
End Sub
'---------------------------------
OU si tu préfères cette syntaxe :
'---------------------------------
Sub DétruireUserform()
With ThisWorkbook.VBProject.VBComponents
.Remove .Item("Userform1")
End With
End Sub
'---------------------------------
Salutations!
"Golf" a écrit dans le message de
news:Bonsoir,
Je désire créer un message informatif dans un userform, à l'ouverture du
fichier.
Je souhaite mettre dessus le message suivant : "Ne plus afficher ce
message"avec une case à cocher. Je souhaite que si l'utilisateur coche la case à
cocher, puis
clic sur le bouton OK, cela détruit le userform.
Merci et bonne soirée.
Golf
Bonjour Joel,
J'ai lui la demande de Golf,
Je n'ai rien vu de ceci dans son message.
"sans oublier de détruire les lignes de commandes relatives à l'affichage
du formulaire"
Il pourrait cependant utiliser ceci pour lancer son formulaire, et si le
formulaire n'existe plus (Après sa
destruction), il n'aura aucun message d'erreur et le formulaire
n'apparaîtra pas et aucune ligne de code à supprimer.
Dim S As UserForm
On Error Resume Next
Set S = UserForm1
If Err = 0 Then
UserForm1.Show
Else
On Error GoTo 0
End If
Set S = Nothing
Et s'il désire détruire la procédure complète Workbook_Open de son projet,
il pourrait utiliser ceci :
En lançant cette ligne de code de la procédure de son choix :
SupprimerProcédure "Sub Workbook_Open", "ThisWorkBook"
à mettre dans un module standard
'----------------------------------
Sub SupprimerProcédure(SonNom As String, SonModule As String)
Dim Début As Integer, Fin As Integer
Dim A As Integer, B As Integer, Nb As Integer
Dim Comp As Object
With ThisWorkbook.VBProject.VBComponents _
(SonModule).CodeModule
Nb = .CountOfLines
For A = 1 To Nb
If InStr(1, .Lines(A, 1), SonNom, _
vbTextCompare) <> 0 Then
Début = A
For B = A + 1 To Nb
If InStr(1, .Lines(B, 1), "End Sub", _
vbTextCompare) <> 0 Then
Fin = B - Début + 1
Exit For
End If
Next
If Fin <> 0 Then
.DeleteLines Début, Fin
Exit Sub
End If
End If
Next
End With
End Sub
'----------------------------------
Salutations!
"Joel" <joel-garbe@wanadoo.fr> a écrit dans le message de
news:ccbffp$9fp$1@news-reader4.wanadoo.fr...
Bonjour Denis
... sans oublier de détruire les lignes de commandes relatives à
l'affichage
du formulaire, lors de l'ouverture du classeur ...
je suis certain que tu as une solution plus propre que la mienne pour ce
faire (je n'avais pas trouvé mieux !)
en toute amitié
;-)
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:ehu9GWoYEHA.3112@TK2MSFTNGP09.phx.gbl...
Bonjour Golf,
Tu peux utiliser une des 2 syntaxes :
'---------------------------------
Sub DétruireUserform()
ThisWorkbook.VBProject.VBComponents.Remove _
ThisWorkbook.VBProject.VBComponents("Userform1")
End Sub
'---------------------------------
OU si tu préfères cette syntaxe :
'---------------------------------
Sub DétruireUserform()
With ThisWorkbook.VBProject.VBComponents
.Remove .Item("Userform1")
End With
End Sub
'---------------------------------
Salutations!
"Golf" <golf@titi.fr> a écrit dans le message de
news:ePhAQYfYEHA.2544@TK2MSFTNGP10.phx.gbl...
Bonsoir,
Je désire créer un message informatif dans un userform, à l'ouverture du
fichier.
Je souhaite mettre dessus le message suivant : "Ne plus afficher ce
message"
avec une case à cocher. Je souhaite que si l'utilisateur coche la case à
cocher, puis
clic sur le bouton OK, cela détruit le userform.
Merci et bonne soirée.
Golf
Bonjour Joel,
J'ai lui la demande de Golf,
Je n'ai rien vu de ceci dans son message.
"sans oublier de détruire les lignes de commandes relatives à l'affichage
du formulaire"
Il pourrait cependant utiliser ceci pour lancer son formulaire, et si le
formulaire n'existe plus (Après sa
destruction), il n'aura aucun message d'erreur et le formulaire
n'apparaîtra pas et aucune ligne de code à supprimer.
Dim S As UserForm
On Error Resume Next
Set S = UserForm1
If Err = 0 Then
UserForm1.Show
Else
On Error GoTo 0
End If
Set S = Nothing
Et s'il désire détruire la procédure complète Workbook_Open de son projet,
il pourrait utiliser ceci :
En lançant cette ligne de code de la procédure de son choix :
SupprimerProcédure "Sub Workbook_Open", "ThisWorkBook"
à mettre dans un module standard
'----------------------------------
Sub SupprimerProcédure(SonNom As String, SonModule As String)
Dim Début As Integer, Fin As Integer
Dim A As Integer, B As Integer, Nb As Integer
Dim Comp As Object
With ThisWorkbook.VBProject.VBComponents _
(SonModule).CodeModule
Nb = .CountOfLines
For A = 1 To Nb
If InStr(1, .Lines(A, 1), SonNom, _
vbTextCompare) <> 0 Then
Début = A
For B = A + 1 To Nb
If InStr(1, .Lines(B, 1), "End Sub", _
vbTextCompare) <> 0 Then
Fin = B - Début + 1
Exit For
End If
Next
If Fin <> 0 Then
.DeleteLines Début, Fin
Exit Sub
End If
End If
Next
End With
End Sub
'----------------------------------
Salutations!
"Joel" a écrit dans le message de
news:ccbffp$9fp$
Bonjour Denis
... sans oublier de détruire les lignes de commandes relatives à
l'affichage
du formulaire, lors de l'ouverture du classeur ...
je suis certain que tu as une solution plus propre que la mienne pour ce
faire (je n'avais pas trouvé mieux !)
en toute amitié
;-)
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"michdenis" a écrit dans le message de
news:Bonjour Golf,
Tu peux utiliser une des 2 syntaxes :
'---------------------------------
Sub DétruireUserform()
ThisWorkbook.VBProject.VBComponents.Remove _
ThisWorkbook.VBProject.VBComponents("Userform1")
End Sub
'---------------------------------
OU si tu préfères cette syntaxe :
'---------------------------------
Sub DétruireUserform()
With ThisWorkbook.VBProject.VBComponents
.Remove .Item("Userform1")
End With
End Sub
'---------------------------------
Salutations!
"Golf" a écrit dans le message de
news:Bonsoir,
Je désire créer un message informatif dans un userform, à l'ouverture du
fichier.
Je souhaite mettre dessus le message suivant : "Ne plus afficher ce
message"avec une case à cocher. Je souhaite que si l'utilisateur coche la case à
cocher, puis
clic sur le bouton OK, cela détruit le userform.
Merci et bonne soirée.
Golf
Merci de la précision !
c'est top ;-)
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"michdenis" a écrit dans le message de
news:Bonjour Joel,
J'ai lui la demande de Golf,
Je n'ai rien vu de ceci dans son message.
"sans oublier de détruire les lignes de commandes relatives à
l'affichage
du formulaire"
Il pourrait cependant utiliser ceci pour lancer son formulaire, et si le
formulaire n'existe plus (Après sadestruction), il n'aura aucun message d'erreur et le formulaire
n'apparaîtra pas et aucune ligne de code à supprimer.
Dim S As UserForm
On Error Resume Next
Set S = UserForm1
If Err = 0 Then
UserForm1.Show
Else
On Error GoTo 0
End If
Set S = Nothing
Et s'il désire détruire la procédure complète Workbook_Open de son
projet,
il pourrait utiliser ceci :
En lançant cette ligne de code de la procédure de son choix :
SupprimerProcédure "Sub Workbook_Open", "ThisWorkBook"
à mettre dans un module standard
'----------------------------------
Sub SupprimerProcédure(SonNom As String, SonModule As String)
Dim Début As Integer, Fin As Integer
Dim A As Integer, B As Integer, Nb As Integer
Dim Comp As Object
With ThisWorkbook.VBProject.VBComponents _
(SonModule).CodeModule
Nb = .CountOfLines
For A = 1 To Nb
If InStr(1, .Lines(A, 1), SonNom, _
vbTextCompare) <> 0 Then
Début = A
For B = A + 1 To Nb
If InStr(1, .Lines(B, 1), "End Sub", _
vbTextCompare) <> 0 Then
Fin = B - Début + 1
Exit For
End If
Next
If Fin <> 0 Then
.DeleteLines Début, Fin
Exit Sub
End If
End If
Next
End With
End Sub
'----------------------------------
Salutations!
"Joel" a écrit dans le message de
news:ccbffp$9fp$Bonjour Denis
... sans oublier de détruire les lignes de commandes relatives à
l'affichagedu formulaire, lors de l'ouverture du classeur ...
je suis certain que tu as une solution plus propre que la mienne pour ce
faire (je n'avais pas trouvé mieux !)
en toute amitié
;-)
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"michdenis" a écrit dans le message de
news:Bonjour Golf,
Tu peux utiliser une des 2 syntaxes :
'---------------------------------
Sub DétruireUserform()
ThisWorkbook.VBProject.VBComponents.Remove _
ThisWorkbook.VBProject.VBComponents("Userform1")
End Sub
'---------------------------------
OU si tu préfères cette syntaxe :
'---------------------------------
Sub DétruireUserform()
With ThisWorkbook.VBProject.VBComponents
.Remove .Item("Userform1")
End With
End Sub
'---------------------------------
Salutations!
"Golf" a écrit dans le message de
news:Bonsoir,
Je désire créer un message informatif dans un userform, à l'ouverture
du
fichier.
Je souhaite mettre dessus le message suivant : "Ne plus afficher ce
message"avec une case à cocher. Je souhaite que si l'utilisateur coche la case
à
cocher, puis
clic sur le bouton OK, cela détruit le userform.
Merci et bonne soirée.
Golf
Merci de la précision !
c'est top ;-)
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:OrMSJmoYEHA.2016@TK2MSFTNGP09.phx.gbl...
Bonjour Joel,
J'ai lui la demande de Golf,
Je n'ai rien vu de ceci dans son message.
"sans oublier de détruire les lignes de commandes relatives à
l'affichage
du formulaire"
Il pourrait cependant utiliser ceci pour lancer son formulaire, et si le
formulaire n'existe plus (Après sa
destruction), il n'aura aucun message d'erreur et le formulaire
n'apparaîtra pas et aucune ligne de code à supprimer.
Dim S As UserForm
On Error Resume Next
Set S = UserForm1
If Err = 0 Then
UserForm1.Show
Else
On Error GoTo 0
End If
Set S = Nothing
Et s'il désire détruire la procédure complète Workbook_Open de son
projet,
il pourrait utiliser ceci :
En lançant cette ligne de code de la procédure de son choix :
SupprimerProcédure "Sub Workbook_Open", "ThisWorkBook"
à mettre dans un module standard
'----------------------------------
Sub SupprimerProcédure(SonNom As String, SonModule As String)
Dim Début As Integer, Fin As Integer
Dim A As Integer, B As Integer, Nb As Integer
Dim Comp As Object
With ThisWorkbook.VBProject.VBComponents _
(SonModule).CodeModule
Nb = .CountOfLines
For A = 1 To Nb
If InStr(1, .Lines(A, 1), SonNom, _
vbTextCompare) <> 0 Then
Début = A
For B = A + 1 To Nb
If InStr(1, .Lines(B, 1), "End Sub", _
vbTextCompare) <> 0 Then
Fin = B - Début + 1
Exit For
End If
Next
If Fin <> 0 Then
.DeleteLines Début, Fin
Exit Sub
End If
End If
Next
End With
End Sub
'----------------------------------
Salutations!
"Joel" <joel-garbe@wanadoo.fr> a écrit dans le message de
news:ccbffp$9fp$1@news-reader4.wanadoo.fr...
Bonjour Denis
... sans oublier de détruire les lignes de commandes relatives à
l'affichage
du formulaire, lors de l'ouverture du classeur ...
je suis certain que tu as une solution plus propre que la mienne pour ce
faire (je n'avais pas trouvé mieux !)
en toute amitié
;-)
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:ehu9GWoYEHA.3112@TK2MSFTNGP09.phx.gbl...
Bonjour Golf,
Tu peux utiliser une des 2 syntaxes :
'---------------------------------
Sub DétruireUserform()
ThisWorkbook.VBProject.VBComponents.Remove _
ThisWorkbook.VBProject.VBComponents("Userform1")
End Sub
'---------------------------------
OU si tu préfères cette syntaxe :
'---------------------------------
Sub DétruireUserform()
With ThisWorkbook.VBProject.VBComponents
.Remove .Item("Userform1")
End With
End Sub
'---------------------------------
Salutations!
"Golf" <golf@titi.fr> a écrit dans le message de
news:ePhAQYfYEHA.2544@TK2MSFTNGP10.phx.gbl...
Bonsoir,
Je désire créer un message informatif dans un userform, à l'ouverture
du
fichier.
Je souhaite mettre dessus le message suivant : "Ne plus afficher ce
message"
avec une case à cocher. Je souhaite que si l'utilisateur coche la case
à
cocher, puis
clic sur le bouton OK, cela détruit le userform.
Merci et bonne soirée.
Golf
Merci de la précision !
c'est top ;-)
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"michdenis" a écrit dans le message de
news:Bonjour Joel,
J'ai lui la demande de Golf,
Je n'ai rien vu de ceci dans son message.
"sans oublier de détruire les lignes de commandes relatives à
l'affichage
du formulaire"
Il pourrait cependant utiliser ceci pour lancer son formulaire, et si le
formulaire n'existe plus (Après sadestruction), il n'aura aucun message d'erreur et le formulaire
n'apparaîtra pas et aucune ligne de code à supprimer.
Dim S As UserForm
On Error Resume Next
Set S = UserForm1
If Err = 0 Then
UserForm1.Show
Else
On Error GoTo 0
End If
Set S = Nothing
Et s'il désire détruire la procédure complète Workbook_Open de son
projet,
il pourrait utiliser ceci :
En lançant cette ligne de code de la procédure de son choix :
SupprimerProcédure "Sub Workbook_Open", "ThisWorkBook"
à mettre dans un module standard
'----------------------------------
Sub SupprimerProcédure(SonNom As String, SonModule As String)
Dim Début As Integer, Fin As Integer
Dim A As Integer, B As Integer, Nb As Integer
Dim Comp As Object
With ThisWorkbook.VBProject.VBComponents _
(SonModule).CodeModule
Nb = .CountOfLines
For A = 1 To Nb
If InStr(1, .Lines(A, 1), SonNom, _
vbTextCompare) <> 0 Then
Début = A
For B = A + 1 To Nb
If InStr(1, .Lines(B, 1), "End Sub", _
vbTextCompare) <> 0 Then
Fin = B - Début + 1
Exit For
End If
Next
If Fin <> 0 Then
.DeleteLines Début, Fin
Exit Sub
End If
End If
Next
End With
End Sub
'----------------------------------
Salutations!
"Joel" a écrit dans le message de
news:ccbffp$9fp$Bonjour Denis
... sans oublier de détruire les lignes de commandes relatives à
l'affichagedu formulaire, lors de l'ouverture du classeur ...
je suis certain que tu as une solution plus propre que la mienne pour ce
faire (je n'avais pas trouvé mieux !)
en toute amitié
;-)
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"michdenis" a écrit dans le message de
news:Bonjour Golf,
Tu peux utiliser une des 2 syntaxes :
'---------------------------------
Sub DétruireUserform()
ThisWorkbook.VBProject.VBComponents.Remove _
ThisWorkbook.VBProject.VBComponents("Userform1")
End Sub
'---------------------------------
OU si tu préfères cette syntaxe :
'---------------------------------
Sub DétruireUserform()
With ThisWorkbook.VBProject.VBComponents
.Remove .Item("Userform1")
End With
End Sub
'---------------------------------
Salutations!
"Golf" a écrit dans le message de
news:Bonsoir,
Je désire créer un message informatif dans un userform, à l'ouverture
du
fichier.
Je souhaite mettre dessus le message suivant : "Ne plus afficher ce
message"avec une case à cocher. Je souhaite que si l'utilisateur coche la case
à
cocher, puis
clic sur le bouton OK, cela détruit le userform.
Merci et bonne soirée.
Golf
c'est tout ce que j'ai pu trouver !!!! il va sans dire LOL
;-)
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"Joel" a écrit dans le message de
news:ccb7ed$qt5$Bonjour Golf !
Merci pour les remarques sympas....
J'ai donc fait un effort supplémentaire ...
dans le module "Special"
Option Explicit
Public UsForm As Object 'AfficherFormulaire
Sub Auto_Open()
AfficherFormulaire
End Sub
Sub AfficherFormulaire()
UFInfo.Show 'AfficherFormulaire
If UFInfo.ChkSupp Then 'AfficherFormulaire
Set UsForm = ActiveWorkbook.VBProject.VBComponents("UFInfo")
'AfficherFormulaire
ActiveWorkbook.VBProject.VBComponents.Remove UsForm
'AfficherFormulaireEnd If 'AfficherFormulaire
End Sub 'AfficherFormulaire
et dans le module privé du formulaire :
Option Explicit
Private Sub CmBOK_Click()
Dim i As Long
If Me.ChkSupp Then
With ActiveWorkbook.VBProject.VBComponents("Special").CodeModule
For i = .CountOfLines To 1 Step -1
If InStr(1, .Lines(i, i), "AfficherFormulaire") > 0 Then
.DeleteLines i
End If
Next
End With
End If
Me.Hide
End Sub
c'est tout ce que j'ai pu trouvé !!!!
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"Golf" a écrit dans le message de
news:2650401c46268$7e9b8a20$
Bonjour
Merci pour cette proc très sympa.
En fait je souhaite détruire le userfom, et non le cacher.
Merci quand même.
P.S. Ton site est lui aussi très sympa.
Golf-----Message d'origine-----
J'avais oublié de préciser que la case à cocher a été
nommée : "ChkSupp"
mais tout le monde l'avais compris
;-)
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"Joel" a écrit dans le message de
news:cc9m0s$f8r$Bonsoir,
voici quelquechose qui devrait répondre, de façon
détournée à la demande :Hypothèse :
Code du module "Special" :
Sub Auto_Open()
AfficherFormulaire
End Sub
Sub AfficherFormulaire()
UFInfo.Show
End Sub
à placer dans le module privé du Formulaire
(nommé "UFInfo"), code duboutonde commande "OK" :,
en supposant que la commande qui permet d'afficher le
formulaire se trouvedans le module "Special"
Private Sub CmBOK_Click()
Dim i As Long
If Me.ChkSupp Then
With ActiveWorkbook.VBProject.VBComponents
("Special").CodeModuleFor i = .CountOfLines To 1 Step -1
If InStr(1, .Lines(i, i), "UFInfo.Show") > 0 Then
.DeleteLines i
End If
Next
End With
End If
Me.Hide
End Sub
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"Golf" a écrit dans le message de
news:Bonsoir,
Je désire créer un message informatif dans un
userform, à l'ouverture dufichier.
Je souhaite mettre dessus le message suivant : "Ne
plus afficher cemessage"avec une case à cocher. Je souhaite que si
l'utilisateur coche la case àcocher, puis
clic sur le bouton OK, cela détruit le userform.
Merci et bonne soirée.
Golf
.
c'est tout ce que j'ai pu trouver !!!! il va sans dire LOL
;-)
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"Joel" <joel-garbe@wanadoo.fr> a écrit dans le message de
news:ccb7ed$qt5$1@news-reader1.wanadoo.fr...
Bonjour Golf !
Merci pour les remarques sympas....
J'ai donc fait un effort supplémentaire ...
dans le module "Special"
Option Explicit
Public UsForm As Object 'AfficherFormulaire
Sub Auto_Open()
AfficherFormulaire
End Sub
Sub AfficherFormulaire()
UFInfo.Show 'AfficherFormulaire
If UFInfo.ChkSupp Then 'AfficherFormulaire
Set UsForm = ActiveWorkbook.VBProject.VBComponents("UFInfo")
'AfficherFormulaire
ActiveWorkbook.VBProject.VBComponents.Remove UsForm
'AfficherFormulaire
End If 'AfficherFormulaire
End Sub 'AfficherFormulaire
et dans le module privé du formulaire :
Option Explicit
Private Sub CmBOK_Click()
Dim i As Long
If Me.ChkSupp Then
With ActiveWorkbook.VBProject.VBComponents("Special").CodeModule
For i = .CountOfLines To 1 Step -1
If InStr(1, .Lines(i, i), "AfficherFormulaire") > 0 Then
.DeleteLines i
End If
Next
End With
End If
Me.Hide
End Sub
c'est tout ce que j'ai pu trouvé !!!!
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"Golf" <golf@titi.fr> a écrit dans le message de
news:2650401c46268$7e9b8a20$a401280a@phx.gbl...
Bonjour
Merci pour cette proc très sympa.
En fait je souhaite détruire le userfom, et non le cacher.
Merci quand même.
P.S. Ton site est lui aussi très sympa.
Golf
-----Message d'origine-----
J'avais oublié de préciser que la case à cocher a été
nommée : "ChkSupp"
mais tout le monde l'avais compris
;-)
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"Joel" <joel-garbe@wanadoo.fr> a écrit dans le message de
news:cc9m0s$f8r$1@news-reader3.wanadoo.fr...
Bonsoir,
voici quelquechose qui devrait répondre, de façon
détournée à la demande :
Hypothèse :
Code du module "Special" :
Sub Auto_Open()
AfficherFormulaire
End Sub
Sub AfficherFormulaire()
UFInfo.Show
End Sub
à placer dans le module privé du Formulaire
(nommé "UFInfo"), code du
bouton
de commande "OK" :,
en supposant que la commande qui permet d'afficher le
formulaire se trouve
dans le module "Special"
Private Sub CmBOK_Click()
Dim i As Long
If Me.ChkSupp Then
With ActiveWorkbook.VBProject.VBComponents
("Special").CodeModule
For i = .CountOfLines To 1 Step -1
If InStr(1, .Lines(i, i), "UFInfo.Show") > 0 Then
.DeleteLines i
End If
Next
End With
End If
Me.Hide
End Sub
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"Golf" <golf@titi.fr> a écrit dans le message de
news:ePhAQYfYEHA.2544@TK2MSFTNGP10.phx.gbl...
Bonsoir,
Je désire créer un message informatif dans un
userform, à l'ouverture du
fichier.
Je souhaite mettre dessus le message suivant : "Ne
plus afficher ce
message"
avec une case à cocher. Je souhaite que si
l'utilisateur coche la case à
cocher, puis
clic sur le bouton OK, cela détruit le userform.
Merci et bonne soirée.
Golf
.
c'est tout ce que j'ai pu trouver !!!! il va sans dire LOL
;-)
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"Joel" a écrit dans le message de
news:ccb7ed$qt5$Bonjour Golf !
Merci pour les remarques sympas....
J'ai donc fait un effort supplémentaire ...
dans le module "Special"
Option Explicit
Public UsForm As Object 'AfficherFormulaire
Sub Auto_Open()
AfficherFormulaire
End Sub
Sub AfficherFormulaire()
UFInfo.Show 'AfficherFormulaire
If UFInfo.ChkSupp Then 'AfficherFormulaire
Set UsForm = ActiveWorkbook.VBProject.VBComponents("UFInfo")
'AfficherFormulaire
ActiveWorkbook.VBProject.VBComponents.Remove UsForm
'AfficherFormulaireEnd If 'AfficherFormulaire
End Sub 'AfficherFormulaire
et dans le module privé du formulaire :
Option Explicit
Private Sub CmBOK_Click()
Dim i As Long
If Me.ChkSupp Then
With ActiveWorkbook.VBProject.VBComponents("Special").CodeModule
For i = .CountOfLines To 1 Step -1
If InStr(1, .Lines(i, i), "AfficherFormulaire") > 0 Then
.DeleteLines i
End If
Next
End With
End If
Me.Hide
End Sub
c'est tout ce que j'ai pu trouvé !!!!
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"Golf" a écrit dans le message de
news:2650401c46268$7e9b8a20$
Bonjour
Merci pour cette proc très sympa.
En fait je souhaite détruire le userfom, et non le cacher.
Merci quand même.
P.S. Ton site est lui aussi très sympa.
Golf-----Message d'origine-----
J'avais oublié de préciser que la case à cocher a été
nommée : "ChkSupp"
mais tout le monde l'avais compris
;-)
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"Joel" a écrit dans le message de
news:cc9m0s$f8r$Bonsoir,
voici quelquechose qui devrait répondre, de façon
détournée à la demande :Hypothèse :
Code du module "Special" :
Sub Auto_Open()
AfficherFormulaire
End Sub
Sub AfficherFormulaire()
UFInfo.Show
End Sub
à placer dans le module privé du Formulaire
(nommé "UFInfo"), code duboutonde commande "OK" :,
en supposant que la commande qui permet d'afficher le
formulaire se trouvedans le module "Special"
Private Sub CmBOK_Click()
Dim i As Long
If Me.ChkSupp Then
With ActiveWorkbook.VBProject.VBComponents
("Special").CodeModuleFor i = .CountOfLines To 1 Step -1
If InStr(1, .Lines(i, i), "UFInfo.Show") > 0 Then
.DeleteLines i
End If
Next
End With
End If
Me.Hide
End Sub
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"Golf" a écrit dans le message de
news:Bonsoir,
Je désire créer un message informatif dans un
userform, à l'ouverture dufichier.
Je souhaite mettre dessus le message suivant : "Ne
plus afficher cemessage"avec une case à cocher. Je souhaite que si
l'utilisateur coche la case àcocher, puis
clic sur le bouton OK, cela détruit le userform.
Merci et bonne soirée.
Golf
.