Bonjour,
Hello mapomme😉
En Pj
Un exemple simple avec une plage nommée "Plage" comprenant les cellules de destination
Merci à tous les deux pour vos réponses !
Dans mon cas les cellules sont nommées
range("E7") est nommée Saisie_Nom
les déclarations sont faites ainsi :
Dim Rg1 as range
Set Rg1 = me.range("Saisie_Nom")
Idem pour les 18 cellules qui vont contenir les combobox qui vont aussi de 1 à 18
Le formulaire va évoluer dans sa disposition, seuls les champs de saisie sont définis (pour l'instant).
L'idée était de boucler avec i = 1 à 18 pour positionner les combobox dans les cellules correspondantes :
combobox1 dans Rg1 (c'est à dire dans la cellule Saisie_Nom)
combobox2 dans Rg2
et ainsi de suite pour tous les combobox
D'où ma tentative mais je ne parviens pas à trouver le moyen de coder çà
Sub Mise_En_Forme_Formulaire()
Dim FSaisie As Worksheet
Dim Saisie1, Saisie2, Saisie3, Saisie4, Saisie5, Saisie6, Saisie7, Saisie8, Saisie9, Saisie10, Saisie11, Saisie12 As Range
Dim i As Integer
Set FSaisie = ThisWorkbook.Sheets("Formulaire de saisie")
Set Saisie1 = FSaisie.Range("Saisie_Nom")
Set Saisie2 = Range("Saisie_Prénom")
Set Saisie3 = FSaisie.Range("Saisie_Date_Naissance")
Set Saisie4 = FSaisie.Range("Saisie_Genre")
Set Saisie5 = FSaisie.Range("Saisie_CodePostal")
Set Saisie6 = FSaisie.Range("Saisie_Ville")
Set Saisie7 = FSaisie.Range("Saisie_NomPayeur")
Set Saisie8 = FSaisie.Range("Saisie_CodeOption1")
Set Saisie9 = FSaisie.Range("Saisie_CodeOption2")
Set Saisie10 = FSaisie.Range("Saisie_CodeOption3")
Set Saisie11 = FSaisie.Range("Saisie_CodeOption4")
Set Saisie12 = FSaisie.Range("Saisie_ProfCours1")
For i = 1 To 12
With FSaisie.Shapes.Range("ComboBox" & i)
.Top = Range("Saisie" & 1).Top ==> ça coince ici évidement mais c'est pour l'exemple !
.Left = Range("Saisie" & i).Left
.Width = Range("Saisie" & i).Width
.Height = Range("Saisie" & i).Height
End With
End Sub
Je ne vois pas comment écrire le code qui permet de passer de Saisie1 à Saisie2 avec i en paramètre.
Merci