comment gerer des images a afficher dans un repertoire ?
19 réponses
Alfred WALLACE
bonsoir,
Guru du soir Espoir !
voici ce que j'aimerai obtenir :
dans un formulaire, j'ai un objet "image".
=E0 cot=E9 de cet onglet "image" j'ai 2 boutons "suivante" et
"precedente".
sous l'image, j'ai un "label" qui contiend le nom de l'image.
grace =E0 ces 2 boutons, je voudrais donc parcourir
un ensemble de s'images (100x100). qui sont stock=E9es
pour le moment dans un repertoire.
comment je dois faire pour pouvoir "balayer" toutes les images
qui se trouve dans le meme dossier que mon classeur.
enfin, une fois que j'ai trouver la bonne image, je souhaite
"enregistrer" ce formulaire, afin qu'a la prochaine ouverture
l'image pr=E9c=E9dament choisie soit =E0 nouveau.
voila, c'est un peu "fouilli" mais, toutes les remarques seront
les biens venues !
Private Sub SpinButton1_Change() Dim fso As Object, Dossier As Object, NomDossier Dim Files As Object, File As Object, i As Integer Dim MyArray() Set fso = CreateObject("Scripting.FileSystemObject") Set Dossier = fso.GetFolder("c:zzx") Set Files = Dossier.Files If Files.Count <> 0 Then If SpinButton1.Value = 0 Or SpinButton1.Value > Files.Count Then Exit Sub For Each File In Files x = x + 1 ReDim Preserve MyArray(x) MyArray(x) = File Next End If ActiveSheet.Image1.Picture = LoadPicture(MyArray(SpinButton1.Value)) ActiveSheet.TextBox1 = MyArray(SpinButton1.Value) End Sub
isabelle
Alfred WALLACE a écrit :
bonsoir, Guru du soir Espoir ! voici ce que j'aimerai obtenir : dans un formulaire, j'ai un objet "image". à coté de cet onglet "image" j'ai 2 boutons "suivante" et "precedente". sous l'image, j'ai un "label" qui contiend le nom de l'image.
grace à ces 2 boutons, je voudrais donc parcourir un ensemble de s'images (100x100). qui sont stockées pour le moment dans un repertoire.
comment je dois faire pour pouvoir "balayer" toutes les images qui se trouve dans le meme dossier que mon classeur.
enfin, une fois que j'ai trouver la bonne image, je souhaite "enregistrer" ce formulaire, afin qu'a la prochaine ouverture l'image précédament choisie soit à nouveau.
voila, c'est un peu "fouilli" mais, toutes les remarques seront les biens venues !
José
bonjour Alfred,
voici un exemple avec un SpinButton :
Private Sub SpinButton1_Change()
Dim fso As Object, Dossier As Object, NomDossier
Dim Files As Object, File As Object, i As Integer
Dim MyArray()
Set fso = CreateObject("Scripting.FileSystemObject")
Set Dossier = fso.GetFolder("c:zzx")
Set Files = Dossier.Files
If Files.Count <> 0 Then
If SpinButton1.Value = 0 Or SpinButton1.Value > Files.Count Then
Exit Sub
For Each File In Files
x = x + 1
ReDim Preserve MyArray(x)
MyArray(x) = File
Next
End If
ActiveSheet.Image1.Picture = LoadPicture(MyArray(SpinButton1.Value))
ActiveSheet.TextBox1 = MyArray(SpinButton1.Value)
End Sub
isabelle
Alfred WALLACE a écrit :
bonsoir,
Guru du soir Espoir !
voici ce que j'aimerai obtenir :
dans un formulaire, j'ai un objet "image".
à coté de cet onglet "image" j'ai 2 boutons "suivante" et
"precedente".
sous l'image, j'ai un "label" qui contiend le nom de l'image.
grace à ces 2 boutons, je voudrais donc parcourir
un ensemble de s'images (100x100). qui sont stockées
pour le moment dans un repertoire.
comment je dois faire pour pouvoir "balayer" toutes les images
qui se trouve dans le meme dossier que mon classeur.
enfin, une fois que j'ai trouver la bonne image, je souhaite
"enregistrer" ce formulaire, afin qu'a la prochaine ouverture
l'image précédament choisie soit à nouveau.
voila, c'est un peu "fouilli" mais, toutes les remarques seront
les biens venues !
Private Sub SpinButton1_Change() Dim fso As Object, Dossier As Object, NomDossier Dim Files As Object, File As Object, i As Integer Dim MyArray() Set fso = CreateObject("Scripting.FileSystemObject") Set Dossier = fso.GetFolder("c:zzx") Set Files = Dossier.Files If Files.Count <> 0 Then If SpinButton1.Value = 0 Or SpinButton1.Value > Files.Count Then Exit Sub For Each File In Files x = x + 1 ReDim Preserve MyArray(x) MyArray(x) = File Next End If ActiveSheet.Image1.Picture = LoadPicture(MyArray(SpinButton1.Value)) ActiveSheet.TextBox1 = MyArray(SpinButton1.Value) End Sub
isabelle
Alfred WALLACE a écrit :
bonsoir, Guru du soir Espoir ! voici ce que j'aimerai obtenir : dans un formulaire, j'ai un objet "image". à coté de cet onglet "image" j'ai 2 boutons "suivante" et "precedente". sous l'image, j'ai un "label" qui contiend le nom de l'image.
grace à ces 2 boutons, je voudrais donc parcourir un ensemble de s'images (100x100). qui sont stockées pour le moment dans un repertoire.
comment je dois faire pour pouvoir "balayer" toutes les images qui se trouve dans le meme dossier que mon classeur.
enfin, une fois que j'ai trouver la bonne image, je souhaite "enregistrer" ce formulaire, afin qu'a la prochaine ouverture l'image précédament choisie soit à nouveau.
voila, c'est un peu "fouilli" mais, toutes les remarques seront les biens venues !
José
Fredo P.
Bz et pardon Isabelle, il manquait un EndIf. "isabelle" a écrit dans le message de news:ueY%
bonjour Alfred,
voici un exemple avec un SpinButton :
Private Sub SpinButton1_Change() Dim fso As Object, Dossier As Object, NomDossier Dim Files As Object, File As Object, i As Integer Dim MyArray() Set fso = CreateObject("Scripting.FileSystemObject") Set Dossier = fso.GetFolder("c:zzx") Set Files = Dossier.Files If Files.Count <> 0 Then If SpinButton1.Value = 0 Or SpinButton1.Value > Files.Count Then Exit Sub End If For Each File In Files x = x + 1 ReDim Preserve MyArray(x) MyArray(x) = File Next End If ActiveSheet.Image1.Picture = LoadPicture(MyArray(SpinButton1.Value)) ActiveSheet.TextBox1 = MyArray(SpinButton1.Value) End Sub
isabelle
Alfred WALLACE a écrit : > bonsoir, > Guru du soir Espoir ! > voici ce que j'aimerai obtenir : > dans un formulaire, j'ai un objet "image". > à coté de cet onglet "image" j'ai 2 boutons "suivante" et > "precedente". > sous l'image, j'ai un "label" qui contiend le nom de l'image. > > grace à ces 2 boutons, je voudrais donc parcourir > un ensemble de s'images (100x100). qui sont stockées > pour le moment dans un repertoire. > > comment je dois faire pour pouvoir "balayer" toutes les images > qui se trouve dans le meme dossier que mon classeur. > > enfin, une fois que j'ai trouver la bonne image, je souhaite > "enregistrer" ce formulaire, afin qu'a la prochaine ouverture > l'image précédament choisie soit à nouveau. > > voila, c'est un peu "fouilli" mais, toutes les remarques seront > les biens venues ! > > José >
Bz et pardon Isabelle, il manquait un EndIf.
"isabelle" <i@v> a écrit dans le message de
news:ueY%23nfsSJHA.1172@TK2MSFTNGP03.phx.gbl...
bonjour Alfred,
voici un exemple avec un SpinButton :
Private Sub SpinButton1_Change()
Dim fso As Object, Dossier As Object, NomDossier
Dim Files As Object, File As Object, i As Integer
Dim MyArray()
Set fso = CreateObject("Scripting.FileSystemObject")
Set Dossier = fso.GetFolder("c:zzx")
Set Files = Dossier.Files
If Files.Count <> 0 Then
If SpinButton1.Value = 0 Or SpinButton1.Value > Files.Count Then
Exit Sub
End If
For Each File In Files
x = x + 1
ReDim Preserve MyArray(x)
MyArray(x) = File
Next
End If
ActiveSheet.Image1.Picture = LoadPicture(MyArray(SpinButton1.Value))
ActiveSheet.TextBox1 = MyArray(SpinButton1.Value)
End Sub
isabelle
Alfred WALLACE a écrit :
> bonsoir,
> Guru du soir Espoir !
> voici ce que j'aimerai obtenir :
> dans un formulaire, j'ai un objet "image".
> à coté de cet onglet "image" j'ai 2 boutons "suivante" et
> "precedente".
> sous l'image, j'ai un "label" qui contiend le nom de l'image.
>
> grace à ces 2 boutons, je voudrais donc parcourir
> un ensemble de s'images (100x100). qui sont stockées
> pour le moment dans un repertoire.
>
> comment je dois faire pour pouvoir "balayer" toutes les images
> qui se trouve dans le meme dossier que mon classeur.
>
> enfin, une fois que j'ai trouver la bonne image, je souhaite
> "enregistrer" ce formulaire, afin qu'a la prochaine ouverture
> l'image précédament choisie soit à nouveau.
>
> voila, c'est un peu "fouilli" mais, toutes les remarques seront
> les biens venues !
>
> José
>
Bz et pardon Isabelle, il manquait un EndIf. "isabelle" a écrit dans le message de news:ueY%
bonjour Alfred,
voici un exemple avec un SpinButton :
Private Sub SpinButton1_Change() Dim fso As Object, Dossier As Object, NomDossier Dim Files As Object, File As Object, i As Integer Dim MyArray() Set fso = CreateObject("Scripting.FileSystemObject") Set Dossier = fso.GetFolder("c:zzx") Set Files = Dossier.Files If Files.Count <> 0 Then If SpinButton1.Value = 0 Or SpinButton1.Value > Files.Count Then Exit Sub End If For Each File In Files x = x + 1 ReDim Preserve MyArray(x) MyArray(x) = File Next End If ActiveSheet.Image1.Picture = LoadPicture(MyArray(SpinButton1.Value)) ActiveSheet.TextBox1 = MyArray(SpinButton1.Value) End Sub
isabelle
Alfred WALLACE a écrit : > bonsoir, > Guru du soir Espoir ! > voici ce que j'aimerai obtenir : > dans un formulaire, j'ai un objet "image". > à coté de cet onglet "image" j'ai 2 boutons "suivante" et > "precedente". > sous l'image, j'ai un "label" qui contiend le nom de l'image. > > grace à ces 2 boutons, je voudrais donc parcourir > un ensemble de s'images (100x100). qui sont stockées > pour le moment dans un repertoire. > > comment je dois faire pour pouvoir "balayer" toutes les images > qui se trouve dans le meme dossier que mon classeur. > > enfin, une fois que j'ai trouver la bonne image, je souhaite > "enregistrer" ce formulaire, afin qu'a la prochaine ouverture > l'image précédament choisie soit à nouveau. > > voila, c'est un peu "fouilli" mais, toutes les remarques seront > les biens venues ! > > José >
isabelle
bonjour Fredo,
je n'ai pas mit de End If vue que j'avais mit sur une seul ligne, probablement sur deux lors de la copie..
isabelle
Fredo P. a écrit :
Bz et pardon Isabelle, il manquait un EndIf. "isabelle" a écrit dans le message de news:ueY%
bonjour Alfred,
voici un exemple avec un SpinButton :
Private Sub SpinButton1_Change() Dim fso As Object, Dossier As Object, NomDossier Dim Files As Object, File As Object, i As Integer Dim MyArray() Set fso = CreateObject("Scripting.FileSystemObject") Set Dossier = fso.GetFolder("c:zzx") Set Files = Dossier.Files If Files.Count <> 0 Then If SpinButton1.Value = 0 Or SpinButton1.Value > Files.Count Then Exit Sub End If For Each File In Files x = x + 1 ReDim Preserve MyArray(x) MyArray(x) = File Next End If ActiveSheet.Image1.Picture = LoadPicture(MyArray(SpinButton1.Value)) ActiveSheet.TextBox1 = MyArray(SpinButton1.Value) End Sub
isabelle
Alfred WALLACE a écrit :
bonsoir, Guru du soir Espoir ! voici ce que j'aimerai obtenir : dans un formulaire, j'ai un objet "image". à coté de cet onglet "image" j'ai 2 boutons "suivante" et "precedente". sous l'image, j'ai un "label" qui contiend le nom de l'image.
grace à ces 2 boutons, je voudrais donc parcourir un ensemble de s'images (100x100). qui sont stockées pour le moment dans un repertoire.
comment je dois faire pour pouvoir "balayer" toutes les images qui se trouve dans le meme dossier que mon classeur.
enfin, une fois que j'ai trouver la bonne image, je souhaite "enregistrer" ce formulaire, afin qu'a la prochaine ouverture l'image précédament choisie soit à nouveau.
voila, c'est un peu "fouilli" mais, toutes les remarques seront les biens venues !
José
bonjour Fredo,
je n'ai pas mit de End If
vue que j'avais mit sur une seul ligne,
probablement sur deux lors de la copie..
isabelle
Fredo P. a écrit :
Bz et pardon Isabelle, il manquait un EndIf.
"isabelle" <i@v> a écrit dans le message de
news:ueY%23nfsSJHA.1172@TK2MSFTNGP03.phx.gbl...
bonjour Alfred,
voici un exemple avec un SpinButton :
Private Sub SpinButton1_Change()
Dim fso As Object, Dossier As Object, NomDossier
Dim Files As Object, File As Object, i As Integer
Dim MyArray()
Set fso = CreateObject("Scripting.FileSystemObject")
Set Dossier = fso.GetFolder("c:zzx")
Set Files = Dossier.Files
If Files.Count <> 0 Then
If SpinButton1.Value = 0 Or SpinButton1.Value > Files.Count Then
Exit Sub
End If
For Each File In Files
x = x + 1
ReDim Preserve MyArray(x)
MyArray(x) = File
Next
End If
ActiveSheet.Image1.Picture = LoadPicture(MyArray(SpinButton1.Value))
ActiveSheet.TextBox1 = MyArray(SpinButton1.Value)
End Sub
isabelle
Alfred WALLACE a écrit :
bonsoir,
Guru du soir Espoir !
voici ce que j'aimerai obtenir :
dans un formulaire, j'ai un objet "image".
à coté de cet onglet "image" j'ai 2 boutons "suivante" et
"precedente".
sous l'image, j'ai un "label" qui contiend le nom de l'image.
grace à ces 2 boutons, je voudrais donc parcourir
un ensemble de s'images (100x100). qui sont stockées
pour le moment dans un repertoire.
comment je dois faire pour pouvoir "balayer" toutes les images
qui se trouve dans le meme dossier que mon classeur.
enfin, une fois que j'ai trouver la bonne image, je souhaite
"enregistrer" ce formulaire, afin qu'a la prochaine ouverture
l'image précédament choisie soit à nouveau.
voila, c'est un peu "fouilli" mais, toutes les remarques seront
les biens venues !
je n'ai pas mit de End If vue que j'avais mit sur une seul ligne, probablement sur deux lors de la copie..
isabelle
Fredo P. a écrit :
Bz et pardon Isabelle, il manquait un EndIf. "isabelle" a écrit dans le message de news:ueY%
bonjour Alfred,
voici un exemple avec un SpinButton :
Private Sub SpinButton1_Change() Dim fso As Object, Dossier As Object, NomDossier Dim Files As Object, File As Object, i As Integer Dim MyArray() Set fso = CreateObject("Scripting.FileSystemObject") Set Dossier = fso.GetFolder("c:zzx") Set Files = Dossier.Files If Files.Count <> 0 Then If SpinButton1.Value = 0 Or SpinButton1.Value > Files.Count Then Exit Sub End If For Each File In Files x = x + 1 ReDim Preserve MyArray(x) MyArray(x) = File Next End If ActiveSheet.Image1.Picture = LoadPicture(MyArray(SpinButton1.Value)) ActiveSheet.TextBox1 = MyArray(SpinButton1.Value) End Sub
isabelle
Alfred WALLACE a écrit :
bonsoir, Guru du soir Espoir ! voici ce que j'aimerai obtenir : dans un formulaire, j'ai un objet "image". à coté de cet onglet "image" j'ai 2 boutons "suivante" et "precedente". sous l'image, j'ai un "label" qui contiend le nom de l'image.
grace à ces 2 boutons, je voudrais donc parcourir un ensemble de s'images (100x100). qui sont stockées pour le moment dans un repertoire.
comment je dois faire pour pouvoir "balayer" toutes les images qui se trouve dans le meme dossier que mon classeur.
enfin, une fois que j'ai trouver la bonne image, je souhaite "enregistrer" ce formulaire, afin qu'a la prochaine ouverture l'image précédament choisie soit à nouveau.
voila, c'est un peu "fouilli" mais, toutes les remarques seront les biens venues !
José
Alfred WALLACE
bonjour Isabelle, et merci pour ton exemple. te serait il possible, de le commenter un peu ? je suis loin d'être à l'aise dans tout çà.
je supose que je doit faire un userform dans le vbe ? par contre je ne vois pas comment créer le spin button.
merci José
On 20 nov, 05:24, isabelle wrote:
bonjour Alfred,
voici un exemple avec un SpinButton :
Private Sub SpinButton1_Change() Dim fso As Object, Dossier As Object, NomDossier Dim Files As Object, File As Object, i As Integer Dim MyArray() Set fso = CreateObject("Scripting.FileSystemObject") Set Dossier = fso.GetFolder("c:zzx") Set Files = Dossier.Files If Files.Count <> 0 Then If SpinButton1.Value = 0 Or SpinButton1.Value > Files.Count The n Exit Sub For Each File In Files x = x + 1 ReDim Preserve MyArray(x) MyArray(x) = File Next End If ActiveSheet.Image1.Picture = LoadPicture(MyArray(SpinButton1.Va lue)) ActiveSheet.TextBox1 = MyArray(SpinButton1.Value) End Sub
isabelle
bonjour Isabelle, et merci pour ton exemple.
te serait il possible, de le commenter un peu ?
je suis loin d'être à l'aise dans tout çà.
je supose que je doit faire un userform dans le vbe ?
par contre je ne vois pas comment créer le spin button.
merci
José
On 20 nov, 05:24, isabelle <i@v> wrote:
bonjour Alfred,
voici un exemple avec un SpinButton :
Private Sub SpinButton1_Change()
Dim fso As Object, Dossier As Object, NomDossier
Dim Files As Object, File As Object, i As Integer
Dim MyArray()
Set fso = CreateObject("Scripting.FileSystemObject")
Set Dossier = fso.GetFolder("c:zzx")
Set Files = Dossier.Files
If Files.Count <> 0 Then
If SpinButton1.Value = 0 Or SpinButton1.Value > Files.Count The n
Exit Sub
For Each File In Files
x = x + 1
ReDim Preserve MyArray(x)
MyArray(x) = File
Next
End If
ActiveSheet.Image1.Picture = LoadPicture(MyArray(SpinButton1.Va lue))
ActiveSheet.TextBox1 = MyArray(SpinButton1.Value)
End Sub
bonjour Isabelle, et merci pour ton exemple. te serait il possible, de le commenter un peu ? je suis loin d'être à l'aise dans tout çà.
je supose que je doit faire un userform dans le vbe ? par contre je ne vois pas comment créer le spin button.
merci José
On 20 nov, 05:24, isabelle wrote:
bonjour Alfred,
voici un exemple avec un SpinButton :
Private Sub SpinButton1_Change() Dim fso As Object, Dossier As Object, NomDossier Dim Files As Object, File As Object, i As Integer Dim MyArray() Set fso = CreateObject("Scripting.FileSystemObject") Set Dossier = fso.GetFolder("c:zzx") Set Files = Dossier.Files If Files.Count <> 0 Then If SpinButton1.Value = 0 Or SpinButton1.Value > Files.Count The n Exit Sub For Each File In Files x = x + 1 ReDim Preserve MyArray(x) MyArray(x) = File Next End If ActiveSheet.Image1.Picture = LoadPicture(MyArray(SpinButton1.Va lue)) ActiveSheet.TextBox1 = MyArray(SpinButton1.Value) End Sub
isabelle
isabelle
bonjour José ,
voici le fichier, n'oublie pas de changer dans la macro sur la ligne : Set Dossier = fso.GetFolder("c:zzx") le chemin d'accès à ton répertoire photo
sur un click sur le SpinButton du haut tu verra apparaitre la photo sur l'objet image,
http://cjoint.com/?luie7IMqL7
isabelle
Alfred WALLACE a écrit :
bonjour Isabelle, et merci pour ton exemple. te serait il possible, de le commenter un peu ? je suis loin d'être à l'aise dans tout çà.
je supose que je doit faire un userform dans le vbe ? par contre je ne vois pas comment créer le spin button.
merci José
On 20 nov, 05:24, isabelle wrote:
bonjour Alfred,
voici un exemple avec un SpinButton :
Private Sub SpinButton1_Change() Dim fso As Object, Dossier As Object, NomDossier Dim Files As Object, File As Object, i As Integer Dim MyArray() Set fso = CreateObject("Scripting.FileSystemObject") Set Dossier = fso.GetFolder("c:zzx") Set Files = Dossier.Files If Files.Count <> 0 Then If SpinButton1.Value = 0 Or SpinButton1.Value > Files.Count Then Exit Sub For Each File In Files x = x + 1 ReDim Preserve MyArray(x) MyArray(x) = File Next End If ActiveSheet.Image1.Picture = LoadPicture(MyArray(SpinButton1.Value)) ActiveSheet.TextBox1 = MyArray(SpinButton1.Value) End Sub
isabelle
bonjour José ,
voici le fichier, n'oublie pas de changer dans la macro sur la ligne :
Set Dossier = fso.GetFolder("c:zzx")
le chemin d'accès à ton répertoire photo
sur un click sur le SpinButton du haut tu verra apparaitre la photo sur
l'objet image,
http://cjoint.com/?luie7IMqL7
isabelle
Alfred WALLACE a écrit :
bonjour Isabelle, et merci pour ton exemple.
te serait il possible, de le commenter un peu ?
je suis loin d'être à l'aise dans tout çà.
je supose que je doit faire un userform dans le vbe ?
par contre je ne vois pas comment créer le spin button.
merci
José
On 20 nov, 05:24, isabelle <i@v> wrote:
bonjour Alfred,
voici un exemple avec un SpinButton :
Private Sub SpinButton1_Change()
Dim fso As Object, Dossier As Object, NomDossier
Dim Files As Object, File As Object, i As Integer
Dim MyArray()
Set fso = CreateObject("Scripting.FileSystemObject")
Set Dossier = fso.GetFolder("c:zzx")
Set Files = Dossier.Files
If Files.Count <> 0 Then
If SpinButton1.Value = 0 Or SpinButton1.Value > Files.Count Then
Exit Sub
For Each File In Files
x = x + 1
ReDim Preserve MyArray(x)
MyArray(x) = File
Next
End If
ActiveSheet.Image1.Picture = LoadPicture(MyArray(SpinButton1.Value))
ActiveSheet.TextBox1 = MyArray(SpinButton1.Value)
End Sub
voici le fichier, n'oublie pas de changer dans la macro sur la ligne : Set Dossier = fso.GetFolder("c:zzx") le chemin d'accès à ton répertoire photo
sur un click sur le SpinButton du haut tu verra apparaitre la photo sur l'objet image,
http://cjoint.com/?luie7IMqL7
isabelle
Alfred WALLACE a écrit :
bonjour Isabelle, et merci pour ton exemple. te serait il possible, de le commenter un peu ? je suis loin d'être à l'aise dans tout çà.
je supose que je doit faire un userform dans le vbe ? par contre je ne vois pas comment créer le spin button.
merci José
On 20 nov, 05:24, isabelle wrote:
bonjour Alfred,
voici un exemple avec un SpinButton :
Private Sub SpinButton1_Change() Dim fso As Object, Dossier As Object, NomDossier Dim Files As Object, File As Object, i As Integer Dim MyArray() Set fso = CreateObject("Scripting.FileSystemObject") Set Dossier = fso.GetFolder("c:zzx") Set Files = Dossier.Files If Files.Count <> 0 Then If SpinButton1.Value = 0 Or SpinButton1.Value > Files.Count Then Exit Sub For Each File In Files x = x + 1 ReDim Preserve MyArray(x) MyArray(x) = File Next End If ActiveSheet.Image1.Picture = LoadPicture(MyArray(SpinButton1.Value)) ActiveSheet.TextBox1 = MyArray(SpinButton1.Value) End Sub
isabelle
isabelle
ps/
les 3 controls sur la Feuil1 proviennent de la barre d'outils Control et la macro est sur la page code de la Feuil1 tu y accede en fesant un click droit sur l'onglet Feuil1 et selectionner Visualiser le code
isabelle
Alfred WALLACE a écrit :
bonjour Isabelle, et merci pour ton exemple. te serait il possible, de le commenter un peu ? je suis loin d'être à l'aise dans tout çà.
je supose que je doit faire un userform dans le vbe ? par contre je ne vois pas comment créer le spin button.
merci José
On 20 nov, 05:24, isabelle wrote:
bonjour Alfred,
voici un exemple avec un SpinButton :
Private Sub SpinButton1_Change() Dim fso As Object, Dossier As Object, NomDossier Dim Files As Object, File As Object, i As Integer Dim MyArray() Set fso = CreateObject("Scripting.FileSystemObject") Set Dossier = fso.GetFolder("c:zzx") Set Files = Dossier.Files If Files.Count <> 0 Then If SpinButton1.Value = 0 Or SpinButton1.Value > Files.Count Then Exit Sub For Each File In Files x = x + 1 ReDim Preserve MyArray(x) MyArray(x) = File Next End If ActiveSheet.Image1.Picture = LoadPicture(MyArray(SpinButton1.Value)) ActiveSheet.TextBox1 = MyArray(SpinButton1.Value) End Sub
isabelle
ps/
les 3 controls sur la Feuil1 proviennent de la barre d'outils Control
et la macro est sur la page code de la Feuil1
tu y accede en fesant un click droit sur l'onglet Feuil1 et selectionner
Visualiser le code
isabelle
Alfred WALLACE a écrit :
bonjour Isabelle, et merci pour ton exemple.
te serait il possible, de le commenter un peu ?
je suis loin d'être à l'aise dans tout çà.
je supose que je doit faire un userform dans le vbe ?
par contre je ne vois pas comment créer le spin button.
merci
José
On 20 nov, 05:24, isabelle <i@v> wrote:
bonjour Alfred,
voici un exemple avec un SpinButton :
Private Sub SpinButton1_Change()
Dim fso As Object, Dossier As Object, NomDossier
Dim Files As Object, File As Object, i As Integer
Dim MyArray()
Set fso = CreateObject("Scripting.FileSystemObject")
Set Dossier = fso.GetFolder("c:zzx")
Set Files = Dossier.Files
If Files.Count <> 0 Then
If SpinButton1.Value = 0 Or SpinButton1.Value > Files.Count Then
Exit Sub
For Each File In Files
x = x + 1
ReDim Preserve MyArray(x)
MyArray(x) = File
Next
End If
ActiveSheet.Image1.Picture = LoadPicture(MyArray(SpinButton1.Value))
ActiveSheet.TextBox1 = MyArray(SpinButton1.Value)
End Sub
les 3 controls sur la Feuil1 proviennent de la barre d'outils Control et la macro est sur la page code de la Feuil1 tu y accede en fesant un click droit sur l'onglet Feuil1 et selectionner Visualiser le code
isabelle
Alfred WALLACE a écrit :
bonjour Isabelle, et merci pour ton exemple. te serait il possible, de le commenter un peu ? je suis loin d'être à l'aise dans tout çà.
je supose que je doit faire un userform dans le vbe ? par contre je ne vois pas comment créer le spin button.
merci José
On 20 nov, 05:24, isabelle wrote:
bonjour Alfred,
voici un exemple avec un SpinButton :
Private Sub SpinButton1_Change() Dim fso As Object, Dossier As Object, NomDossier Dim Files As Object, File As Object, i As Integer Dim MyArray() Set fso = CreateObject("Scripting.FileSystemObject") Set Dossier = fso.GetFolder("c:zzx") Set Files = Dossier.Files If Files.Count <> 0 Then If SpinButton1.Value = 0 Or SpinButton1.Value > Files.Count Then Exit Sub For Each File In Files x = x + 1 ReDim Preserve MyArray(x) MyArray(x) = File Next End If ActiveSheet.Image1.Picture = LoadPicture(MyArray(SpinButton1.Value)) ActiveSheet.TextBox1 = MyArray(SpinButton1.Value) End Sub
isabelle
Fredo P.
"isabelle" a écrit dans le message de news:
bonjour Fredo,
je n'ai pas mit de End If vue que j'avais mit sur une seul ligne, probablement sur deux lors de la copie..
Milles excuses, je suis impardonnable d'avoir pu douté de toi.!
"isabelle" <i@v> a écrit dans le message de
news:OIlMdPtSJHA.5568@TK2MSFTNGP05.phx.gbl...
bonjour Fredo,
je n'ai pas mit de End If
vue que j'avais mit sur une seul ligne,
probablement sur deux lors de la copie..
Milles excuses, je suis impardonnable d'avoir pu douté de toi.!
allez c'est bon pour un tour en IV65536 dit donc, y'a longtemps que je n'avais un client ;-) isabelle
Fredo P. a écrit :
"isabelle" a écrit dans le message de news:
bonjour Fredo,
je n'ai pas mit de End If vue que j'avais mit sur une seul ligne, probablement sur deux lors de la copie..
Milles excuses, je suis impardonnable d'avoir pu douté de toi.!
Alfred WALLACE
bonjour Isabelle, merci pour ton aide précieuse ! je me suis permis de "commenter" ton code pour être certain de bien avoir capté tout çà, et pour (ofcourse !! lol) peut être exprimer quelques questions :
Private Sub SpinButton1_Change() Dim fso As Object, Dossier As Object, NomDossier Dim Files As Object, File As Object, i As Integer Dim MyArray()
Set fso = CreateObject("Scripting.FileSystemObject") Set Dossier = fso.GetFolder("mondossier-qui-va-bien")
'est-ce que je pourrais utiliser ici : chemin = ActiveWorkbook.Path 'pour être dans le dossier du classeur.
Set Files = Dossier.Files
Range("A1").Value = Files.Count ' çà c'est moi qui l'ai rajouter
If Files.Count <> 0 Then ' si il y a des fichiers.
' la je ne comprend pas exactement ce que tu as voulu faire ici car on sort de la proc If SpinButton1.Value = 0 Or SpinButton1.Value > Files.Count Then Exit Sub
' ici on charge dans le tableau le nom des images ainsi que leur chemin For Each File In Files x = x + 1 ReDim Preserve MyArray(x) ' ici tu redimentionne le tableau en gardant ses valeurs MyArray(x) = File ' tu rajoutes l'entrée chemin et nom du fichier. Next End If
ActiveSheet.Image2.Picture = LoadPicture(MyArray (SpinButton1.Value)) ' rien de spécial à dire ici ActiveSheet.TextBox1 = MyArray(SpinButton1.Value) ' rien de spécial à dire ici End Sub
Parcontre, je me demande pourquoi tu recharge le tableau à chaque fois que le click sur le spin ?
Merci encore pour tes conseils !!!
José (heu voui, alfred c un pseudo)
On 20 nov, 08:26, isabelle wrote:
ps/
les 3 controls sur la Feuil1 proviennent de la barre d'outils Control et la macro est sur la page code de la Feuil1 tu y accede en fesant un click droit sur l'onglet Feuil1 et selectionner Visualiser le code
isabelle
bonjour Isabelle,
merci pour ton aide précieuse !
je me suis permis de "commenter" ton code pour être certain de bien
avoir capté tout çà,
et pour (ofcourse !! lol) peut être exprimer quelques questions :
Private Sub SpinButton1_Change()
Dim fso As Object, Dossier As Object, NomDossier
Dim Files As Object, File As Object, i As Integer
Dim MyArray()
Set fso = CreateObject("Scripting.FileSystemObject")
Set Dossier = fso.GetFolder("mondossier-qui-va-bien")
'est-ce que je pourrais utiliser ici : chemin = ActiveWorkbook.Path
'pour être dans le dossier du classeur.
Set Files = Dossier.Files
Range("A1").Value = Files.Count ' çà c'est moi qui l'ai rajouter
If Files.Count <> 0 Then ' si il y a des fichiers.
' la je ne comprend pas exactement ce que tu as voulu faire ici
car on sort de la proc
If SpinButton1.Value = 0 Or SpinButton1.Value > Files.Count Then
Exit Sub
' ici on charge dans le tableau le nom des images ainsi que leur
chemin
For Each File In Files
x = x + 1
ReDim Preserve MyArray(x) ' ici tu redimentionne le tableau
en gardant ses valeurs
MyArray(x) = File ' tu rajoutes l'entrée chemin et nom du
fichier.
Next
End If
ActiveSheet.Image2.Picture = LoadPicture(MyArray
(SpinButton1.Value)) ' rien de spécial à dire ici
ActiveSheet.TextBox1 = MyArray(SpinButton1.Value) ' rien de
spécial à dire ici
End Sub
Parcontre, je me demande pourquoi tu recharge le tableau à chaque fois
que
le click sur le spin ?
Merci encore pour tes conseils !!!
José (heu voui, alfred c un pseudo)
On 20 nov, 08:26, isabelle <i@v> wrote:
ps/
les 3 controls sur la Feuil1 proviennent de la barre d'outils Control
et la macro est sur la page code de la Feuil1
tu y accede en fesant un click droit sur l'onglet Feuil1 et selectionner
Visualiser le code
bonjour Isabelle, merci pour ton aide précieuse ! je me suis permis de "commenter" ton code pour être certain de bien avoir capté tout çà, et pour (ofcourse !! lol) peut être exprimer quelques questions :
Private Sub SpinButton1_Change() Dim fso As Object, Dossier As Object, NomDossier Dim Files As Object, File As Object, i As Integer Dim MyArray()
Set fso = CreateObject("Scripting.FileSystemObject") Set Dossier = fso.GetFolder("mondossier-qui-va-bien")
'est-ce que je pourrais utiliser ici : chemin = ActiveWorkbook.Path 'pour être dans le dossier du classeur.
Set Files = Dossier.Files
Range("A1").Value = Files.Count ' çà c'est moi qui l'ai rajouter
If Files.Count <> 0 Then ' si il y a des fichiers.
' la je ne comprend pas exactement ce que tu as voulu faire ici car on sort de la proc If SpinButton1.Value = 0 Or SpinButton1.Value > Files.Count Then Exit Sub
' ici on charge dans le tableau le nom des images ainsi que leur chemin For Each File In Files x = x + 1 ReDim Preserve MyArray(x) ' ici tu redimentionne le tableau en gardant ses valeurs MyArray(x) = File ' tu rajoutes l'entrée chemin et nom du fichier. Next End If
ActiveSheet.Image2.Picture = LoadPicture(MyArray (SpinButton1.Value)) ' rien de spécial à dire ici ActiveSheet.TextBox1 = MyArray(SpinButton1.Value) ' rien de spécial à dire ici End Sub
Parcontre, je me demande pourquoi tu recharge le tableau à chaque fois que le click sur le spin ?
Merci encore pour tes conseils !!!
José (heu voui, alfred c un pseudo)
On 20 nov, 08:26, isabelle wrote:
ps/
les 3 controls sur la Feuil1 proviennent de la barre d'outils Control et la macro est sur la page code de la Feuil1 tu y accede en fesant un click droit sur l'onglet Feuil1 et selectionner Visualiser le code
isabelle
isabelle
bonjour José,
Alfred WALLACE a écrit :
Set Dossier = fso.GetFolder("mondossier-qui-va-bien")
'est-ce que je pourrais utiliser ici : chemin = ActiveWorkbook.Path 'pour être dans le dossier du classeur.
oui, mais alors il faudra ajouter un test lors de la boucle sur les fichiers pour vérifier si le file a une extention xls
For Each File In Files
If not Right(File, 3) = "xls" then
' la je ne comprend pas exactement ce que tu as voulu faire ici car on sort de la proc If SpinButton1.Value = 0 Or SpinButton1.Value > Files.Count Then Exit Sub
c'ést une facon de limité l'action Min et Max du SpinButton, j'ai modifié cette approche dans l'exemple plus bas
Parcontre, je me demande pourquoi tu recharge le tableau à chaque fois que le click sur le spin ?
une autre facon de faire serait de charger le tableau à l'ouverture du fichier et le stoker dans une autre feuille ceci nous donnerais toutes le adresse des images
Private Sub Workbook_Open() Dim fso As Object, Dossier As Object Dim Files As Object, File As Object, x As Integer Dim MyArray() Sheets("Feuil2").Range("A:A").ClearContents Set fso = CreateObject("Scripting.FileSystemObject") Set Dossier = fso.GetFolder("c:zzx") Set Files = Dossier.Files If Files.Count <> 0 Then For Each File In Files If Not Right(File, 3) = "xls" Then x = x + 1 Sheets("Feuil2").Range("A" & x) = File End If Next End If Sheets("Feuil1").Range("A1").Value = Sheets("Feuil2").Range("A65536").End(xlUp).Row Sheets("Feuil1").SpinButton1.Min = 1 Sheets("Feuil1").SpinButton1.Max = Sheets("Feuil2").Range("A65536").End(xlUp).Row End Sub
Private Sub SpinButton1_Change() ActiveSheet.Image2.Picture = LoadPicture(Sheets("Feuil2").Range("A" & SpinButton1.Value)) ActiveSheet.TextBox1 = Sheets("Feuil2").Range("A" & SpinButton1.Value) End Sub
isabelle
bonjour José,
Alfred WALLACE a écrit :
Set Dossier = fso.GetFolder("mondossier-qui-va-bien")
'est-ce que je pourrais utiliser ici : chemin = ActiveWorkbook.Path
'pour être dans le dossier du classeur.
oui, mais alors il faudra ajouter un test lors de la boucle sur les
fichiers pour vérifier si le file a une extention xls
For Each File In Files
If not Right(File, 3) = "xls" then
' la je ne comprend pas exactement ce que tu as voulu faire ici
car on sort de la proc
If SpinButton1.Value = 0 Or SpinButton1.Value > Files.Count Then
Exit Sub
c'ést une facon de limité l'action Min et Max du SpinButton, j'ai
modifié cette approche dans l'exemple plus bas
Parcontre, je me demande pourquoi tu recharge le tableau à chaque fois
que
le click sur le spin ?
une autre facon de faire serait de charger le tableau à l'ouverture du
fichier et le stoker dans une autre feuille
ceci nous donnerais toutes le adresse des images
Private Sub Workbook_Open()
Dim fso As Object, Dossier As Object
Dim Files As Object, File As Object, x As Integer
Dim MyArray()
Sheets("Feuil2").Range("A:A").ClearContents
Set fso = CreateObject("Scripting.FileSystemObject")
Set Dossier = fso.GetFolder("c:zzx")
Set Files = Dossier.Files
If Files.Count <> 0 Then
For Each File In Files
If Not Right(File, 3) = "xls" Then
x = x + 1
Sheets("Feuil2").Range("A" & x) = File
End If
Next
End If
Sheets("Feuil1").Range("A1").Value =
Sheets("Feuil2").Range("A65536").End(xlUp).Row
Sheets("Feuil1").SpinButton1.Min = 1
Sheets("Feuil1").SpinButton1.Max =
Sheets("Feuil2").Range("A65536").End(xlUp).Row
End Sub
Private Sub SpinButton1_Change()
ActiveSheet.Image2.Picture = LoadPicture(Sheets("Feuil2").Range("A"
& SpinButton1.Value))
ActiveSheet.TextBox1 = Sheets("Feuil2").Range("A" & SpinButton1.Value)
End Sub
Set Dossier = fso.GetFolder("mondossier-qui-va-bien")
'est-ce que je pourrais utiliser ici : chemin = ActiveWorkbook.Path 'pour être dans le dossier du classeur.
oui, mais alors il faudra ajouter un test lors de la boucle sur les fichiers pour vérifier si le file a une extention xls
For Each File In Files
If not Right(File, 3) = "xls" then
' la je ne comprend pas exactement ce que tu as voulu faire ici car on sort de la proc If SpinButton1.Value = 0 Or SpinButton1.Value > Files.Count Then Exit Sub
c'ést une facon de limité l'action Min et Max du SpinButton, j'ai modifié cette approche dans l'exemple plus bas
Parcontre, je me demande pourquoi tu recharge le tableau à chaque fois que le click sur le spin ?
une autre facon de faire serait de charger le tableau à l'ouverture du fichier et le stoker dans une autre feuille ceci nous donnerais toutes le adresse des images
Private Sub Workbook_Open() Dim fso As Object, Dossier As Object Dim Files As Object, File As Object, x As Integer Dim MyArray() Sheets("Feuil2").Range("A:A").ClearContents Set fso = CreateObject("Scripting.FileSystemObject") Set Dossier = fso.GetFolder("c:zzx") Set Files = Dossier.Files If Files.Count <> 0 Then For Each File In Files If Not Right(File, 3) = "xls" Then x = x + 1 Sheets("Feuil2").Range("A" & x) = File End If Next End If Sheets("Feuil1").Range("A1").Value = Sheets("Feuil2").Range("A65536").End(xlUp).Row Sheets("Feuil1").SpinButton1.Min = 1 Sheets("Feuil1").SpinButton1.Max = Sheets("Feuil2").Range("A65536").End(xlUp).Row End Sub
Private Sub SpinButton1_Change() ActiveSheet.Image2.Picture = LoadPicture(Sheets("Feuil2").Range("A" & SpinButton1.Value)) ActiveSheet.TextBox1 = Sheets("Feuil2").Range("A" & SpinButton1.Value) End Sub