le 06-04-2020 04:31 AM
Bonjour à toutes et tous,
Je suis actuellement entrain de réaliser diverses manip avec report generation. Je vous explique ce que je fais actuellement
- j'ouvre un fichier excel(comportant plusieurs feuillets)
- je crée un nouveau feuillet ( un nouveau rapport au sein du même fichier excel)
- je renomme ce feuillet
et à partir de la j'ai mon soucis :
- je copie un modèle de feuillet existant pour l’insérer dans le feuillet précédemment créé (j'ai fait une tentative en utilisant
mais c'est un format objet donc ca ne va pas)
Je ne trouve pas de fonction permettant d’insérer dans un feuillet excel un modèle pré-existant)
Quelqu'un aurait-il une solution?
Résolu ! Accéder à la solution.
le 06-04-2020 05:10 AM
le 06-04-2020 05:26 AM
Pour des questions de confidentialité je ne peux pas désolé.
Mais concrètement j'ai un fichier excel avec X feuillets. J'ai réussi a créer un nouveau feuillet le renommer et dans ce nouveau feuillet je veux insérer le modèle d'un fichier excel qu comporte l’entête
fichier modèle:
fichier rapport :
le 06-04-2020 06:28 AM
Ton utilisation du mot feuillet porte à confusion. Habituellement on a un classeur (workbook) qui contient des feuilles (worksheets). Dans ton message précédent tu as donc 2 classeurs, un dont chaque feuille représente des résultats de test et le second classeur qui ne contient qu'une feuille qui contient l'entête.
Maintenant que veux-tu faire au juste, "insérer le modèle d'un fichier excel qu comporte l’entête" est une description beaucoup trop vague?
Dans tous les cas tu aura probablement à utiliser les propriétés et méthodes ActiveX pour faire ce que tu veux.
Question, pourquoi ne rempli tu pas directement le fichier contenant le modèle avec les résultats de test? Si ton modèle est en format .xlst c'est une copie xlsm du fichier qui est créée lorsqu'on l'ouvre, le fichier original xlst est inchangé.
Ben64
le 06-04-2020 06:43 AM
Maintenant que veux-tu faire au juste, "insérer le modèle d'un fichier excel qu comporte l’entête" est une description beaucoup trop vague?
- que la feuille d'entête soit insérée à la fin ou au début du classeur de résultats de test?
- insérer le modèle d'entête à chaque feuille du classeur de résultats de test?
- autre ...?
Réponse A,
j'ai essayé : Ajouter un fichier au rapport (VI) comme sur la photo jointe mais ça m'affiche des caractères étranges ( que ce soit une extension xlsx ou xls
j'ai également essayé Ajouter un objet la ca affiche mais sous forme d'objet, moi je souhaiterai que ça copie colle les cellules du modèle
le 06-04-2020 08:50 AM
le 06-04-2020 09:22 AM
ok,
Donc visiblement il n'existe pas de "boite" pour faire ce que je souhaite faire? Je suis obligé de passer par l'active X ? que me conseillez vous pour faire mes premiers pas avec l'active X de excel ?
le 06-04-2020 04:46 PM
Tu devras en effet utiliser des propriétés et méthodes activeX pour faire ce que tu veux. Par contre ne fait pas tout en ActiveX, seulement la partie nécessaire. Tu pourras ensuite faire un sous-vi qui remplacera le carré noir de l'image ci-haut. Il y a un vi (Excel Get ActiveX References.vi) dans la palette Excel Advanced que tu peux utiliser pour obtenir les références de plusieurs objects. Pour commencer ce lien peut t'aider à comprendre le modèle d'objets Excel. Voir également ce lien (en anglais).
Dans cette page (section de gauche Reference) tu retrouvera la liste de tous les objets Excel avec leurs méthodes et propriétés. Sur le forum tu trouveras également plusieurs exemples de code utilsant ActiveX.
Ben64
le 06-08-2020 04:23 AM
Bonjour,
J'ai fais ce sous Vi la :
mais ça ne fonctionne pas, quand je passe en mode pas à pas je vois qu'à la première séquence le fichier modèle s'ouvre, un autre fichier d'ouvre également ( un nouveau classeur) à la deuxième séquence (j'ai remplacé rapport in par l'ouverture d'un fichier excel vierge mais existant ) et en sortie de séquence 2 j'ai une erreur 😞
le 06-08-2020 09:30 AM
Bon eurêka !!!
voila le sous VI :
et l'appel dans le VI principal :
Par contre dernière petite chose pourquoi les fichiers excel ne se ferment pas? normalement le fichier du haut se ferme en se sauvegardant et celui du bas se ferme sans se sauvegarder non?