mfaure
Messages postés48Date d'inscriptionmardi 28 mars 2006StatutMembreDernière intervention22 septembre 2011
-
18 juil. 2006 à 04:53
mfaure
Messages postés48Date d'inscriptionmardi 28 mars 2006StatutMembreDernière intervention22 septembre 2011
-
18 juil. 2006 à 06:27
Bonjour a tous, je suis confronte a un pb que je n'arrive pas a resoudre.
dans un des formulaires de mon prog vb2005, j'ai une boucle if / else.
dans chacune de ces boucles, j'ouvre un fichier excel (le meme en plus) avec en option "readonly:=false". Le if principal ajoute des donnees et quand je sauvegarde (fichier.close(savechanges:=true)), j'ai la fenetre "enregistrer sous" qui s'ouvre. Par contre, dans le else, je modifie simplement des cases qui sont deja remplies, et la sauvegarde s'effectue de maniere transparente.
je ne comprends donc pas pourquoi le meme fichier, ouvert de la meme maniere, l'est en lecture seul dans une boucle et pas dans l'autre. Si quelqu'un pet m'eclairer sur ce point je serais ravi.
merci de m'avoir lu (et desole pour la mise en forme, le formulaire ne prends pas les retour chariot sous opera)
mfaure
Messages postés48Date d'inscriptionmardi 28 mars 2006StatutMembreDernière intervention22 septembre 2011 18 juil. 2006 à 06:27
j'ai trouve al reponse tout seul, le probleme etait que sur le formulaire precedent, j'ouvrais une appli excel que je ne fermais pas. comme je reouvrais le meme fichier, ce dernier l'etait donc en lecture seule, d'ou le pb
mfaure
Messages postés48Date d'inscriptionmardi 28 mars 2006StatutMembreDernière intervention22 septembre 2011 18 juil. 2006 à 05:16
Salut
alors voici le code de mon formulaire dans son integralite (a noter que dans le else, les textbox et combobox sont remplies a partir du formulaire precedent, en fait ca ferait l'objet d'une autre question qui est "comment initialiser un formulaire, et transmettre la valeur d'une variable d'un formulaire a l'autre ?" je sais faire avec vba, mais je suis debutant sur vb2005, et ca ne marche pas pareil). Bref, voici le code, brut de decoffrage :
Public
Class FormBody
Dim OKMode
As
Boolean
Private
Sub ButtonAnnule_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles ButtonAnnule.Click
Me.Hide()FormAdmin.Show()
End
Sub
Private
Sub ButtonValide_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles ButtonValide.Click
"C:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\Projects\BDdimesionelle\bdDIMENSIONELLE\bin\Debug\BD.xls", ReadOnly:=
False)j = 1
OKMode =
True
While
CStr(DB.Worksheets(1).Cells(j, 1).value) <>
""
'verification de la non existence de cette reference
If
CStr(DB.Worksheets(1).Cells(j, 1).value) = TextBoxRef.Text
ThenMsgBox(
"La référence " & TextBoxRef.Text &
" existe déjà dans la base.", MsgBoxStyle.Exclamation,
"Erreur de référence")OKMode =
False
End
Ifj = j + 1
End
Whileindex = j
'Verification que toutes les cases soient remplies
If ComboBox1.Text =
""
ThenMsgBox(
"Veuillez renseigner la case 'Retainer' s'il vous plait", MsgBoxStyle.Exclamation,
"Données manquantes")OKMode =
False
End
If
If TextBoxColerette.Text =
""
ThenMsgBox(
"Veuillez renseigner le diamètre de la colerette s'il vous plait", MsgBoxStyle.Exclamation,
"Données manquantes")OKMode =
False
End
If
If TextBoxHauteur.Text =
""
ThenMsgBox(
"Veuillez renseigner la hauteur du body s'il vous plait", MsgBoxStyle.Exclamation,
"Données manquantes")OKMode =
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 18 juil. 2006 à 05:42
Bah je vois pas (pas expert en vb2005).
Par contre, si je peux te donner un conseil, c'est de créer une procédure d'ouverture, et une de fermeture : cela t'économisera quelques lignes, je pense, et ton code sera plus lisible !
@++
Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"
Merci de prendre le temps de répondre à ce sondage Merci de prendre le temps de lire le Règlement CS
Vous n’avez pas trouvé la réponse que vous recherchez ?
mfaure
Messages postés48Date d'inscriptionmardi 28 mars 2006StatutMembreDernière intervention22 septembre 2011 18 juil. 2006 à 05:47
Bon ben tant pis..... ca resoud pas mes pb pour l'instant alors, c'est vraiment etrange comme phenomene.... merci en tout cas d'y avoir jete un oeil, je vais attendre un peu, d'autres auront certainement des idees...