Création de feuille Excel (VBA)

RererererereBonjour

Voilà, j'ai un nouveau défi pour vous

J'ai créer un bouton : Ajouter un technicien, y a une InputBox qui s'ouvre, demandant le nom, on l'entre et le nom du technicien s'ajoute dans la cellule en dessous de la liste des techniciens, comme vous pouvez le voir sur l'exemple, j'ai ajouté TechnicienExcel :

Enfin bref, en fait en plus d'ajouter ce nom à cette cellule, j'aimerais qu'automatiquement, cela me copie le fichier : VIERGE.xls, et que cette copie soit renommé en TechnicienExcel.xls, et que l'on puisse ajouter dans la Feuille1 de TechnicienExcel.xls, dans la cellule B2 : "TechnicienExcel".

En gros :

  • Je clique sur l'ajout d'un technicien (je choisi : TEST.xls)
  • Cela me copie le fichier VIERGE.xls
  • Renomme le fichier Copie de VIERGE.xls en TEST.xls
  • Le fichier VIERGE.xls est toujours présent
  • On ouvre le fichier TEST.xls pour y ajouter en B2 : TEST
  • On ferme le fichier TEST
  • On boit un verre de... désolé

Voilà, est-ce réalisable ?

La pièce jointe : fichier.xls

Merci

Bonsoir,

- Cela me copie le fichier VIERGE.xls

Il vient d'où ce fichier ?

Ce que tu veux faire c'est créer un fichier avec le nom du technicien ?

A te relire

Dan

En fait ce fichier : VIERGE.xls contient 13 onglets (1 pour chaque mois et 1 pour des paramètres) et ils est donc pleins de macros etc... en fait c'est un formulaire au cours des mois qui est remplit par le technicien, donc il faut que ce soit le même pour tout le monde

Je peux le mettre en fichier joint si nécessaire.

Bonne soirée.

re,

Il faudrait savoir aussi dans quel répertoire tu veux sauvegarder le fichier renommé à partir du fichier "Vierge.xls".

A te relire

Dan

Bonjour,

Qu'importe pour le chemin, je le changerais de toutes les manières, si vous y tenez vraiment le voici C:\Users\Yohan\Desktop\facturation\

Ps : J'en profite pour vous montrer pourquoi il faut faire une copie du fichier VIERGE.xls pour créer les autres fichiers :

En fait quand je dis VIERGE, ça veut dire que le tableau à pas été complété (je me suis mal exprimé désolé)

Merci à toi ! (à vous deux plutôt, puisque j'ai appris que vous étiez 2 )

Re,

Essaye ce code à la palce du tien

Sub technicien()
'Dan le 30/04/08
Dim ref
Dim chemin As String, tech As String
Dim technicien_ajout As Byte
Application.ScreenUpdating = False
Set ref = Workbooks("Vierge.xls")
chemin = "C:\Users\Yohan\Desktop\facturation\"
technicien_ajout = Range("I65536").End(xlUp).Row
tech = InputBox("Ajoutez un technicien", "Ajout d'un technicien")
Range("I" & technicien_ajout + 1).Value = tech
With ref
.Activate
.Worksheets(1).Range("B2") = tech
.SaveAs Filename:=chemin & tech & ".xls"
.Close
End With
End Sub

Veille à ce que le classeur Modèle (appelé Vierge.xls) soit ouvert lors de l'exécution de la macro.

Amicalement

Dan

C'est PARFAIT !!

Je pensais pas qu'on pouvait le faire lol

Merci énormément c'est EXTRA !!

J'ai tout de même une petite question, afin de remédier au problème : "veille à ce que Vierge.xls soit ouvert", j'ai rajouté cette ligne à ton code :

Dim Wb_name As Workbook
Set Wb_name = Workbooks.Open(Filename:= _
"C:\Users\Yohan\Desktop\facturation\Vierge.xls")

J'ai donc plus besoin d'avoir préalablement ouvert le fichier, seulement le nom qu'on a entré dans l'InputBox ne s'affiche plus dans la colonne I, il s'affiche dans la colonne I mais de la nouvelle feuille crée, le reste marchant normalement, pourrais-tu m'éclaircir ?

J'ai essayé comme cela, mais j'ai une erreur :

tech = InputBox("Ajoutez un technicien", "Ajout d'un technicien")
Workbooks(test).Worksheets("FIN").Range("I" & technicien_ajout + 1).Value = tech

Merci !

Code entier :

Sub technicien()
'Dan le 30/04/08
Dim ref
Dim chemin As String, tech As String
Dim technicien_ajout As Byte
Dim Wb_name As Workbook
Application.ScreenUpdating = False
Set Wb_name = Workbooks.Open(Filename:= _
"C:\Users\Yohan\Desktop\facturation\Vierge.xls")

Set ref = Workbooks("Vierge.xls")
chemin = "C:\Users\Yohan\Desktop\facturation\"
technicien_ajout = Range("I65536").End(xlUp).Row
tech = InputBox("Ajoutez un technicien", "Ajout d'un technicien")
Range("I" & technicien_ajout + 1).Value = tech
With ref
.Activate
.Worksheets(1).Range("B2") = tech
.SaveAs Filename:=chemin & tech & ".xls"
.Close
End With
End Sub

re,

Comme ceci :

Sub technicien()
'Dan le 30/04/08
Dim chemin As String, tech As String
Dim technicien_ajout As Byte
Application.ScreenUpdating = False
chemin = "C:\Users\Yohan\Desktop\facturation\"
technicien_ajout = Range("I65536").End(xlUp).Row
tech = InputBox("Ajoutez un technicien", "Ajout d'un technicien")
Range("I" & technicien_ajout + 1).Value = tech
Workbooks.Open chemin & "Vierge.xls"
With ActiveWorkbook
.Worksheets(1).Range("B2") = tech
.SaveAs Filename:=chemin & tech & ".xls"
.Close
End With
End Sub

Amicalement

Dan

This is Working so GooooooD

Effectivement ouvrir et remplir le fichier après c'est mieux que de tout mélanger...

Merci beaucoup !

Rechercher des sujets similaires à "creation feuille vba"