Avis aux pros d'Excel

Résolu
beus63@hotmail.fr Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
 Yan Solo92 -
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. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
    0
  2. beus63@hotmail.fr Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
     
    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
    0
    1. Yan Solo92
       
      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
      0