excel/vba probleme de message (microsoft forms)

excel/vba probleme de message (microsoft forms) - VB/VBA/VBS - Programmation

Marsh Posté le 09-09-2007 à 08:40:27    

voila j ai mis sur un textbox dans les proprietes (controlsource une cellule L20) et aussi dans une fonction j ecris dans une autre cellule d'une autre feuille tous cela marche tres bien
 
mais j ai proteger la feuille que renvoie le controlesource et quand je veux changer la valeur dans la textbox que ca renvoie ca me marque une message d'erreur que je n 'arrive pas a supprimé sauf en faisant ECHAP
 
message : en titre  Microsoft FORMS
                          une exception c est produite
                                   OK
 
 
comm

Reply

Marsh Posté le 09-09-2007 à 08:40:27   

Reply

Marsh Posté le 09-09-2007 à 09:22:20    

Bonjour,
as-tu essayé en retirant la protection avant, puis en la remettant après.
 
quelques lignes pour t'inspirer (obtenues avec l'enregistreur de macros)
 
 ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    ActiveWorkbook.Protect Structure:=True, Windows:=False
    ActiveWorkbook.Unprotect
    ActiveSheet.Unprotect
 
Cordialement

Reply

Marsh Posté le 09-09-2007 à 09:41:45    

en fait j y avait penssé mais si j ai mis la protection sur la feuille1
 ca m 'effacer la formule que j ai mis en L20 ( car je voulait afficher se resultat mais défois le resultat L20  je veux pas en tenir compte donc changer la valeur de mon textbox et en validant l ecrire sur une feuille2
 
est ce que tu comprend ce que je veux faire ?
 
j ai essayer ca  
 
Private Sub H1_Change()
Application.DisplayAlerts = False
End Sub
 
 
mais ca n empeche pas le message d'alerte
 
y a t il d autre formule pour les message d 'alerte ?

Reply

Marsh Posté le 09-09-2007 à 10:33:16    

Pas vraiment compris tes explications.
 
as-tu essayé le: on error goto pour récupérer l'erreur, mais comme c'est une exception, je ne suis pas certain que l'on puisse récupérer cette erreur.
 
Si tu peux détailler exactement les actions que tu veux faire, ce sera bien. A la limite, tu joins ton code, ou ton .xls  
 
A noter:  pour parler à VB tu utilises une syntaxe rigoureuse, sinon il se plante.
 
Pour nous parler, peux-tu faire un effort sur la syntaxe, parce qu'il me faut relire plusieurs fois ton texte pour comrendre les mots, avant d'essayer de comprendre la question.
 
Cordialement
 

Reply

Marsh Posté le 09-09-2007 à 18:35:40    

bon je m explique par un fichier exemple
 
dans la TextBox1
 
propriété:
controlsource     feuil1!A1
 
voila ce que j ai fait
 
et dans la feuil1 j'ai mis la protection de la feuille car je veux garder ma formule en A1
 
Et en fait quand je veux changer la valeur de la TextBox1 et bien il me marque un message d'information ou d alerte du style : Microsoft Forms
             une exception s'est produite
                         OK
 
comment je peux enlever ce message ?  voila ce que je voudrais
 
j espere que j ai été assez clair
 
je voulais mettre un exemple en fichier mais je peux pas

Reply

Marsh Posté le 09-09-2007 à 21:54:08    

Bonsoir,
J'ai peut-être compris: Tu as un formulaire, dans ce formulaire un textbox1 , tu veux que ton textbox1 soit, à l'ouverture du formulaire l'image de feuil1!A1, mais tu veux pouvoir changer cette proposition si elle ne te convient pas. (ceci, sans changer le contenu de A1 qui contient une formule).  
 
 
Essaie, dans ton formulaire, de mettre:
Private Sub UserForm_Activate()
TextBox1.Value = Sheets("feuil1" ).Range("a1" )
End Sub
tu retires le sourcecontrole.
 
 
Ainsi tu auras ta valeur dans textbox et, si tu modifies on n'écrira pas sur A1 et la valeur nouvelle sera dans textbox. Par contre tu ne pourras avoir le contenu de A1 qu'à la prochaine ouvertue du formulaire.
 
Un grand merci pour ton effort dans la rédaction.
 
Pour envoyer un fichier, tu peux utiliser cjoint.com si le fichier est petit.
Un inconvénient: la mémorisation est éphémère.
 
Cordialement


Message édité par seniorpapou le 09-09-2007 à 21:57:56
Reply

Marsh Posté le 10-09-2007 à 08:50:04    

en fait, j ai trouver une parade pour avoir la valeur de A1 avec le Sourcecontrole
 
j ai fait pareil  c 'est a dire  
 
Sourcecontrole     Feuil1!A1
 
 
Private Sub UserForm_Activate()
TextBox1.Value = Sheets("feuil2" ).Range("A3" )
End Sub  
 
 
et j ai rajouté  
 
Private Sub A3_Change()
SendKeys "{esc}"
End Sub
 
 
et la j ai pluis mon message d'information et ca marche super bien meme avec la feuille proteger pour pas ecrire sur la formule en A1 et ecrire en A3
 
je voulais garder le Sourcecontrole  car ca ecrit de suite pas besoin  de valider le formulaire
 
merci pour l aide

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed