OVH Cloud OVH Cloud

Image suivante/précédente

8 réponses
Avatar
Tial
Bonjour à toutes et tous.

Je rencontre les problèmes suivant :

J'ai deux boutons pour afficher : image précédente et image suivante (voir
code ci dessous).

Ces images sont dans un répertoire et nommées 000.JPG,
001.JPG,002.JPG......ainsi de suite.

1)Quand je suis à la dernière image affichée de mon répertoire.....Si je
valide image suivante.....

2)Quand je suis à la première image affichée de mon répertoire.....Si je
valide image précédente.....

J'ai ce message d'erreur (dans les deux cas):

Erreur d'exécution'-2147024809 (80070057)':
Le fichier spécifié est introuvable.


Serait il possible de mettre un message genre :
1) La dernière image est déja affichée.
2) La première image est déja affichée.
Pour ne plus avoir cette vilaine erreur d'exécution.

Par avance merci à vous.
Tial




Sub SpinButtonChange()
'On Error Resume Next
Dim strImage As String
SpinButtonMax
If SpinButton2.Max < 0 Then
MsgBox "Pas de photo dans le répertoire !", vbCritical + vbOKOnly
SpinButton2.Value = 0
Else

Do
strImage = String(3 - Len(CStr(SpinButton2.Value)), "0") & SpinButton2.Value
& ".JPG"
If strImage = Range("S3").Value Then
SpinButton2.Value = Switch(SpinButton2.Value = SpinButton2.Max, 0,
SpinButton2.Value = 0, SpinButton2.Max)
Else
Exit Do
End If
Loop
Feuil1.Shapes("Rectangle 1827").Fill.UserPicture strChemin & strImage
Range("S3").Select
DeProtege
Range("S3").Value = strImage
Protege
End If
End Sub

8 réponses

Avatar
anonymousA
bonjour,

on error resume next

puis Message d'erreur en fonction du bouton cliqué pour indiquer le message
approprié

puis on error goto 0

A+



Bonjour à toutes et tous.

Je rencontre les problèmes suivant :

J'ai deux boutons pour afficher : image précédente et image suivante (voir
code ci dessous).

Ces images sont dans un répertoire et nommées 000.JPG,
001.JPG,002.JPG......ainsi de suite.

1)Quand je suis à la dernière image affichée de mon répertoire.....Si je
valide image suivante.....

2)Quand je suis à la première image affichée de mon répertoire.....Si je
valide image précédente.....

J'ai ce message d'erreur (dans les deux cas):

Erreur d'exécution'-2147024809 (80070057)':
Le fichier spécifié est introuvable.


Serait il possible de mettre un message genre :
1) La dernière image est déja affichée.
2) La première image est déja affichée.
Pour ne plus avoir cette vilaine erreur d'exécution.

Par avance merci à vous.
Tial




Sub SpinButtonChange()
'On Error Resume Next
Dim strImage As String
SpinButtonMax
If SpinButton2.Max < 0 Then
MsgBox "Pas de photo dans le répertoire !", vbCritical + vbOKOnly
SpinButton2.Value = 0
Else

Do
strImage = String(3 - Len(CStr(SpinButton2.Value)), "0") & SpinButton2.Value
& ".JPG"
If strImage = Range("S3").Value Then
SpinButton2.Value = Switch(SpinButton2.Value = SpinButton2.Max, 0,
SpinButton2.Value = 0, SpinButton2.Max)
Else
Exit Do
End If
Loop
Feuil1.Shapes("Rectangle 1827").Fill.UserPicture strChemin & strImage
Range("S3").Select
DeProtege
Range("S3").Value = strImage
Protege
End If
End Sub


Avatar
Tial
Merci bien
Mais il y 'a encore un problème:

J'utilise le code (plus de msg d'erreur)
On error resume next
Puis on error goto 0

Mais quand j'arrive à la première ou dernière image image (et que je clic),
dans la cellule "S3" (ou j'affiche le nom de l'image):
j'ai 012.jpg...........021.jpg (mais l'image reste la meme) alors que je
n'ai que 11 images de disponible.

Peut etre ai je mal placé le code.
j'espère ne pas etre trop confus dans mes explications
Merci
Tial
Avatar
anonymousA
suis désolé, je ne comprends pas ce que tu veux dire.

Un peu plus d'explications détaillées,STP .

A+


Merci bien
Mais il y 'a encore un problème:

J'utilise le code (plus de msg d'erreur)
On error resume next
Puis on error goto 0

Mais quand j'arrive à la première ou dernière image image (et que je clic),
dans la cellule "S3" (ou j'affiche le nom de l'image):
j'ai 012.jpg...........021.jpg (mais l'image reste la meme) alors que je
n'ai que 11 images de disponible.

Peut etre ai je mal placé le code.
j'espère ne pas etre trop confus dans mes explications
Merci
Tial





Avatar
Tial
bonjour
Tout d'abord, merci pour ma barre d'outils personnalisée (post plus haut).
..Controls.Add Type:=msoControlSplitDropdown, ID:8, Before:=1
au lieu de
..Controls.Add Type:=msoControlButton, Id:8, Before:=1
...ça fonctionne à merveille.



Pour mon problème "d'image suivante/précédente", je vais essayer d'etre plus
clair.


Dans mon classeur j'affiche des images contenues dans un répertoire via deux
boutons:
1) afficher image précédente.
2) afficher image suivante.
Je récupère également le nom de l'image dans ma cellule "S3".

Pour tester j'ai mis 11 images dans mon répertoire nommées de 000.jpg à
010.jpg.

Le problème:
Quand j'affiche ma première image (000.jpg) et que je clic image précédente,
j'ai le message d'erreur signalé dans mon premier post.
Quand j'affiche ma dernière image (011.jpg) et que je clic image suivante,
j'ai le message d'erreur signalé dans mon premier post.
Le nom des images s'affiche correctement en "S3" pendant la manip.

J'ai testé la solution suivante (que j'ai peut etre mal placé dans mon
code?) :
On error resume next.....Puis on error goto 0.
Le problème avec cette solution:
Quand j'affiche ma première image (000.jpg) et que je clic "image précédente",
je n'ai plus le message d'errur mais:
L'image 000.jpg reste affichée mais en "S3" je récupère le nom 021.jpg et si
je
clic ainsi de suite (020.jpg, 019.jpg...), le changement d'image repart
normalement quand j'arrive à l'image 0.11.jpg.
Meme problème quand j'affiche la dernière image et que je clic "image
suivante".

Pourquoi 021.jpg alors que je n'ai que 11 images? je ne sais pas.

Voila, j'espère avoir été un peu plus clair.

Merci
Tial
Avatar
anonymousA
Regarde ton programme. Il est vraisemblable que celui-ci contient une
incrémation ( ou décrémentation) du N° de l'image suivant le bouton que tu
cliques, ou publies le code associé aux boutons pour qu'on y voie plus clair.
Par ailleurs, c'est normal que le code ne se planteplus, puisque c'est
justement ce qu'on souhaite en écrivant on error resume next.

A+


bonjour
Tout d'abord, merci pour ma barre d'outils personnalisée (post plus haut).
..Controls.Add Type:=msoControlSplitDropdown, ID:8, Before:=1
au lieu de
..Controls.Add Type:=msoControlButton, Id:8, Before:=1
...ça fonctionne à merveille.



Pour mon problème "d'image suivante/précédente", je vais essayer d'etre plus
clair.


Dans mon classeur j'affiche des images contenues dans un répertoire via deux
boutons:
1) afficher image précédente.
2) afficher image suivante.
Je récupère également le nom de l'image dans ma cellule "S3".

Pour tester j'ai mis 11 images dans mon répertoire nommées de 000.jpg à
010.jpg.

Le problème:
Quand j'affiche ma première image (000.jpg) et que je clic image précédente,
j'ai le message d'erreur signalé dans mon premier post.
Quand j'affiche ma dernière image (011.jpg) et que je clic image suivante,
j'ai le message d'erreur signalé dans mon premier post.
Le nom des images s'affiche correctement en "S3" pendant la manip.

