Liste de validation en VBA
Bonjour,
Dans l’espoir d’aider le membre lechiffre auquel je n’ai pas pu donner la solution à son problème, je vous pose les questions suivantes :
Dans le fichier ci-joint, il y avait deux ‘’Validation des données’’ en J12 et K12. La validation en J12 a simplement été incrémentée dans la colonne J.
Afin de préparer l’enregistrement d’une macro pour l’inscription de la formule nécessaire à la validation de la cellule K13, je l'ai inscrite provisoirement en M13. J’ai ensuite lancé l’enregistrement de la ‘’Macro1’’ et tout fonctionne à merveille pour cette cellule K13.
J’ai ensuite copié la Macro1 et l’ai renommée Macro_bis. Comme modifications, j’ai entre autres changé les références à la cellule K14 et le passage Formula1:="=INDIRECT(SUBSTITUE(J13;"" "";""_""))" en ……J14…………….
Mais lorsque je lance cette Macro_bis manuellement, j’ai le message d’erreur ci-dessous :
Et si l’on va voir le débogage, on constate où ça bloque :
Savez-vous pourquoi ça ne passe pas ? Avez-vous une solution de remplacement ?
Question subsidiaire :
Je ne comprends pas très bien comment fonctionnent les validations de la colonne K sur la base d’une formule de type =INDIRECT(SUBSTITUE(J13;"" "";""_"")) et pourquoi lorsque je rajoute un mot en E1 de la Feuil2, il n’est pas pris en compte dans ces validations de la colonne K. Avez-vous deux mots d’explication à ce sujet ?
Cordialement.
Bonjour Yvouille,
J'ai repris la proc. du premier sujet du fichier d'origine... :
Sub ImporterListes()
With ThisWorkbook
.Names.Add "liste", "=données!$A$1:$A$2"
.Names.Add "Fruits_de_saison", "=données!$B$1:$D$1"
.Names.Add "Légumes_de_saison", "=données!$B$2:$E$2"
End With
With Worksheets("Liste_déroulante")
With .Range("D8").Validation
.Delete
.Add xlValidateList, , , "=liste"
End With
.Range("D8") = "Fruits de saison"
With .Range("E8").Validation
.Delete
.Add xlValidateList, , , "=INDIRECT(SUBSTITUTE(D8,"" "",""_""))"
End With
.Range("D8").ClearContents
End With
End Sub
En surligné, moyen de contournement...
Excel bloque si aucune valeur du 1er choix ne lui permet de valider la formule...
Cordialement.
Salut,
@ MFerrand
Super, merci beaucoup pour ton aide
@ lechiffre
Tu as donc la solution à ton problème
Amicalement.
Bonjour Yvouille, Mferrant, bonjour le forum,
Grand merci Yvouille pour votre aide précieuse, merci aussi à Monsieur Mferrant.
J'ai appris beaucoup de choses grâce à vous.
Mon problème est résolu, on peut donc clore ce poste.
Bonne journée et merci encore.
Cordialement,
lechiffre
Pardon , Monsieur Mferrand et non Mferrant.