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 :

Pb de noms de variables


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 55
    Par défaut Pb de noms de variables
    Bonjour

    Je suis en train de créer ma propre barre d'outils avec mes propres boutons.
    Parmi ces boutons, l'un d'entre eux, qu'on va appeler "Inserer image", doit servir à :

    - Insérer une image dans ma feuille Excel, à partir d'un fichier
    - Eventuellement selon les cas, appliquer quelques traitements simples à cette image (déplacement, redimensionnement)

    Alors pour tout ce qui est insertion , déplacement, redimensionnement, et même algorithmie (le "selon les cas"), je m'en sors, ça marche nickel.

    Là où je me mélange carrément les pinceaux, c'est :

    Comment distinguer les images que je créee les une des autres ? (au niveau des noms).

    Parce que dans mon code je fais

    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
     
    'Début de la macro
    Dim response As Variant
    Dim nomFichier As String
     
    With UserForm1.CommonDialogInsererImage
        .CancelError = False
        .DialogTitle = "Inserer une image"
        .Filter = "Images (*.bmp;*.jpg;*.gif;*.ico;*.png)|*.bmp;*.jpg;*.gif;*.ico;*.png|Tous les fichiers (*.*)|*.*"
        .FilterIndex = 1
        .InitDir = CurDir
        .Filename = ""
        .ShowOpen
        nomFichier = .Filename
    End With
     
    ' Si choix = Ouvrir
    If nomFichier <> "" Then
    Dim ImageInseree As New image
    ImageInseree.Picture = LoadPicture(nomFichier)
    UserFormOptions.Show
    Puis dans ma UserForm UserFormOptions, l'utilisateur peut cocher des options qui font qu'on appliquera ou non certains traitements à l'image qui vient d'être insérée.
    Une fois les options cochées, il clique sur un bouton "OK", d'où une Sub
    CommandButtonOk_Click()
    Et dans cette Sub, je ne sais pas comment désigner mon image (avec quel nom de variable la manipuler ? ImageInseree ? )

    Puis si je réinsère une image derrière, elle aura le même nom de variable ?

    J'espère que je suis pas trop "pas clair".

    Please help !

  2. #2
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    Les images et tout autre objet qu'une cellule font partie d'une collection Shapes. Il me semble que le premier indice de cette collection est zéro et que tu peux en avoir le nombre d'occurences via la propriété Count.

  3. #3
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 55
    Par défaut
    Donc quand je crée une image avec un
    Dim monimage as New Image

    on la retrouve automatiquement dans la collection Shapes ensuite ?

  4. #4
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    Pour faire plus pratique tu peux créer un tableau.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private TabImages() As Picture ' tableau dynamique (encore vide)
     
    Sub Procedure_Evenement()
        Redim Preserve TabImage(0) ' le premier élément
        Set TabImage(0) = New Picture
        TabImage(0) = LoadPicture("chemin\fichierimage.bmp")
    End Sub
    Le mieux, c'est de dimentionner le premier élément dans le Form_Load et de tester sur le plus trand indice (fonction UBound) avant d'en ajouter d'autres.

Discussions similaires

  1. [VB.Net] Créer dynamiquement un nom de variable
    Par chuck_m dans le forum ASP.NET
    Réponses: 5
    Dernier message: 20/07/2005, 15h08
  2. Nom de variable dans une autre variable
    Par lsdInside dans le forum Linux
    Réponses: 5
    Dernier message: 04/12/2004, 19h36
  3. [SQL SERVER 2000] Noms de variables dynamiques
    Par cassoulet dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 08/09/2004, 11h44
  4. Nom de variable
    Par lilia dans le forum Flash
    Réponses: 4
    Dernier message: 07/08/2004, 13h11
  5. Generer des noms de variables avec une boucle
    Par moutanakid dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 28/07/2004, 17h45

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