Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/10/2011, 10h59   #1
Invité régulier
 
Homme Defter Defter
Dessinateur industriel
Inscription : mai 2011
Messages : 35
Détails du profil
Informations personnelles :
Nom : Homme Defter Defter
Localisation : France

Informations professionnelles :
Activité : Dessinateur industriel
Secteur : Bâtiment

Informations forums :
Inscription : mai 2011
Messages : 35
Points : 8
Points : 8
Par défaut Masquer une image .jpg

Bonjour à tous !

J'ai actuellement 3 images nommées "Image 22" "Image 23" "Image 24" dans une feuille de calcul.

Je souhaite cacher ces images en fonction de la valeur de la cellule "D34".

Si D34 = 2 alors "Image 22" est visible et "Image 23" "Image 24" sont cachées
Si D34 = 3 alors "Image 23" est visible et "Image 22" "Image 24" sont cachées
Si D34 = 4 alors "Image 24" est visible et "Image 22" "Image 22" sont cachées



Mon premier problème viens du faite que lorsque j'enregistre une macro pour voir précisément le nom de l'image, celle-ci n'est pas detectée par la maccro.

Ensuite j'ai essayé avec ce code :

Code :
1
2
3
4
5
6
7
8
Sub test1()
 
If Range("D34").Value = 2 Then
        Sheets("Mur rideau").Shapes("Image 22").Visible = True
        Sheets("Mur rideau").Shapes("Image 23").Visible = False
        Sheets("Mur rideau").Shapes("Image 24").Visible = False
        End If
End Sub
et biensur ... ça ne marche pas. J'avais réussis à gérer des images via ".Visible = False / True" mais impossible de remettre la main sur ce classeur, je me dirige donc vers vous


Cordialement,
Defter
Defter est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2011, 11h23   #2
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 899
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 899
Points : 7 185
Points : 7 185
Bonjour,

As tu essayé comme cela

Code :
1
2
3
4
5
6
If Range("D34").Value = 2 Then
        Sheets("Mur rideau").Shapes.Range("Image 22").Visible = True
        Sheets("Mur rideau").Shapes.Range("Image 23").Visible = False
        Sheets("Mur rideau").Shapes.Range("Image 24").Visible = False
        End If
End Sub
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2011, 11h26   #3
Invité régulier
 
Homme Defter Defter
Dessinateur industriel
Inscription : mai 2011
Messages : 35
Détails du profil
Informations personnelles :
Nom : Homme Defter Defter
Localisation : France

Informations professionnelles :
Activité : Dessinateur industriel
Secteur : Bâtiment

Informations forums :
Inscription : mai 2011
Messages : 35
Points : 8
Points : 8
Bonjour jfontaine,

Je viens d'essayer à l'instant et il me dit :
Citation:
Erreur d'exécution '9'
L'indice n'appartient pas à la sélection
Je trouve ça bizarre que le nom de l'image n'apparaisse pas lorsque je fais "Enregistrer Macro" aussi, c'est la première fois que ça me le fait.

EDIT : Je viens de remarquer que lorsque je séléctionne mes images présentes sur la feuille de calcul elles ne m'indique pas leur nom mais reste sur la derniere cellule séléctionée. (Dans la zone ou l'on édite le nom d'une cellule/image)

Cordialement,
Defter.
Defter est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2011, 11h32   #4
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Bonjour,

Mets la macro suivante dans le module de la feuille :

Code :
1
2
3
4
5
6
7
8
9
10
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address <> "$D$34" Then Exit Sub
    If Target.Value < 2 Or Target.Value > 4 Then Exit Sub
    With ActiveSheet
        .Pictures("Image 22").Visible = False
        .Pictures("Image 23").Visible = False
        .Pictures("Image 24").Visible = False
        .Pictures("Image 2" & Target.Value).Visible = True
    End With
End Sub
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 27/10/2011, 11h40   #5
Membre Expert
 
Avatar de Jean-Pierre49
 
Homme J-Pierre Catherine
Conception Calcul
Inscription : juillet 2007
Messages : 659
Détails du profil
Informations personnelles :
Nom : Homme J-Pierre Catherine
Âge : 57
Localisation : France, Maine et Loire (Pays de la Loire)

Informations professionnelles :
Activité : Conception Calcul
Secteur : Industrie

Informations forums :
Inscription : juillet 2007
Messages : 659
Points : 1 856
Points : 1 856
Bonjour

