Le principe est simple, une macro vba crée le script le lance puis récupère le résultat. Pour récupérer le résultat, il faut juste modifier le code python pour que celui-ci crée un fichier texte avec le résultat sous forme de couple nom variable/valeur séparées par une tabulation : with open("c:/test/hauteur_resultante.txt", "w") as fichier: fichier.write("hauteur_resultante\t" + str(hauteur_resultante) + "\n") Il faut que le script créé soit associé aux valeurs du classeur excel et que le résultat soit automatiquement récupéré dans excel. Maintenant, vous avez un code qui marche chez vous, mais qui dit que le fichier hauteur_resultante.txt est intéressant et que larborescence est la même chez lutilisateur. Dautre part, la ligne aire_du_carre = 81 Nest pas utile à lutilisateur. De même que : print("hauteur rectangle "+str(hauteur_resultante)) La solution que jai trouvée pour que vous puissiez tester le programme dans votre environnement python puis lintégrer dans un outil excel sans avoir à modifier quoi que ce soit, est de rajouter le commentaire #delete! sur les lignes à supprimer. def trouver_hauteur(aire): # Calculer la longueur du côté du carré (côté = racine carrée de l'aire) cote_carre = aire ** 0.5 # Calculer le périmètre du carré perimetre_carre = 4 * cote_carre # Calculer la longueur du côté du triangle équilatéral cote_triangle = perimetre_carre / 3 # Calculer la hauteur du rectangle hauteur_rectangle = (perimetre_carre - 2 * cote_triangle) / 2 return hauteur_rectangle # Exemple d'utilisation aire_du_carre = 81 #delete! hauteur_resultante = trouver_hauteur(aire_du_carre) with open("c:/test/hauteur_resultante.txt", "w") as fichier: #delete! fichier.write("hauteur_resultante\t" + str(hauteur_resultante) + "\n") print("hauteur rectangle "+str(hauteur_resultante)) #delete! En faisant comme ça, vous navez plus dinitialisation de variables ni de nom de répertoire pour exporter les résultats. Vous allez utiliser #ouverture_fichier_resultat! pour louverture du fichier et cela remplacera linstruction douverture. et par exemple #aire_carre! pour linitialisation : un texte entre un # et un ! qui servira dans excel mais restera un simple commentaire tant que vous travaillerez sur votre environnement. La fin du programme devient simplement : # Exemple d'utilisation aire_du_carre = 81 #delete! #aire_carre! hauteur_resultante = trouver_hauteur(aire_du_carre) with open("c:/test/hauteur_resultante.txt", "w") as fichier: #delete! #ouverture_fichier_resultat! fichier.write("hauteur_resultante\t" + str(hauteur_resultante) + "\n") print("hauteur rectangle "+str(hauteur_resultante)) #delete!
|