Bonjour tout le monde
Je débute un peu sous VB et j'ai quelques souci, je m'explique.
J'ai un fichier avec deux feuilles (devis et matériel)Dans la feuille devis sur la colonne A un j'ai des chiffres de 1 à 6. Sur la colonne B (appelé code) j'ai ma liste de choix. J'ai commencer mon code en disant de mettre une liste de choix que lorsque en colonne A il trouve sur une ligne un 3 qui me mettre une liste de choix lié à la feuille matériel colonne A(appelle ref)a cote de la ligne ou il trouve le 3 en colonne B (Je sais pas si c'est très clair). La dessus pas de problème mon code marche si je cherche juste à mettre une liste de choix.
Next
Columns("B:B").Select
For Each lig In Selection.Rows
If Range(Cells(lig.Row, 1), Cells(lig.Row, 1)).Value = 3 Then
Range(Cells(lig.Row, 2), Cells(lig.Row, 2)).Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=ref"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = False
End With
End If
Par contre ca se corse quand je veux mettre la saisie auto
dans nom > definir j'ai rentrer la formule suivante pour ma colonne A dans la feuille matériel =DECALER(Materiel!$A$2;0;0;NBVAL(Materiel!$A:$A)-1;1)
Par contre quand je rentre ma formule a la place de xlBetween, Formula1:="=ref" je mets
xlBetween, Formula1:="=IF(code<>"""";DECALER(Ref;EQUIV(code&""*"";Ref;0)-1;;SOMME((STXT(Ref;1;NBCAR(code))=TEXTE(code;""0""))*1));Ref)" il met des erreurs que j'arrive pas a comprendre alors peut etre que je me suis gourré dans ma formule ou autre chose
Merci pour votre aide
Je débute un peu sous VB et j'ai quelques souci, je m'explique.
J'ai un fichier avec deux feuilles (devis et matériel)Dans la feuille devis sur la colonne A un j'ai des chiffres de 1 à 6. Sur la colonne B (appelé code) j'ai ma liste de choix. J'ai commencer mon code en disant de mettre une liste de choix que lorsque en colonne A il trouve sur une ligne un 3 qui me mettre une liste de choix lié à la feuille matériel colonne A(appelle ref)a cote de la ligne ou il trouve le 3 en colonne B (Je sais pas si c'est très clair). La dessus pas de problème mon code marche si je cherche juste à mettre une liste de choix.
Next
Columns("B:B").Select
For Each lig In Selection.Rows
If Range(Cells(lig.Row, 1), Cells(lig.Row, 1)).Value = 3 Then
Range(Cells(lig.Row, 2), Cells(lig.Row, 2)).Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=ref"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = False
End With
End If
Par contre ca se corse quand je veux mettre la saisie auto
dans nom > definir j'ai rentrer la formule suivante pour ma colonne A dans la feuille matériel =DECALER(Materiel!$A$2;0;0;NBVAL(Materiel!$A:$A)-1;1)
Par contre quand je rentre ma formule a la place de xlBetween, Formula1:="=ref" je mets
xlBetween, Formula1:="=IF(code<>"""";DECALER(Ref;EQUIV(code&""*"";Ref;0)-1;;SOMME((STXT(Ref;1;NBCAR(code))=TEXTE(code;""0""))*1));Ref)" il met des erreurs que j'arrive pas a comprendre alors peut etre que je me suis gourré dans ma formule ou autre chose
Merci pour votre aide