Es-tu sur que tes images sont bien nommées

Code pour le savoir
Code :
1
2
3
4
    Dim I As Shape
    For Each I In ActiveSheet.Shapes
        I.Name
    Next I
Parce que ton code n'a pas de raison de ne pas fonctionner
Tu dis
__________________
Jean-Pierre Pensez à Voter pour les réponses qui vous ont aidés, d'avance merci
---------Et n'oubliez pas de mettre : ..quand c'est le cas !---------
Jean-Pierre49 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 27/10/2011, 11h47   #6
Invité régulier
 
Homme Defter Defter
Dessinateur industriel
Inscription : mai 2011
Messages : 35
Détails du profil
Informations personnelles :
Nom : Homme Defter Defter
Localisation : France

Informations professionnelles :
Activité : Dessinateur industriel
Secteur : Bâtiment

Informations forums :
Inscription : mai 2011
Messages : 35
Points : 8
Points : 8
Bonjour Daniel.C !

Merci de ton aide !

Alors je suis surement très mauvais mais quand je copie ça dans "MODULE 1" et que je clic sur Lecture pour essayer, il me demande une Macro Oo.
Quand je copie ça dans la feuille aussi directement il me demande ça aussi et ... je ne sais pas comment faire marcher ça :/

Désolé je suis vraiment pas doué.


Cordialement,
Defter

Je pense que ça viens effectivement des images mais même en remettant d'autre je conserve toujours le même soucis de nom

Je vais chercher le pourquoi du comment je vous tiens au courant.
Defter est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2011, 11h55   #7
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 899
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 899
Points : 7 185
Points : 7 185
Et que te dit l'enregistreur de macro quand tu sélectionnes une image
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2011, 11h58   #8
Invité régulier
 
Homme Defter Defter
Dessinateur industriel
Inscription : mai 2011
Messages : 35
Détails du profil
Informations personnelles :
Nom : Homme Defter Defter
Localisation : France

Informations professionnelles :
Activité : Dessinateur industriel
Secteur : Bâtiment

Informations forums :
Inscription : mai 2011
Messages : 35
Points : 8
Points : 8
Rien, il n'y fait meme pas référence,

Par exemple sur le copier coller de l'image 22 il me fait

Code :
1
2
3
4
5
6
7
8
Sub Macro1()
 
' Macro1 Macro
 
    Selection.Cut
    ActiveWindow.SmallScroll Down:=3
    Range("A38").Select
    ActiveSheet.Paste
Defter est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2011, 12h03   #9
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 899
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 899
Points : 7 185
Points : 7 185
Le code est il le même si l'image n'est pas sélectionnée avant de lancer l'enregistreur de macro ?
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2011, 12h07   #10
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Normal, mais recommence en sélectionnant une cellule au départ. Il ne faut pas que l'image soit sélectionnée au démarrage de l'enregistreur.
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 27/10/2011, 12h08   #11
Invité régulier
 
Homme Defter Defter
Dessinateur industriel
Inscription : mai 2011
Messages : 35
Détails du profil
Informations personnelles :
Nom : Homme Defter Defter
Localisation : France

Informations professionnelles :
Activité : Dessinateur industriel
Secteur : Bâtiment

Informations forums :
Inscription : mai 2011
Messages : 35
Points : 8
Points : 8
Oui c'est ça qui est bizarre,

Test sans pré-selection c a d en séléctionnant une cellule à coté :

Sub Macro1()

Code :
1
2
3
4
5
' Macro1 Macro
 Selection.Cut
    Range("M43").Select
    ActiveSheet.Paste
End Sub
Histoire d'apporter plus de précision, mes images sont en .Jpg, je suis passé par insertion -> Image et j'ai été les chercher sur le bureau.

J'ai aussi essayé de les renommer mais le résultat est le même, elles ne sont pas détecte


Merci en tout cas pour votre aide
Defter est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2011, 12h10   #12
Membre Expert
 
Avatar de Jean-Pierre49
 
Homme J-Pierre Catherine
Conception Calcul
Inscription : juillet 2007
Messages : 659
Détails du profil
Informations personnelles :
Nom : Homme J-Pierre Catherine
Âge : 57
Localisation : France, Maine et Loire (Pays de la Loire)

Informations professionnelles :
Activité : Conception Calcul
Secteur : Industrie

Informations forums :
Inscription : juillet 2007
Messages : 659
Points : 1 856
Points : 1 856
As-tu tenté de les inserer à partir d'un code style


