Résolu XL 2016 Erreur dans macro

christ77000

XLDnaute Occasionnel
Bonjour à tous, je reviens vers vous pour une incompréhension dans mon code.
Ce que je cherche à faire, j'ai en G12 une liste déroulante avec deux choix je vais dire toto ou titi. En fonction de mon toto ou titi je lance par un bouton la macro 1 ou la macro 2. Voici mon code qui bug sur x=Range(G22).value . Merci pour votre aide.

VB:
Sub Nouveau_document()
x = Range(G22).Value
Select Case x
Case "toto": Call Nouveau_MN
Case "titi": Call Nouveau_AS
Case Else
Exit Sub
End Select
End Sub
 
Ce fil a été résolu! Aller à la solution…

danielco

XLDnaute Accro
Bonjour,

Il faut mettre :

VB:
x = Range("G22").Value
(ou G12 ?). Sinon G22 est considéré comme une variable.

Daniel
 
Ce message a été identifié comme étant une solution!

soan

XLDnaute Accro
Bonsoir,

Je propose cette optimisation de code :
VB:
Sub Nouveau_document()
  Select Case [G12] 'ou [G22]
    Case "toto": Nouveau_MN
    Case "titi": Nouveau_AS
  End Select
End Sub
soan
 
Ce message a été identifié comme étant une solution!

soan

XLDnaute Accro
ajout : si vraiment y'a qu'2 choix, « Select Case » est inutile ! utiliser plutôt :
VB:
Sub Nouveau_document()
  If [G22] = "toto" Then Nouveau_MN Else _
    If [G22] = "titi" Then Nouveau_AS
End Sub
soan
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas