Avis aux pros d'Excel

Résolu
Bonjour,
je suis en train de créer un fichier de receuil de données sous excel, pour cela je me sers de boites de dialogue créées via une feuille "boite de dialogue microsoft excel" (la boite de dialogue est donc créée dans un onglet sous mon fichier excel). La création, la saisie des données de la boite de dialogue,.. fonctionnent tres bien, par contre lorsque je clique sur le bouton "annuler" de mes boites de dialogue ainsi créées l'application programmé de la boite de dialogue s'exécute quand meme.... Si quelqu'un peut m'aider....

D'avance merci
Configuration: Windows Vista
Internet Explorer 7.0

2 réponses

  1. Contributeur
    Bonjour,

    1/ Pourquoi "Avis aux pros" ? je ne suis pas pro; donc, je ne peux pas essayer de t'aider?
    2/ les spammeurs vont être contents: laisser son adresse mail en pseudo: ils adorent!
    3/ mets un extrait de ton fichier sur www.cjoint.com avec ton code car je comprend mal (je suis pas voyante non plus) cette annotation: "la boite de dialogue est donc créée dans un onglet sous mon fichier excel"
    Si c'est une inputbox ou une msgbox, l'arrêt est facile mais on ne peut rien faire dans le flou de ton texte
    1. 1/ je suis preneur de toutes propositions!! J'ai mis "pros" mais ce n'est pas restreint!!
      2/ pas grave
      3/ pour etre plus précis je n'ai pas créé ma boite de dialogue sous VBA en tant que "Userform" mais en ajoutant un onglet sous excel (pas une feuille de calcul mais une "boite de dialogue microsoft excel", parmis les choix proposés lors de l'insertion de l'onglet), peut etre est ce une "Inputbox" (je suis pas assez connaisseur pour dire...) ?
      Pour ce qui est du code, le voici:

      Sub Sasie_interventions()

      DialogSheets("Interventions").Show

      jour = Sheets("Données").Range("A9").Value
      machine = Sheets("Données").Range("G11").Value
      localisation = Sheets("Données").Range("K54").Value
      defaut = DialogSheets("Interventions").EditBoxes("defaut").Text
      intervention = DialogSheets("Interventions").EditBoxes("inter").Text
      duree = DialogSheets("Interventions").EditBoxes("dureeinter").Text
      campagne = DialogSheets("Interventions").EditBoxes("campinter").Text
      Sheets("Historique des interventions").Activate
      Rows("9:9").Activate
      Selection.Insert shift:=xlDown
      Range("B9").Activate
      Sheets("Historique des interventions").Range("B9").Value = jour
      ActiveCell.Offset(0, 1).Activate
      ActiveCell.FormulaR1C1 = machine
      ActiveCell.Offset(0, 1).Activate
      ActiveCell.FormulaR1C1 = localisation
      ActiveCell.Offset(0, 1).Activate
      ActiveCell.FormulaR1C1 = defaut
      ActiveCell.Offset(0, 1).Activate
      ActiveCell.FormulaR1C1 = intervention
      ActiveCell.Offset(0, 1).Activate
      ActiveCell.FormulaR1C1 = duree
      ActiveCell.Offset(0, 1).Activate
      ActiveCell.FormulaR1C1 = campagne
      Range("B9").Select
      DialogSheets("Interventions").EditBoxes("defaut").Text = ""
      DialogSheets("Interventions").EditBoxes("inter").Text = ""
      DialogSheets("Interventions").EditBoxes("dureeinter").Text = ""
      DialogSheets("Interventions").EditBoxes("campinter").Text = ""

      End Sub

      Merci pour la rapidité de ta réponse, et si peux m'aider ce n'est pas de refus
      1. Salut,

        je sais pas si tu as déjà eu une réponse, mais je pense que ce qui ne marche pas dans ton code, ce sont les dernieres lignes.
        En effet, DialogSheets("Interventions").EditBoxes("defaut").Text = "" te réinitialise les zones de texte.
        Je n'ai pas regardé plus que ça, mais si tu mets par exemple "Toto" à la place de "" quelque soit le resultat que tu avais envoyé dans tes zones de texte, tu auras "Toto".

        si c'est pas clair, essaye en virant les 4 dernieres lignes