Creer une feuille Excel à partir d'un autre fichier Excel

Bonjour à tous

Je débute dans la programmation sous VBE et je ne sais pas par où commencer.

J'ai regardé un peu sur le web, mais j'avoue que je nage grave.

Voici mon idée.

J'ai un fichier "Materiel" dans lequel je stocke des données sur des bouteilles de plongée.

Je souhaiterai, lorsque j'appuie sur un bouton du fichier "materiel", créer une feuille excel pour chaque bouteille dans le fichier "fiche TIV" reprenant les données de mon fichier "Materiel"

Pour bien faire, chaque feuille aurait le nom de la bouteille.

Je ne sais pas si je suis bien clair

Merci d'avance de votre aide

Citro

45fiche-tiv.xlsx (16.37 Ko)
40materiel.xlsm (14.90 Ko)

Bonjour et bienvenue sur le forum

Un essai à tester. Te convient-il ?

Bye !

66materiel-v1.xlsm (34.43 Ko)

Bonjour, dans l'hypothèse ou les deux fichiers sont dans le même dossier. Il faut tester et me dire ce qui ne va pas.


Hum pardon, mon fichier est different de celui gmb que je salue et souligne le fait que je n'ai pas tout compris. Plates excuses

27bouteille.zip (34.67 Ko)

Merci à vous deux pour votre aide.

Gmb, tu as bien saisi mon besoin et le résultat répond exactement à ce que je recherche.

Par contre, je souhaiterais que lorsque j'appuie sur le bouton qui se trouve dans le fichier "Matériel", les feuilles se créent dans le fichier "Liste TIV" et que mon fichier "materiel" reste inchangé.

C'est faisable ?

Merci d'avance

Nouvel essai à tester.

Si le fichier ‘’Fiches TIV.xlsx’’ existe (avec cette orthographe), il doit être ouvert ou placé dans le même dossier que le fichier qui contient la macro (Matériel V2). Sinon, il sera créé et enregistré, vide mais avec ce nom, dans ce même dossier.

Cela te convient-il ?

Bye !

25materiel-v2.xlsm (36.82 Ko)

Bonjour

Annule et remplace le précédent.

Bye !

50materiel-v3.xlsm (38.45 Ko)

Super, exactement ce que je souhaitais.

Derniere petite modif à ajouter si tu veux bien.

En colonne A, je n'ai dans mon exemple que des bouteilles. Mais en réalité, je vais avoir en plus des détendeurs, gilets, ...

J'essaie de faire un filtre sur la valeur de la case Ai pour qu'il ne prenne que les bouteilles, et pas le reste, en utilisant une boucle du genre

for i=2 to derniere ligne

if range("A"&i).value="bouteille" then .... (ton code qui permet de récuperer les données et transferer)

endif

next i

mais cela ne fonctionne pas.

Peux tu m'aider ?

Encore merci

Nouvelle version :

Bye !

Merci gmb,

cela semble tellement simple lorsque l'on regarde le code, mais c'est autre chose lorsqu'on essaye de l'écrire.

Je n'ai plus qu'à récuperer le principe pour les bouteilles et à le transposer sur mes détendeurs, gilets et autres articles.

Juste une question afin de bien tout comprendre dans ton code :

For j = 1 To 11
vL = Choose(j, "F3", "C5", "C6", "G6", "J6", "C10", "C11", "H10", "K10", "H11", "H12")
vF = Choose(j, "B" & i, "F" & i, "M" & i, "O" & i, "Q" & i, "H" & i, "U" & i, "I" & i, "T" & i, "V" & i, "W" & i)
w.Sheets(tListe(i, 2)).Range(vL) = fdep.Range(vF)
Next j

Pourquoi fais tu varier j de 1 à 11 ?

C'est parce que tu as 11 valeurs à récuperer et à transferer ?

citro a écrit :

Pourquoi fais tu varier j de 1 à 11 ?

Parce que vL comme vF peuvent prendre 11 valeurs différentes, selon la valeur de j

Exemple, quand j = 1, vL = "F3" et vF = "F" & i et quand j =11, vL = "H12" et vF = "W" & i

OK ?

ok, c'est bien ce que j'avais cru comprendre.

Par contre, j'ai un Bug.

Lorsque je lance la macro, les données sont décalées d'une ligne par rapport à la ref de la bouteille.

Ex, si tu prends la B01, tu as dans Listes TIV les valeurs d'en tete de Materiel v4.

Je n'arrive pas à trouver où cela coince.

Nouvelle version à tester.

Bye !

24materiel-v5.xlsm (38.77 Ko)

Super, la perfection.

Je vais pouvoir l'adapter à mon fichier global.

Cette macro me fait gagner un temps énorme, tu n'imagine pas.

En tout cas, je te remercie vivement

Passe un excellent dimanche

Bye

Bonjour

Je déterre un peu ce post, mais je souhaite modifier le code et je n'y arrive pas.

Je voudrais que le le fichier "fiches TIV" créé soit enregistré dans un sous dossier nommé "impression".

J'aimerai aussi à ce fichier "fiches TIV" rajouter 3 feuilles aillant la même structure que chaque fiche TIV mais sans aucunes données, et qui pourrait s'appeler fiche vierge 1, 2 et 3 par ex.

Merci de votre aide (je suis vraiment une bille en VBA )

Rechercher des sujets similaires à "creer feuille partir fichier"