remplissage cellule automatique par menu déroulant en vba

sebbbbb

XLDnaute Impliqué
bonjour

je me creuse la tête depuis quelques heures pour une formule VBA. Je précise bien VBA car j'ai réussi avec l'utilisation formule & validation de données dans les cellules mais évidemment cela ne fonctionne plus si on supprime la formule de la cellule et qu'ensuite on veut refaire changement grâce à un menu déroulant.

je vous explique. en PJ il y un un menu déroulant à coté de la case opération.
Je souhaiterai donc :

1/ quand le menu déroulant s'arrête sur IMPORT que :
- cela efface les éventuelles écritures dans la cellule A24
- cela écrive en cellule U24 le mot NIL
2/ quand le menu déroulant s'arrête sur EXPORT que :
- cela écrive en en cellule A24 le mot NIL
- cela efface les éventuelles écritures dans la cellule U24
3/ que les case A24 et U24 soient vides pour tout autre choix du menu déroulant

un grand merci par avance
seb
 

Pièces jointes

  • V20-TEST.xlsm
    219.5 KB · Affichages: 195

sebbbbb

XLDnaute Impliqué
sniff toujours même effet

upload_2017-9-27_14-34-53.png


upload_2017-9-27_14-35-13.png


en plus ma feuille 141 est pourtant toujours la même

upload_2017-9-27_14-36-37.png
 

sebbbbb

XLDnaute Impliqué
eureka !!!!
j'ai trouvé ce qui clochait je crois

voici la correction

Option Explicit

Sub menu_deroulant()

Dim var1 As String
Dim var2 As String

' index
var1 = Worksheets("Fiche Données").Shapes("Drop Down 9").ControlFormat.ListIndex

' valeur
var2 = Worksheets("Fiche Données").Shapes("Drop Down 9").ControlFormat.List(var1)

If var2 = "IMPORT" Then

Range("A24").Value = ""
Range("U24").Value = "NIL"

ElseIf var2 = "EXPORT" Then

Range("A24").Value = "NIL"
Range("U24").Value = ""

Else

Range("A24").Value = ""
Range("U24").Value = ""

End If

End Sub
 

dieu08

XLDnaute Occasionnel
J'allais te proposer :

VB:
Sub Zonecombinée9_QuandChangement()

Dim var1 As String
Dim var2 As String

' index
var1 = Worksheets("Fiche Données").Shapes("Drop Down 9").ControlFormat.ListIndex

' valeur
var2 = Worksheets("Fiche Données").Shapes("Drop Down 9").ControlFormat.List(var1)

    If var2 = "IMPORT" Then
  
        Range("A24").Value = ""
        Range("U24").Value = "NIL"
      
    ElseIf var2 = "EXPORT" Then
      
        Range("A24").Value = "NIL"
        Range("U24").Value = ""
  
    Else
  
    Range("A24").Value = ""
    Range("U24").Value = ""
  
    End If

End Sub

Je ne saisis pas la raison de ton changement de libellé !
 

sebbbbb

XLDnaute Impliqué
un grand merci à toi
pour ton aide, ta patience et ta disponibilité
tu portes bien ton pseudo :)
le libellé je l'ai changé car j'ai tellement de macro que je trouve plus simple pour m'y reperer
dis moi comme trouve tu le nom du menu déroulant. dans ce cas zone combinée 9 au lieu de zone combinée 3.
moi j'avais un vague souvenir du nom mais comment le vérifier stp
 

sebbbbb

XLDnaute Impliqué
non pas vraiment en fait
lorsqu'il y a avait le bug, le nom du menu déroulant etait erroné. je l'ai changé un peu par hasard mais je ne comprends pas comment trouver la confirmation de son nom. désolé cela te semble peut etre un peu bête
 
Haut Bas