IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Macro affichage aléatoire d'images


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 1
    Par défaut Macro affichage aléatoire d'images
    Bonjour,
    Je souhaiterai une macro Excel, qui à partir d'un répertoire Windows d'images .JPG, affiche 2 de ces images de façon aléatoires, côte à côte.
    Lorsque l'utilisateur clic sur une de ces images pour l'éliminer, elle est remplacée par une autre, de façon aléatoire également, à l'exception de celle qui vient d'être éliminée et de celle qui reste à côté.
    Et ainsi de suite pour toute les images du répertoire, pour qu'à la fin, il ne reste plus que l'image "gagnante".
    Est-ce réalisable sous Excel et si oui, cette macro existe-t'elle, je n'y connais absolument rien ....
    Merci pour votre aide.
    Chris

  2. #2
    Membre chevronné
    Avatar de bifconsult
    Homme Profil pro
    Consultant
    Inscrit en
    Mars 2012
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2012
    Messages : 189
    Par défaut
    Bonjour,

    Voici le code pour une image. Procéder de même pour la seconde.

    Préliminaires: insérer une image et la nommer "pic_1" (dans ce cas-ci). Pour ce faire : mettre le nom dans la zone blanche au-dessus des colonnes A et B.

    Ensuite: click droit sur l'image et assigner macro. Assigner display_pics

    Pour une seconde image, créer une deuxième macro (copier de la première, remplacer pic_1 par pic_2 et changer le nom de la macro) et nommer l'image pic_2

    J'ai nommé tous mes fichiers du même nom, incrémenté de 1 chaque fois. Le nombre maximum est 61 chez moi (maxpics=61).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    Sub display_pics()
     
    ActiveSheet.Shapes.Range("pic_1").Delete
     
    dirpic = "C:\Users\BIF\Documents\PrintScreens\"
     
    b = 0
    maxpics = 61
     
    Do While b > maxpics Or b = 0
    b = Int(Rnd() * 100)
    Loop
     
    If Len(b) = 1 Then b = "0" & b
     
    picfile = "Screenshot0" & b & ".jpg"
     
    Cells(1, 1).Select
     
    ActiveSheet.Pictures.Insert(dirpic & picfile).Select
     
    Selection.ShapeRange.Height = 56.6929133858
    Selection.ShapeRange.Width = 56.6929133858
     
     
    Selection.ShapeRange.Name = "pic_1"
    Selection.OnAction = "display_pics"
     
    Range("A1").Select
     
    End Sub

Discussions similaires

  1. Affichage aléatoire d'images avec slide
    Par LiliValerie dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 27/09/2012, 01h29
  2. Affichage aléatoire des images
    Par maryem_kh dans le forum C++
    Réponses: 5
    Dernier message: 22/02/2012, 16h21
  3. Affichage aléatoire images
    Par selinav dans le forum Flash
    Réponses: 2
    Dernier message: 19/01/2009, 17h10
  4. Réponses: 4
    Dernier message: 27/02/2007, 13h57
  5. Erreur pour l'affichage aléatoire d'une image
    Par bellebiquette dans le forum Langage
    Réponses: 3
    Dernier message: 21/04/2006, 22h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo