Les nombres générés par la macro ne sont pas reconnu dans la feuille Excel

Bonjour,

je suis néophyte en macros Excel. J'ai créé un petit utilitaire pour mesurer la longueur d'une courroie trapézoïdale en fonction du diamètre des poulies et de leur entraxe mesurés sur place. Cet entraxe peut être mesuré hors tout (LHT), entre poulies (LIP), ou de poulie à poulie (LGP ou LPG) dans ma feuille de calculs.

J'ai voulu imager cette prise de mesure avec des formes qui apparaissent à l'aide d'une macro simple activée à partir d'une zone de liste déroulante :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row = 32 And Target.Column = 17 Then _
Me.Shapes("LHT").Visible = (Cells(32, 17).Value = 1)
If Target.Row = 32 And Target.Column = 17 Then _
Me.Shapes("LIP").Visible = (Cells(32, 17).Value = 2)
If Target.Row = 32 And Target.Column = 17 Then _
Me.Shapes("LGP").Visible = (Cells(32, 17).Value = 3)
If Target.Row = 32 And Target.Column = 17 Then _
Me.Shapes("LPG").Visible = (Cells(32, 17).Value = 4)
End Sub

Edit modo : Code à mettre entre balises SVP

​Le problème est que les formes demandées ne s'affichent pas lorsque la macro s'exécute; mais elles s'affichent lorsque je tape "1", "2", "3" ou "4" au clavier (dans la cellule rouge "Q32" de mon fichier).

je n'ai pas la solution. Quelqu'un peut-il m'aider si toutefois ma question est assez claire ?

En vous remerciant

Bonjour Caza et

Une petite présentation ICI serait la bienvenue

Je vous invite à lire la charte du forum [A LIRE AVANT DE POSTER] qui vous aidera dans vos demandes et réponses sur ce forum.
Et notamment :

  • Pour plus de lisibilité, utilisez la fonctionnalité </> pour insérer vos codes VBA (et si possible aussi pour vos formules Excel).

Merci de votre participation

Cordialement

Bonjour,

je ne vois pas de différence entre les saisies 1 et "1".

Ton grand dessin est devant, il faut le mettre en arrière plan par via un clic-droit dessus que les autres ne soient pas masqués.

900-placements.xlsx (11.59 Ko)

Sinon j'aurais plutôt fait ainsi :

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$Q$32" Then
        Me.Shapes("LHT").Visible = (Cells(32, 17).Value = 1)
        Me.Shapes("LIP").Visible = (Cells(32, 17).Value = 2)
        Me.Shapes("LGP").Visible = (Cells(32, 17).Value = 3)
        Me.Shapes("LPG").Visible = (Cells(32, 17).Value = 4)
    End If
End Sub

eric.

Bonjour Eric,

merci pour ta réponse et pour la simplification de la macro que j'ai intégrée dans mon fichier, mais le problème n''est pas résolu. j'ai bien suivi ton conseil en mettant en arrière plan le grand dessin, mais ça ne change rien.

En fait, ce qui se passe, c'est que, lorsque je saisis 1, 2, 3 ou 4 au clavier dans ma cellule $Q$32, j'ai bien la forme correspondante qui s'affiche sur le schéma de l'ensemble courroie/poulies. mais lorsque dans ma zone de liste déroulante, je sélectionne le type de mesure qui m'intéresse et qui génère, grâce à la macro, le chiffre 1, 2, 3 ou 4 dans la cellule $Q$32 rien ne se passe.

je ne sais pas si j'ai été plus clair.....

Dans ce cas soit clair et donne tous les détails dès le début.
Même maintenant on ne sait même pas où est cette liste, il faut fouiller partout...

Tu as utilisé une liste Formulaire qui ne génère pas d'événement.
Ton changement n'est pas vu par la macro.

3 solutions :
1) utiliser l'événement Calculate
Remplacer ta macro par :

Private Sub Worksheet_Calculate()
        Me.Shapes("LHT").Visible = (Cells(32, 17).Value = 1)
        Me.Shapes("LIP").Visible = (Cells(32, 17).Value = 2)
        Me.Shapes("LGP").Visible = (Cells(32, 17).Value = 3)
        Me.Shapes("LPG").Visible = (Cells(32, 17).Value = 4)
End Sub

pas le plus propre pour moi mais acceptable

2) liste de validation dans cellule F32
C'est celle-ci qu'il faut surveiller avec Change.
Je me sers des 4 derniers caractères pour mettre 1 à 4 en Q32 (voir formule)
(on pourrait se passer de cette cellule, mais est nécessaire actuellement pour restaurer le fonctionnement de ta feuille)

3) mettre une liste déroulante ActiveX.
Renseigne ton profil avec OS (PC/Mac) et ta version excel. On ne sait pas ce à quoi tu as droit sans ça.
eric

Super ! ça fonctionne !

Merci Eric pour ta célérité et tes compétences; les miennes sont (très) limitées dans le domaine...........

De rien.
N'oublie pas de renseigner ton profil stp

Rechercher des sujets similaires à "nombres generes macro pas reconnu feuille"