Code :
1
2
3
4
5
6
7
8
9
    Dim Chemin As String
    Dim Nom As String
    Dim i As Byte
 
    Chemin = "C:\...\"
        For i = 22 To 24
        Nom = "Image " & i & ".jpg"
        ActiveSheet.Pictures.Insert(Chemin & Nom).Name = "Image  & i"
    Next i
Tu dis
__________________
Jean-Pierre Pensez à Voter pour les réponses qui vous ont aidés, d'avance merci
---------Et n'oubliez pas de mettre : ..quand c'est le cas !---------
Jean-Pierre49 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2011, 12h19   #13
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
C'est bizarre. Essaie de recommencer avec un classeur neuf.
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 27/10/2011, 12h30   #14
Invité régulier
 
Homme Defter Defter
Dessinateur industriel
Inscription : mai 2011
Messages : 35
Détails du profil
Informations personnelles :
Nom : Homme Defter Defter
Localisation : France

Informations professionnelles :
Activité : Dessinateur industriel
Secteur : Bâtiment

Informations forums :
Inscription : mai 2011
Messages : 35
Points : 8
Points : 8
Bonjour Jean-Pierre 49.

Avec ta technique le résultat est le même malheureusement.

Je vais repartir avec un nouveau classeur.


Je vous tiens au courant,
Cordialement
Defter
Defter est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2011, 14h01   #15
Invité régulier
 
Homme Defter Defter
Dessinateur industriel
Inscription : mai 2011
Messages : 35
Détails du profil
Informations personnelles :
Nom : Homme Defter Defter
Localisation : France

Informations professionnelles :
Activité : Dessinateur industriel
Secteur : Bâtiment

Informations forums :
Inscription : mai 2011
Messages : 35
Points : 8
Points : 8
Re-Bonjour,

Alors je suis repartis d'un classeur vierge en insérant une image Windows par défaut et le résultat est le même :

L'enregistreur de macro ne détecte pas l'image.

J'ai aussi essayé avec le format .Bmp mais ça ne change rien.

Je n'avais jamais eu ce problème avant et je ne vois absolument pas d'ou cela peut il venir.



Defter
Defter est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2011, 14h18   #16
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Essaie une réparation d'Office.
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 12
Vieux 27/10/2011, 14h22   #17
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 899
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 899
Points : 7 185
Points : 7 185
Je ne pense pas que le format de l'image est un rôle.

peux tu faire l'ajout de l'image avec l'enregistreur de macro et nous donner le code
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2011, 14h54   #18
Invité régulier
 
Homme Defter Defter
Dessinateur industriel
Inscription : mai 2011
Messages : 35
Détails du profil
Informations personnelles :
Nom : Homme Defter Defter
Localisation : France

Informations professionnelles :
Activité : Dessinateur industriel
Secteur : Bâtiment

Informations forums :
Inscription : mai 2011
Messages : 35
Points : 8
Points : 8
Bonjour,

J'ai essayé de réparer et rien n'y fait, l’informaticien de l'entreprise dit que ça peut venir de la version 2007 qui ne gère plus les même chose que 2003.

Jfontaine, voila la macro qui en sort lorsque j'insere l'image.
Procédure effectuée :
Demarage de l'enregistreur -> insertion -> Image -> choix de l'image -> Ok

Code :
1
2
3
4
5
6
7
Sub Macro1()
'
' Macro1 Macro
'
 
'
End Sub
...

\o/
Defter est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2011, 15h05   #19
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Deux choses :
1. la macro fonctionne ici avec XL2007
2. Par contre, oui, l'enregistreur de macros n'enregistre rien. C'est un défaut d'Excel 2007.
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 27/10/2011, 15h07   #20
Invité régulier
 
Homme Defter Defter
Dessinateur industriel
Inscription : mai 2011
Messages : 35
Détails du profil
Informations personnelles :
Nom : Homme Defter Defter
Localisation : France

Informations professionnelles :
Activité : Dessinateur industriel
Secteur : Bâtiment

Informations forums :
Inscription : mai 2011
Messages : 35
Points : 8
Points : 8
D'acc donc si l'image ne réagit pas avec ma macro de base, (Voir premier post) c'est donc un problème de synthaxe et/ou de nom.

Seulement je ne vois pas à quel niveau.
Defter est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h39.


 
 
 
 
Partenaires

Hébergement Web