VBa - Coller une image sous condition....help.....

Misterbean

XLDnaute Nouveau
Bonjour,
je suis débutant en VBA et aimerais obtenir du support pour ce qui suit:

Sur une FEUILLE1 j'ai une série de cellules (A1:J20) que j'ai copié et collé comme image (Picture8) en mode "Linked Picture" (donc image qui s'adapte au contenu des cellules en question) dans la FEUILLE2. Jusque là tout ok.
Mais j'aimerais que cette image n'apparaissent sur la FEUILLE2 uniquement si une condition est remplie. Cette condition étant qu'une cellule contienne "X"(L1="X"). J'ai trouvé un code qui devrait en principe fonctionner mais cela ne marche pas.... quelqu'un pourrait m'aider svp ?

Le code final est ci-dessous et le fichier avec le code d'origine est en annexe de ce message.

D'avance merci!!

Private Sub Worksheet_Change(ByVal Target As Range)
Dim sh As Shape
If Not Intersect(Target, Range("L1")) Is Nothing Then
If Target.Value = "X" Then Sheets("FEUILLE2").Shapes("Picture8").Visible = True Else Sheets("FEUILLE2").Shapes("Picture8").Visible = False
End If
End Sub
 

Pièces jointes

  • affichee_souscondition_cellule.xlsm
    22.9 KB · Affichages: 49
  • affichee_souscondition_cellule.xlsm
    22.9 KB · Affichages: 55
  • affichee_souscondition_cellule.xlsm
    22.9 KB · Affichages: 69

camarchepas

XLDnaute Barbatruc
Re : VBa - Coller une image sous condition....help.....

Bonjour ,

Je t'envoie le fichier transformé,

Je viens de refaire l'essai sur Excel 2010, et pas d'anomalie .
 

Pièces jointes

  • affichee_souscondition_cellule.xlsm
    23.7 KB · Affichages: 60
  • affichee_souscondition_cellule.xlsm
    23.7 KB · Affichages: 70
  • affichee_souscondition_cellule.xlsm
    23.7 KB · Affichages: 75

Misterbean

XLDnaute Nouveau
Re : VBa - Coller une image sous condition....help.....

merci, cela fait avancer à grands pas , même si qq d'étrange se produit...
Dans le fichier test adapté par CamarchePas, cela fonctionne très bien. l'image apparaît/disparaît en fonction de la condition "X"
En appliquant le même code(adapté bien sûr), dans mon fichier, cela à fonctionné une fois et puis l'image reste visible en permanence, même si condition n'est plus remplie.....Je n'y comprends plus rien....
 

Misterbean

XLDnaute Nouveau
Re : VBa - Coller une image sous condition....help.....

Bonjour CamarchePas,
Voilà, j'ai créé un mini fichier revisité (sans info confidentielles) qui résume mon problème d'image qui reste visible malgré que la condition ne serait plus remplie alors que le code original dont discuté plus haut fonctionnait....j'y perds mon latin.

Le fichier "test.macro" est ici en annexe, j'espère que cela pourra vous aider à m'aider...

Une piste: en fait la cellule L1 qui contient la formule (IF....) qui affiche un "X" quand condition remplie.
Je constate que si je supprime la condition et "joue" manuellement en écrivant u n "X" ou le supprimant dans la cellule, cela marche bien !! -> la question est donc de pouvoir faire fonctionner le code avec une formule cachée dans la cellule L1.



Pour info je suis en Excel 2013

d'avance merci à vous !!
 
Dernière édition:

camarchepas

XLDnaute Barbatruc
Re : VBa - Coller une image sous condition....help.....

Bonjour ,

Et bien voilà , l'on à gagné un temps certain .

Afin de déclencher la procédure à chaque fois que la formule est évaluée, en lieu et place de ta procédure change il faut mettre :

Code:
Private Sub Worksheet_Calculate()
Dim sh As Shape
If Range("L1") = "X" Then
   Sheets("Invoice").Shapes("Picture 10").Visible = True
  Else
   Sheets("Invoice").Shapes("Picture 10").Visible = False
End If
End Sub
 

Misterbean

XLDnaute Nouveau
Re : VBa - Coller une image sous condition....help.....

Malgré tout, encore une petite question...un détail certes mais qui rendrait 100% de perfection.

L'image est visible ou non sur la page mais même absente si condition pas remplie, lorsque je fais un print préview, je constate que l'espace "réservé" à l'image est considéré pour impression (donc même une page vide). Dans mon cas, l'image sera sur la page 3/3 (dernière page donc) mais idéalement, si l'image n'est pas visible, il faudrait que seules les 2 première pages soient considérées et imprimées (et donc un bas de page "2/2"). Est-ce possible ou suis-je en train de demander trop sur ce coup-ci ?

MB
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 184
dernier inscrit
Di Martino