J'ai testé la solution suivante (que j'ai peut etre mal placé dans mon
code?) :
On error resume next.....Puis on error goto 0.
Le problème avec cette solution:
Quand j'affiche ma première image (000.jpg) et que je clic "image précédente",
je n'ai plus le message d'errur mais:
L'image 000.jpg reste affichée mais en "S3" je récupère le nom 021.jpg et si
je
clic ainsi de suite (020.jpg, 019.jpg...), le changement d'image repart
normalement quand j'arrive à l'image 0.11.jpg.
Meme problème quand j'affiche la dernière image et que je clic "image
suivante".

Pourquoi 021.jpg alors que je n'ai que 11 images? je ne sais pas.

Voila, j'espère avoir été un peu plus clair.

Merci
Tial



Avatar
Tial
Voila tout le code lié à mes boutons :

Sub SpinButtonMax()
On Error Resume Next
With Application.FileSearch
.NewSearch 'Modif 2004
.SearchSubFolders = True
.LookIn = "c:MM"
.FileName = "0??.JPG"
.Execute
SpinButton2.Max = .FoundFiles.Count - 1
End With
End Sub



Sub SpinButtonChange()
'On Error Resume Next
Dim strImage As String
SpinButtonMax
If SpinButton2.Max < 0 Then
MsgBox "Pas de photo dans le répertoire !", vbCritical + vbOKOnly
SpinButton2.Value = 0
Else

Do
strImage = String(3 - Len(CStr(SpinButton2.Value)), "0") &
SpinButton2.Value & ".JPG"
If strImage = Range("S3").Value Then
SpinButton2.Value = Switch(SpinButton2.Value = SpinButton2.Max,
0, SpinButton2.Value = 0, SpinButton2.Max)
Else
Exit Do
End If
Loop
Feuil1.Shapes("Rectangle 1827").Fill.UserPicture strChemin & strImage
Range("S3").Select
DeProtege
Range("S3").Value = strImage
Protege
End If
End Sub

Private Sub SpinButton2_SpinDown()
SpinButtonChange
End Sub

Private Sub SpinButton2_SpinUp()
SpinButtonChange
End Sub
Avatar
anonymousA
désolé, je n'arrive pas à reproduire ce que tu me décris. Y a t-il autre
chose que tu aurais omis de me dire ?



Voila tout le code lié à mes boutons :

Sub SpinButtonMax()
On Error Resume Next
With Application.FileSearch
.NewSearch 'Modif 2004
.SearchSubFolders = True
.LookIn = "c:MM"
.FileName = "0??.JPG"
.Execute
SpinButton2.Max = .FoundFiles.Count - 1
End With
End Sub



Sub SpinButtonChange()
'On Error Resume Next
Dim strImage As String
SpinButtonMax
If SpinButton2.Max < 0 Then
MsgBox "Pas de photo dans le répertoire !", vbCritical + vbOKOnly
SpinButton2.Value = 0
Else

Do
strImage = String(3 - Len(CStr(SpinButton2.Value)), "0") &
SpinButton2.Value & ".JPG"
If strImage = Range("S3").Value Then
SpinButton2.Value = Switch(SpinButton2.Value = SpinButton2.Max,
0, SpinButton2.Value = 0, SpinButton2.Max)
Else
Exit Do
End If
Loop
Feuil1.Shapes("Rectangle 1827").Fill.UserPicture strChemin & strImage
Range("S3").Select
DeProtege
Range("S3").Value = strImage
Protege
End If
End Sub

Private Sub SpinButton2_SpinDown()
SpinButtonChange
End Sub

Private Sub SpinButton2_SpinUp()
SpinButtonChange
End Sub


Avatar
Tial
Non, rien omis.



désolé, je n'arrive pas à reproduire ce que tu me décris. Y a t-il autre
chose que tu aurais omis de me dire ?