Pensez vous que cela soit possible ? Si oui comment faire ?
jejep79
Messages postés19Date d'inscriptionmardi 6 septembre 2005StatutMembreDernière intervention14 octobre 2005
-
14 sept. 2005 à 17:32
cs_lacomm
Messages postés298Date d'inscriptionlundi 14 juin 2004StatutMembreDernière intervention 5 juillet 2013
-
16 sept. 2005 à 13:02
Bonjour, a tous et à toutes !
Voila une petite question concernant un petit projet que j'aimerais mettre en place.
Voici ce que je souhaiterais faire :
Etape 1:
Via un userform, j'aimerais que l'utilisateur puisse selectionner plusieurs fichiers (fichiers word)
Etape 2:
Une fois ces fichiers word selectionnés, et confirmé par l'utilisateur.
j'aimerais créer un nouveau document (en l'occurence word) dans lequel
va s'inscrire le texte contenu dans la 2eme cellule de chaque documents
word selectioné.
Voila pensez vous que ceci soit realisable et si oui comment ?
cs_lacomm
Messages postés298Date d'inscriptionlundi 14 juin 2004StatutMembreDernière intervention 5 juillet 20131 14 sept. 2005 à 17:48
oui,
tu ouvres ton fichier word,
par exemple dans un textbox pour que l'utilisateur voie le fichier avec ceci par ex:
Private Sub mnuOu_Click()
GoTo ouvrir
ouvrir:
Dim MyFileName As String, Ext As String
jejep79
Messages postés19Date d'inscriptionmardi 6 septembre 2005StatutMembreDernière intervention14 octobre 2005 14 sept. 2005 à 18:22
Ah c'est vrai que le code est pas facile a exploiter je sais pas trop
comment remettre ça, mais vais essayer, par contre je vois que tu fais
cela avec un fichier.
Mais je voulais savoir si c'était pas possiblede faire ça en selectionnant plusieurs fichier en une fois.
En gros, je selectionne le fichier 1, 2 et 3 puis je clique sur un
bouton ok et hop tout se fait en toile de fond. Et le fichier
nouvellement crée apparait.
cs_lacomm
Messages postés298Date d'inscriptionlundi 14 juin 2004StatutMembreDernière intervention 5 juillet 20131 15 sept. 2005 à 10:08
Désolé pour le code, le revoici:
'tu crées une sub dasn le menu de ton appli
Private Sub mnuOu_Click()
GoTo ouvrir
ouvrir:
Dim MyFileName As String, Ext As String
cdlFiles.Filter = "(*.txt)|*.txt|(*.doc)|*.doc "
cdlFiles.DefaultExt = "doc"
cdlFiles.Flags = cdlOFNFileMustExist + cdlOFNPathMustExist
On Error GoTo No_Open
cdlFiles.ShowOpen
MyFileName = cdlFiles.FileName
Open MyFileName For Input As #1
txtsource.Text = Input(LOF(1), 1)
Close #1
Exit Sub
No_Open:
MsgBox "Le fichier ne peut être ouvert"
Resume exitline
exitline:
Exit Sub
End Sub
Bon ceci dit, tu n'es pas obligé du tout de faire ça.
Si tu connais le nom des fichiers par avance, tu ouvres tes fichiers l'un à la suite, tu remplaces txtsource.Text par le nom d'une variable que tu splittes:
open monfichier1 for input as #1
open monfichier2 for input as #2
open monfichier3 for input as #3
chaine1=input(LOF(1),1)
etc
cible()=Spli(chaine," ")
tu ouvres un fichier d'output:
open output.doc for output as #4
tu écris dedans la deuxième cellule, qui est indiquée 1 car les tableaux commencent à 0 si je ne me trompe:
print #1, cible(1)
et tu recommences avec les autres fichiers.
close #1 etc
C'est le principe général, mais si tu veux que l'utilisateur choisisse plusieurs fichiers d'un coup et ensuite fasse l'analyse, il faut modifier le code du début.
Vous n’avez pas trouvé la réponse que vous recherchez ?
jejep79
Messages postés19Date d'inscriptionmardi 6 septembre 2005StatutMembreDernière intervention14 octobre 2005 15 sept. 2005 à 13:13
C'est le principe général, mais si tu veux que l'utilisateur choisisse
plusieurs fichiers d'un coup et ensuite fasse l'analyse, il faut
modifier le code du début.
oui effectivement c'est cela que je souhaite faire.
Et je me demande si c'est pas possible de faire ça via une listbox qui
listerait tout les fichiers d'un dossier ? L'utilisateur
selectionnerait plusieurs fichiers via cette listbox et hop on lance la
procedure.
cs_lacomm
Messages postés298Date d'inscriptionlundi 14 juin 2004StatutMembreDernière intervention 5 juillet 20131 16 sept. 2005 à 13:02
voici ce que j'ai trouvé comme doc, tiens-moi au courant, je devrai faire ce genre de chose très bientôt:
Let_s see an example of a multiselect list box at work. In this case, we_ll have two listboxes, List1 and List2, as well as a command button displaying an arrow (here, we_ll just give a button the caption __>_ to display the arrow). Set List1_s MultiSelect property to 1. When the user selects a number of items in List1 and clicks the button with an arrow, we_ll copy the selected items in List1 to List2
We start by loading items into List1 when the form loads:
Private Sub Form_Load ()
List1.AddItem ("Item 0")
List1.AddItem ("Item 1")
List1.AddItem ("Item 2")
List1.AddItem ("Item 3")
List1.AddItem ("Item 4")
List1.AddItem ("Item 5")
List1.AddItem ("Item 6")
List1.AddItem ("Item 7")
End Sub
Next, when the user clicks the command button to indicate he has made all the selections he wants, we loop over the list this way:
Private Sub Command1_Click ()
Dim intLoopIndex
For intLoopIndex = 0 To List1.ListCount - 1
...
Next intLoopIndex
End Sub
In the loop, we see which items were selected and move them to the other list box,
List2 :
Private Sub Command1_Click ()
Dim intLoopIndex
For intLoopIndex = 0 To List1.ListCount - 1
If List1.Selected(intLoopIndex) Then
List2.AddItem List1.List(intLoopIndex)
End If
Next intLoopIndex
End Sub
The result appears in Figure 8.4, where we_re letting the user make multiple selections using the mouse, Shift, and Ctrl keys.
Note that we looped over every item in the list box to see if it was selected or not_is this necessary? Aren_t there SelStart and SelLength properties for the list box as there are for text boxes? Those properties don_t exist for list boxes, because the
selected items in a multiselect list box may not be contiguous, which also means that we do indeed have to loop over all items in the list box, checking each one individually to see if it_s been selected