création fichier à partir de la saisie dans une boite de dialogue

boudu

XLDnaute Occasionnel
Bonjour au forum
Je souhaite automatiser au maximum les taches:
Des utilisateurs remplissent 5 fichiers structurés de la meme maniere (testrecopie.xls dans le fichier que je joins)ils indiquent les rendez vous pris pour un bureau precis à des heures qu'ils choisissent
Ces données doivent arriver dans un fichier portant le nom de la date par exemple (j'ai mis un exemple de ce fichier final testrecopie2.xls) pour etre synthétisées sous la forme d'occupation des bureaux à une date donnée

Je souhaiterais dans l'idéal qu'une boite de dialogue demande la date, que cette saisie crée un fichier daté (ou un onglet avec la date sur un fichier unique (je ne me rends pas compte en vba car je suis loin d'etre au point)) et que les données qui ont été saisies dans les 5 fichiers sources correspondant à la date en question soient recopiés

J'ai fait des petits bouts mais il y a des defauts et je ne sais pas du tout faire ce qui correspond à la recuperation des données saisies dans la boite ni la cration de fichier..
J'aimerais que les 0 qui figurent apres la mise en liaison des fichiers n'apparaissent plus et j'ai du mal à refermer les fichiers ouverts pour la recuperation des données pendant la macro

Je joins mes fichiers tests
Merci d'avance aux courageux qui voudront bien se pencher sur mon probleme
 

Pièces jointes

  • gestionbureaux.zip
    26.3 KB · Affichages: 46
  • gestionbureaux.zip
    26.3 KB · Affichages: 54
  • gestionbureaux.zip
    26.3 KB · Affichages: 50

boudu

XLDnaute Occasionnel
Re : création fichier à partir de la saisie dans une boite de dialogue

Bonjour au forum
J'ai refait la boite de dialogue de depart en attendant de faire mieux

Il faut maintenant que le resultat de la saisie puis appui sur ok crée un fichier qui porte le nom de la date et qui va chercher les données dans les 5 fichiers en liaison

Un peu complexe mais j'espere que c'est faisable
j'ai oublié de changer les chemins par defaut de mes fichiers test
il vaut mieux faire sur c:

J'espere que quelqu'un va pouvoir m'aider car la suite me parait plus dure

Bonne journée à tous
 

Pièces jointes

  • inputbox.xls
    22 KB · Affichages: 110
  • inputbox.xls
    22 KB · Affichages: 109
  • inputbox.xls
    22 KB · Affichages: 102

pierrejean

XLDnaute Barbatruc
Re : création fichier à partir de la saisie dans une boite de dialogue

bonjour boudu

vois si cela te convient

Attention : Verifie bien si les conditions sont respectées (j'ai un peu de peine dans cet exercice)

edit: avais pas rafraichi donc pas vu ton oeuvre
tiens moi au courant
 

Pièces jointes

  • exemple_boudu.zip
    18.4 KB · Affichages: 73

boudu

XLDnaute Occasionnel
Re : création fichier à partir de la saisie dans une boite de dialogue

Merci pierrejean
Je vais voir comment exploiter l'exemple
La difficulté pour moi est d'automatiser le plus possible à partir de l'inputbox
d'apres ce que je comprends de l'exemple tu crées des onglets
comme je veux que le systeme fonctionne longtemps est ce qu'il n'est pas preferable de créer un fichier à chaque fois qui porte le nom de la date et qui recupere les données dans 5 autres fichiers saisis par d'autres utilisateurs

Bonne continuation
 

boudu

XLDnaute Occasionnel
Re : création fichier à partir de la saisie dans une boite de dialogue

Jean Pierre
Je reprends tout:
Il y a des utilisateurs qui saisissent des plages d'occupation de bureaux sur le premier fichier qui contient le calendrier sur 6 mois en colonnes et les plages horaires en lignes
Il y a en fait 5 fichiers de ce type car in fine il faut visualiser l'occupation de 5 bureaux chaque jour (chaque fichier correspond à un bureau et est rempli par 5 utilisateurs qui doivent pouvoir voir les plages libres en temps réel) Il y a sur ce fichier des macros qui permettent de remplir des plages avec des couleurs et avec des precautions sur le temps disponible pour entrer une plage)

Ensuite un autre service doit pouvoir recuperer de façon synthetique( c'est la vocation du second fichier que j'ai mis en piece jointe)
Celui-ci concerne donc un jour donné avec le meme format pour les horiares en ligne mais en colonne ce sont mintenant les 5 bureaux dont les plannings figurent sur les 5 fichiers cités ci-dessus

C'est là que j'aimerais avoir la procedure:
Inputbox qui demande la date
Création d'un fichier portant le nom de la date et recuperant les données des 5 fichiers du depart

Voila (il est evident que tout ça se passe en reseau, je partage les 5 fichiers pour qu'ils soient complétés par les utilisateurs des bureaux, dans le meme repertoire (pour faciliter les problemes de chemin) je mets le fichier qui ouvre l'inputbox et je souhaite que les fichiers date se positionnent au meme endroit

(j'ai commencé des tests et déjà repéré les quelques soucis mentionnés dans le premier post (les 0 qui apparaissent apres la mise en liaison, le message qui indique le fichier est deja ouvert et que je souhaiterais ne pas voir)

Voila, comme j'ai déjà dit tout ça n'est pas fondamentalement simple mais grâce à ton aide et celle du forum on va y arriver
(J'ai été tres occupé cet apres midi et n'ai pas encore pu voir comment je pouvais exploiter ton fichier!)
A+
 

pierrejean

XLDnaute Barbatruc
Re : création fichier à partir de la saisie dans une boite de dialogue

re

j'ai comme l'impression de m'etre severement melangé les pieds dans le tapis !!

le fichier que j'ai intitulé exemple boudu n'etait surement pas pour toi

mais pour qui alors !!!

en ce qui concerne ta demande il me faut la revoir a partir du debut

pas trop libre en ce moment , compte sur un certain delai
 

boudu

XLDnaute Occasionnel
Re : création fichier à partir de la saisie dans une boite de dialogue

Re
pierrejean, le forum
effectivement le fichier est tres interessant mais ne peut pas m'etre d'une grande aide pour mon probleme
J'ai trouvé un bout de code pour la création du fichier dont je parle au-dessus mais par contre je ne sais pas comment passer en parametre le fait que je veux que le fichier créé porte le nom de la date entrée dans l'inputbox
je joins le code mais je pense que tu connais..
apres il faut arriver à recuperer les données des 5 fichiers et les envoyer en liaison au bon endroit du fichier recapitulatif par bureaux
Bonne continuation
 

Pièces jointes

  • créationfichierexcel.xls
    25 KB · Affichages: 121

boudu

XLDnaute Occasionnel
Re : création fichier à partir de la saisie dans une boite de dialogue

Bonjour pierrejean, le forum
Je colle les morceaux au fur et à mesure
J'ai refait un jeu d'essai en notant les soucis par etapes
Je coince toujours principalement sur l'objet indiqué en intitulé (création d'1 fichier à partir de la saisie dans l'inputbox)
Il y a d'autres soucis qui apparaissent à mesure (les 0 qui apparaissent lors de la recopie, la date qui prend un format british)
Mon jeu test comprend:
le fichier testrecopie: saisie avec alt F8 (appel des macros) des plages d'occupation des bureaux
le fichier testcopie 2 qui va chercher automatiquement les données au lancement dans testrecopie
le fichier inputbox qui ouvre une boite pour demander la date et doit créer un fichier portant le nom de cette date (j'ai créé une variable question mais je ne sais pas la passer en parametre pour la cration, j'ai mis du code en commentaire..)
Une fois le fichier créé il faudra utiliser le code de tesrecopie2 pour aller chercher les éléments saisis pour la date sélectionnée

Voila, merci d'avance
 

Pièces jointes

  • testrecopie.zip
    30.5 KB · Affichages: 58
  • testrecopie.zip
    30.5 KB · Affichages: 63
  • testrecopie.zip
    30.5 KB · Affichages: 61

pierrejean

XLDnaute Barbatruc
Re : création fichier à partir de la saisie dans une boite de dialogue

bonjour boudu

pour ton fichier inputbox:

Code:
Private Sub Workbook_Open()
question = InputBox( _
"Merci de saisir la date souhaitée au format jj/mm/aaaa", "Saisie de la date", , 1000, 3000)
question = CDate(question)
question = Format(question, "dd_mm_yyyy")
Range("A1") = question
Workbooks.Add
ActiveWorkbook.SaveAs Filename:="C:\" & question, FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False
 
end sub
 

boudu

XLDnaute Occasionnel
Re : création fichier à partir de la saisie dans une boite de dialogue

Re
Merci pierrejean
voila un petit bout du puzzle qui convient impecc
maintenant il faut que j'arrive à indiquer à testcopie2 (qui est donc en fait le fichier créé portant la date) qu'il doit aller chercher avec liaison les données saisies dans testrecopie (le nom est completement inadapté maintenant mais bon on ne refait pas l'histoire) avec correspondance de la date (ligne 2 du fichier, le jour est en ligne 1)
dans testcopie2 la date est actuellement sur la premiere ligne

La liaison devra se faire sur 5 fichiers mais si ça le fait pour un ça doit le faire pour 5

Merci encore car il y a de nombreuses subtilités que je suis loin de maitriser en vba
 

boudu

XLDnaute Occasionnel
Re : création fichier à partir de la saisie dans une boite de dialogue

Re pierrejean
en regardant je me suis dit qu'apres tout autant quitter ce fichier donc j'ai ajouté les 2 lignes à la fin
Private Sub Workbook_Open()
question = InputBox( _
"Merci de saisir la date souhaitée au format jj/mm/aaaa", "Saisie de la date", , 1000, 3000)
question = CDate(question)
question = Format(question, "dd_mm_yyyy")
Range("A1") = question
Workbooks.Add
ActiveWorkbook.SaveAs FileName:="C:\" & question, FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False
Application.DisplayAlerts = False
Application.Quit
End Sub

Peut-on avec vba intégrer le lancement du fichier créé (date.xls) et intégrer le bout de code que j'avais dans testcopie2 avec la mise en liaison des 5 fichiers du type testrecopie
ouhlala, c'est compliqué finalement..
 

boudu

XLDnaute Occasionnel
Re : création fichier à partir de la saisie dans une boite de dialogue

Re
Pierrejean, le forum
J'ai essayé de coller les morceaux mais je ne sais pas comment reprendre le nom du fichier créé..

Private Sub Workbook_Open()
question = InputBox( _
"Merci de saisir la date souhaitée au format jj/mm/aaaa", "Saisie de la date", , 1000, 3000)
question = CDate(question)
question = Format(question, "dd_mm_yyyy")
Range("A1") = question
Workbooks.Add
ActiveWorkbook.SaveAs FileName:="C:\" & question, FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False
ChDir "c:\"
Workbooks.Open FileName:= _
"c:\testrecopie.xls"
'virer les 0
'Range("A1:c15").Select
'Cells.Replace What:="", Replacement:=" ", LookAt:=xlPart, SearchOrder:= _
'xlByRows, MatchCase:=False
'selection à recopier
Range("b3:b16").Select
Selection.Copy
Windows("C:\" & question).Activate
Range("B3:B16").Select
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
'Range("A1").Select
ActiveSheet.Paste Link:=True
'fermer le fichier d'origine
ChDir "c:\"
Workbooks.Open FileName:= _
"c:\testrecopie.xls"
ActiveWorkbook.Close
Application.DisplayAlerts = False
Application.Quit
End Sub

Comment faire ceci je n'arrive pas à trouver..
 

pierrejean

XLDnaute Barbatruc
Re : création fichier à partir de la saisie dans une boite de dialogue

re

teste:

Code:
....
ActiveWorkbook.SaveAs FileName:="C:\" & question, FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False
[COLOR=blue]MonNom=Activeworkbook.Name[/COLOR]
[COLOR=#0000ff].....[/COLOR]
[COLOR=#0000ff].....[/COLOR]
[COLOR=blue][B]Workbooks(MonNom).Activate[/B][/COLOR]
[COLOR=blue][B]......[/B][/COLOR]
 
[COLOR=blue][B][COLOR=black]
[/COLOR][/B]


[/COLOR]
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 508
Messages
2 089 143
Membres
104 047
dernier inscrit
bravetta