excel/vba probleme de message (microsoft forms) - VB/VBA/VBS - Programmation
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
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 ?
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 
 
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 
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
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
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