OVH Cloud OVH Cloud

Tri d'une liste en vba

11 réponses
Avatar
Fred Moncomble
Bonjour,=20
J'ai r=E9cup=E9r=E9 et ajout=E9 quelques fonctionnalit=E9s =E0 une=20
macro Word tir=E9e de Windows News et permettant d'afficher=20
des photos sur Word. L'int=E9r=EAt =E9tant de choisir le=20
format : nbre de vignettes par page...
Mon pb : les photos sont s=E9lectionn=E9es dans un ordre=20
al=E9atoire (peut-=EAtre par ordre dans lequel elles ont =E9t=E9=20
stock=E9e sur le disque ?) et je ne sais pas comment faire=20
pour les trier, par ex par nom.
Ci-dessous une partie du code vba.
Si quelqu'un a une id=E9e...
D'avance merci.
Fred

Public vPhotos(), vPhotosNom(), vPhotosNomChemin(),=20
vNbrePhotos, NomPhoto

Sub ImpressionPhotos()
Dim vDlg As FileDialog
Set vDlg =3D Application.FileDialog(msoFileDialogFilePicker)

NomPhoto =3D Null

With vDlg
.AllowMultiSelect =3D True
.Filters.Add "Images", "*.jpg; *.jpeg", 1
.FilterIndex =3D 1
.Show
vNbrePhotos =3D .SelectedItems.Count
If vNbrePhotos =3D 0 Then
MsgBox "Vous n'avez s=E9lectionn=E9 aucune photo.",=20
vbOKOnly, "Choix des photos"
Exit Sub
End If
ReDim vPhotos(vNbrePhotos)
ReDim vPhotosNomChemin(vNbrePhotos)
ReDim vPhotosNom(vNbrePhotos)
=20
For i =3D 1 To vNbrePhotos
vPhotos(i) =3D vDlg.SelectedItems(i)

'Traitement de l'extension
NomFichier =3D vPhotos(i)
vPhotosNomChemin(i) =3D NomFichier
Ex =3D InStrRev(NomFichier, ".")
If Ex <> 0 Then NomFichier =3D Left(NomFichier, Ex - 1)

'Traitement du chemin
Total =3D Len(NomFichier)
Nom =3D InStrRev(NomFichier, "\")
If Nom <> 0 Then NomFichier =3D Right(NomFichier, Total -=20
Nom)
vPhotosNom(i) =3D NomFichier

Next
End With

FrmPresentation.Show
End Sub

1 réponse

1 2
Avatar
Geo
Bonjour Fred


Bonjour,
La macro se trouve dans le dernier Windows news n° 123
juillet-août 2004.


Désolé, mon abonnement s'est arrêté avant.

Bon dimanche à tous

1 2