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 :

Fonction d'activation ou non de l'affichage d'une image


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2012
    Messages : 12
    Par défaut Fonction d'activation ou non de l'affichage d'une image
    Bonjour,

    Je ne sais pas pourquoi ce bout de code ne fonctionne pas . ça bloque au niveau de la ligne :

    Set cellule = Worksheets("Test fonctionnel").Range("A:F")

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
     
    Const CSTR_RESULTAT_TEST = "résultat test"
    Const CSTR_RESULTAT_EXECUTION = "résultat exécution"
    Const CSTR_PAS_AFFICHAGE = "pas d'affichage"
     
    Const CINT_POSITION_IMAGE_RESULTAT_TEST = 6
    Const CINT_POSITION_IMAGE_RESULTAT_EXECUTION = 5
    Const CINT_POSITION_IMAGE_RESULTAT_NE_PAS_AFFICHER = -99
     
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim cellule As Range
    Dim Position_image As Integer
    Dim Pint_colonne_courante As Integer
    Dim Pstr_nom_image As String
    ' je vais contrôler si je dois ou non afficher,
    ' si je dois afficher ce que je dois afficher
    Mafenetre.Lbl_pb_image.Visible = False
     
    Set cellule = Worksheets("Test fonctionnel").Range("A:F")
     
    Debug.Print "cellule = " & cellule
     
    Select Case cellule.Value
        Case CSTR_RESULTAT_TEST:
            Position_image = CINT_POSITION_IMAGE_RESULTAT_TEST
        Case CSTR_RESULTAT_EXECUTION:
            Position_image = CINT_POSITION_IMAGE_RESULTAT_EXECUTION
        Case CSTR_PAS_AFFICHAGE:
            Position_image = CINT_POSITION_IMAGE_RESULTAT_NE_PAS_AFFICHER
    End Select
     
     
    If Position_image = CINT_POSITION_IMAGE_RESULTAT_TEST Or Position_image = CINT_POSITION_IMAGE_RESULTAT_EXECUTION Then
        Pint_colonne_courante = Target.Column
        Pstr_nom_image = Target.Offset(0, Position_image - Pint_colonne_courante).Value
        If Pstr_nom_image <> "" Then
             If UCase$(Right$(Pstr_nom_image, 4)) = ".JPG" Then
                 If Dir(Pstr_nom_image) <> "" Then
                     Mafenetre.Picture = LoadPicture(Pstr_nom_image)
                     Mafenetre.Show False
                 Else
                     Mafenetre.Picture = LoadPicture("")
                     Mafenetre.Lbl_pb_image.Caption = "Image Non Trouvée ???"
                     Mafenetre.Lbl_pb_image.Visible = True
     
                 End If
            Else
                Mafenetre.Picture = LoadPicture("")
                'Mafenetre.Hide
            End If
        Else
            Mafenetre.Picture = LoadPicture("")
            'Mafenetre.Hide
        End If
    Else
        ' je n'affiche pas
        'Mafenetre.Hide
    End If
    End Sub
    Merci d'avance pour toute aide de votre part.

    Bonne journée

    Aquarium33

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    salut,

    pourrait-on avoir l'erreur qui est générée dans ton cas stp ?

    Sans cette information, difficile de te donner une raison précise
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2012
    Messages : 12
    Par défaut
    Bonjour,

    Je vous remercie pour votre réponse.

    Voici l'erreur générée :

    Erreur d'esécution '13' :
    Incompatibilité de type
    Aquarium33

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Es-tu certain que c'est cette ligne là et non pas la suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Debug.Print "cellule = " & cellule
    qui poserait problème ?
    quelle information de ta plage de cellule souhaites-tu afficher avec ton debug.print ?
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2012
    Messages : 12
    Par défaut
    Salut,

    je viens d'enlever la ligne :

    Debug.print "cellule =" & cellule

    et ça ne fonctionne toujours pas.

    l'erreur persiste :
    Erreur d'exécution '13' :
    Incompatibilité de type
    Alors que si je mets :

    Set cellule = Worksheets("Test fonctionnel").Range("F6") au lieu de *

    Set cellule = Worksheets("Test fonctionnel").Range("A:F"). tout fonctionne.

    Seulement mon objectif est d'afficher un image quelque soit la colonne.

    Merci de me votre aide
    aquarium33

  6. #6
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    je n'arrive pas à reproduire l'erreur chez moi

    de quelle image parles-tu ? en quoi les colonnes récupérées serviront-elles dans la suite de ton code ?
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

Discussions similaires

  1. Réponses: 4
    Dernier message: 12/11/2014, 21h58
  2. Réponses: 7
    Dernier message: 21/10/2014, 15h18
  3. Réponses: 6
    Dernier message: 08/04/2013, 14h18
  4. fonction mail activé ou non, ou c'est mon code ?
    Par halimux dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 19/01/2011, 16h09
  5. Réponses: 7
    Dernier message: 31/07/2008, 08h31

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