Code - Boucle d'incrémentation

Bonjour,

Pourriez-vous m'aider sur des lignes de code?

j'ai une colonne dans laquelle j'ai plein de references. sur une autre sheet, j ai une colonne avec la totalité des references listées.

J'aimerai, via une macro, faire en sorte que toute les cases de ma première colonne soient sous forme de Dropdownlist.

Voila se que j'ai pour le moment :

"

Sub lister()

'

' lister Macro

'

'

Range("U3").Select

With Selection.Validation

.Delete

.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _

xlBetween, Formula1:="='Drop Down Lists'!$D$2:$D$107"

.IgnoreBlank = True

.InCellDropdown = True

.InputTitle = ""

.ErrorTitle = ""

.InputMessage = ""

.ErrorMessage = ""

.ShowInput = True

.ShowError = True

End With

Range("U4").Select

With Selection.Validation

.Delete

.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _

xlBetween, Formula1:="='Drop Down Lists'!$D$2:$D$107"

.IgnoreBlank = True

.InCellDropdown = True

.InputTitle = ""

.ErrorTitle = ""

.InputMessage = ""

.ErrorMessage = ""

.ShowInput = True

.ShowError = True

End With

End Sub

"

J'aimerai que l'on me montre comment faire une boucle d'incrémentation pour que cette action ce propage de ligne en ligne.

Merci d'avance

Bonjour,

Comme ça peut-être :

Sub Test()
Application.ScreenUpdating = False
For i = 3 To 1000
 With Cells(i, 21).Validation
 .Delete
 .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
 xlBetween, Formula1:="='Drop Down Lists'!$D$2:$D$107"
 .IgnoreBlank = True
 .InCellDropdown = True
 .ShowInput = True
 .ShowError = True
 End With
Next
Application.ScreenUpdating = True
End Sub

Sans pièce jointe impossible de tester...

A+

Bonjour,

Merci pour le code.

Est ce que tu pourrais m'expliquer les deux lignes ci-dessous? j'aimerai bien comprendre la methode.

For i = 3 To 1000 // On define un variable I qui varrie de 3 à 1000

With Cells(i, 21).Validation // ??

Merci

cette formule remplace le :

Range("U3").Select

With Selection.Validation

Au lieu de sélecter les cellules (ce qui ne sert à rien)

On écrit directement

La validation de la cellule (3, colonne U)... avec With...

Ainsi toutes les instruction des lignes suivantes (qui commence par "." (un point) concernent d'abord la cellule

Ligne 3 colonne 21 (U)

puis

Ligne 4 colonne 21 (U)

et ainsi de suite jusqu'à

Ligne 1000 colonne 21 (U)

Ok ?

A+

Super!

Merci beaucoup pour ton aide!

Rechercher des sujets similaires à "code boucle incrementation"