Afficher une userform avec résultats en fin de macro

geckotokai

XLDnaute Nouveau
Bonjour,
dans le fichier Toto, vous trouverez un fichier excel contenant une macro, 2 fichiers .txt (fichier 1 et fichier 2). Mettre les fichiers dans C:\Toto\

La macro ouvre une userform1 où il faut remplir des onglets. Ensuite elle effectue un calcul dans le fichier 1.

En fait j’ai un problème pour les évènements après le calcul.

Je souhaiterais décharger la userform1 et afficher la userform2 avec les résultats des cellules G5 et G6 du fichier 1 copiés dans les textbox sous la forme arrondie 0,0 (un seul chiffre après la virgule).

Ensuite que cela ferme les fichiers 1 et 2 sans sauver les modifications.

Pour résumer, à la fin je voudrais avoir seulement le fichier Toto ouvert avec affichée la userform2.

Merci d’avance de votre aide.
 
Dernière édition:

jp14

XLDnaute Barbatruc
Re : Afficher une userform avec résultats en fin de macro

Bonjour

Est-il normal que le fichier Toto.xls se ferme ?

Pour éviter la création d'un répertoire il faut modifier le code
Rep = ThisWorkbook.Path & "\"

JP
 
Dernière édition:

geckotokai

XLDnaute Nouveau
Re : Afficher une userform avec résultats en fin de macro

J'avais fait en sorte qu'il se ferme mais en effet je pense qu'il vaut peut-être mieux ne pas le fermer, notamment parce que la macro est dedans. Il faudra donc enlever "Windows(FichTrav).Close False" en fin de code de la userform1.
 

jp14

XLDnaute Barbatruc
Re : Afficher une userform avec résultats en fin de macro

Bonjour

Ci dessous la macro Private Sub BtnValider_Click()
corrigée
Code:
.......................................................
        Windows(Fichier1).Activate
        With ActiveSheet
            .Range("A1") = CDec(TbxQuestionA)
            .Range("B1") = CDec(TbxQuestionB)
            .Range("D4") = "Total"
            .Range("D5").FormulaR1C1 = "=RC[-3]+RC[-2]+RC[-1]"
            .Range("F4") = "Calcul2"
            .Range("F5").FormulaR1C1 = "=RC[-2]*AVERAGE(" & Fichier2 & "!C2)"
            .Range("G4") = "Calcul3"
            .Range("G5").FormulaR1C1 = "=RC[-1]/(R1C1+R1C2)"
            .Range("D5").AutoFill Destination:=Range("D5:D6"), Type:=xlFillDefault
            .Range("F5:G5").AutoFill Destination:=Range("F5:G6"), Type:=x1FillDefault
        
    vale1 = .Range("G5").Value' il faut déclarer les variables Vale1 et vale2 comme 
    vale2 = .Range("G6").Value' variables publiques dans un module
    End With
    Application.DisplayAlerts = False
    Windows(Fichier2).Close False
    
    'Unload Me ' a supprimer
    Windows(Fichier1).Close False ' a modifier
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True

Les variables Vale1 vale2 doivent être déclarées comme "public" dans un module et seront de ce fait visible par l'userform2

JP
 

geckotokai

XLDnaute Nouveau
Re : Afficher une userform avec résultats en fin de macro

Merci beaucoup mais il me reste un petit problème non résolu.

C'est peut-être très simple mais je ne comprends pas comment faire.
A la fin du code de la userform1 je veux que celle-ci se ferme et qu'apparaisse la userform2 sur laquelle sont affichées les variables vale1 et vale2.

Comment faire ? Je dois modifier quelque chose dans le code du Module1 ou dans le code des userform ?

Merci
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 505
Messages
2 089 070
Membres
104 017
dernier inscrit
annboi19