Variable dans macro créant un menu déroulant
Résolu/Fermé
Informadream
Messages postés
465
Date d'inscription
samedi 28 mars 2009
Statut
Membre
Dernière intervention
9 mars 2022
-
30 juin 2011 à 10:17
Informadream Messages postés 465 Date d'inscription samedi 28 mars 2009 Statut Membre Dernière intervention 9 mars 2022 - 30 juin 2011 à 11:00
Informadream Messages postés 465 Date d'inscription samedi 28 mars 2009 Statut Membre Dernière intervention 9 mars 2022 - 30 juin 2011 à 11:00
A voir également:
- Variable dans macro créant un menu déroulant
- Menu déroulant excel - Guide
- Menu déroulant google sheet - Accueil - Guide bureautique
- Excel menu déroulant en cascade - Guide
- Créer un compte google - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
3 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 754
30 juin 2011 à 10:22
30 juin 2011 à 10:22
Bonjour,
Il suffit de déclarer une simple variable String (chaine de caractères) et de lui affecter la valeur souhaitée :
Cordialement,
Franck P
Il suffit de déclarer une simple variable String (chaine de caractères) et de lui affecter la valeur souhaitée :
Dim Plage As String Plage = "=A10:A20" 'ici tu mets ce que tu veux obtenir dans ta Formula1 ci-dessous 'ça peut être aussi de la forme : Plage = "=" & TextBox1.Value 'ce qui te permet d'écrire dans ton textbox1 : A10:A20 et de travailler sur cette plage... With Selection.Validation .Delete .Add Type:=xlValidateList, AlertStyle:=xlValidAlertWarning, Operator _ :=xlBetween, Formula1:=Plage .IgnoreBlank = False .InCellDropdown = True .InputTitle = "" .ErrorTitle = "Valeur inexistante" .InputMessage = "" .ErrorMessage = _ "Cette valeur ne fait pas partie de la liste." & Chr(10) & "Etes-vous sur de vouloir continuer ?" .ShowInput = True .ShowError = True End With--
Cordialement,
Franck P
Informadream
Messages postés
465
Date d'inscription
samedi 28 mars 2009
Statut
Membre
Dernière intervention
9 mars 2022
39
30 juin 2011 à 10:31
30 juin 2011 à 10:31
Salut Franck, et merci beaucoup pour ton aide !
J'ai donc fait :
Dim plage As String
plage = "=" & UserForm11.TextBox1.Value: UserForm11.TextBox2.Value ""
.Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertWarning, _
Operator:=xlBetween, Formula1:=plage
Mais j'obtiens une erreur qui me dit "Utilisation incorrecte de la propriété", en faisant référence à :
plage = "=" & UserForm11.TextBox1.Value: UserForm11.TextBox2.Value ""
(Le .Value du TextBox2 en fait, qui est surligné)
Je fais erreur dans la syntaxe ?
J'ai donc fait :
Dim plage As String
plage = "=" & UserForm11.TextBox1.Value: UserForm11.TextBox2.Value ""
.Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertWarning, _
Operator:=xlBetween, Formula1:=plage
Mais j'obtiens une erreur qui me dit "Utilisation incorrecte de la propriété", en faisant référence à :
plage = "=" & UserForm11.TextBox1.Value: UserForm11.TextBox2.Value ""
(Le .Value du TextBox2 en fait, qui est surligné)
Je fais erreur dans la syntaxe ?
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 754
30 juin 2011 à 10:39
30 juin 2011 à 10:39
Essaye plutôt ceci : (je précise que je n'ai pas testé...)
La saisie dans les textbox doit être simplement, par exemple :
A1
A10
sans guillemets, sans : , sans rien d'autre...
fais ceci pour vérifier :
Le message qui apparait doit te donner : =A1:A10
plage = "=" & UserForm11.TextBox1.Value & ":" & UserForm11.TextBox2.Value
La saisie dans les textbox doit être simplement, par exemple :
A1
A10
sans guillemets, sans : , sans rien d'autre...
fais ceci pour vérifier :
Dim plage As String plage = "=" & UserForm11.TextBox1.Value & ":" & UserForm11.TextBox2.Value MsgBpx plage
Le message qui apparait doit te donner : =A1:A10
Informadream
Messages postés
465
Date d'inscription
samedi 28 mars 2009
Statut
Membre
Dernière intervention
9 mars 2022
39
30 juin 2011 à 11:00
30 juin 2011 à 11:00
C'est bon ça marche !
Yeeeeeeeees !
Je te remercie sincèrement, tu m'enlèves un sacré épine du pied ! :)
Informadream
Yeeeeeeeees !
Je te remercie sincèrement, tu m'enlèves un sacré épine du pied ! :)
Informadream