Bonjour à tous,
J'ai un fichier très compliqué, mais que je peux aisément vous résumer comme ceci :
[TABLE="class: grid, width: 500, align: center"]
[TR]
[TD]Nom
[/TD]
[TD]Date
[/TD]
[TD]Explication
[/TD]
[/TR]
[TR]
[TD]Jean
[/TD]
[TD]25/10/14
[/TD]
[TD]Blablabla
[/TD]
[/TR]
[TR]
[TD]Pierre
[/TD]
[TD]26/10/14
[/TD]
[TD]Bliblibli
[/TD]
[/TR]
[TR]
[TD]Jean
[/TD]
[TD]27/10/14
[/TD]
[TD]Blobloblo
[/TD]
[/TR]
[TR]
[TD]Jean
[/TD]
[TD]28/10/14
[/TD]
[TD]Blublublu
[/TD]
[/TR]
[/TABLE]
J'ai un UF qui me met en page les lignes ne concernant qu'une seule et même personne à des fins d'impression papier (pour toute une série de bonnes raisons trop longues à expliquer ici). Concrètement, j'ai 3 Txtbox fixes qui figurent les titres de colonnes ("Nom", "Date" et "Explication", donc) sous lesquelles je génère autant de Txtbox figurant les lignes de colonnes que nécessaire (3 si je choisis "Jean", 1 si je choisis "Pierre" dans l'exemple).
En résume, au niveau de la mise en page, je reproduis exactement le tableau ci-dessus. Là, pas de souci.
Là où je coince et j'en appelle à vous, c'est pour remplir ces Textbox avec les données de chaque ligne. En effet, jusqu'à présent j'arrive bien à générer tout ça, mais la valeur que je rentre est toujours celle de la 1ère ligne rencontrée. Dans l'exemple ci-dessus, voici ce que me rend mon UF si je choisis Jean :
[TABLE="class: grid, width: 500, align: center"]
[TR]
[TD]Nom
[/TD]
[TD]Date
[/TD]
[TD]Explication
[/TD]
[/TR]
[TR]
[TD]Jean
[/TD]
[TD]25/10/14
[/TD]
[TD]Blablabla
[/TD]
[/TR]
[TR]
[TD]Jean
[/TD]
[TD]25/10/14
[/TD]
[TD]Blablabla
[/TD]
[/TR]
[TR]
[TD]Jean
[/TD]
[TD]25/10/14
[/TD]
[TD]Blablabla
[/TD]
[/TR]
[/TABLE]
Voici le code que j'utilise pour ce faire, copié-collé du Net et adapté :
Comment puis-je faire en sorte que, pour chaque ligne de Textbox qu'il crée, il aille chercher la prochaine occurrence du nom recherché? 🙂
Merci à tous!
J'ai un fichier très compliqué, mais que je peux aisément vous résumer comme ceci :
[TABLE="class: grid, width: 500, align: center"]
[TR]
[TD]Nom
[/TD]
[TD]Date
[/TD]
[TD]Explication
[/TD]
[/TR]
[TR]
[TD]Jean
[/TD]
[TD]25/10/14
[/TD]
[TD]Blablabla
[/TD]
[/TR]
[TR]
[TD]Pierre
[/TD]
[TD]26/10/14
[/TD]
[TD]Bliblibli
[/TD]
[/TR]
[TR]
[TD]Jean
[/TD]
[TD]27/10/14
[/TD]
[TD]Blobloblo
[/TD]
[/TR]
[TR]
[TD]Jean
[/TD]
[TD]28/10/14
[/TD]
[TD]Blublublu
[/TD]
[/TR]
[/TABLE]
J'ai un UF qui me met en page les lignes ne concernant qu'une seule et même personne à des fins d'impression papier (pour toute une série de bonnes raisons trop longues à expliquer ici). Concrètement, j'ai 3 Txtbox fixes qui figurent les titres de colonnes ("Nom", "Date" et "Explication", donc) sous lesquelles je génère autant de Txtbox figurant les lignes de colonnes que nécessaire (3 si je choisis "Jean", 1 si je choisis "Pierre" dans l'exemple).
En résume, au niveau de la mise en page, je reproduis exactement le tableau ci-dessus. Là, pas de souci.
Là où je coince et j'en appelle à vous, c'est pour remplir ces Textbox avec les données de chaque ligne. En effet, jusqu'à présent j'arrive bien à générer tout ça, mais la valeur que je rentre est toujours celle de la 1ère ligne rencontrée. Dans l'exemple ci-dessus, voici ce que me rend mon UF si je choisis Jean :
[TABLE="class: grid, width: 500, align: center"]
[TR]
[TD]Nom
[/TD]
[TD]Date
[/TD]
[TD]Explication
[/TD]
[/TR]
[TR]
[TD]Jean
[/TD]
[TD]25/10/14
[/TD]
[TD]Blablabla
[/TD]
[/TR]
[TR]
[TD]Jean
[/TD]
[TD]25/10/14
[/TD]
[TD]Blablabla
[/TD]
[/TR]
[TR]
[TD]Jean
[/TD]
[TD]25/10/14
[/TD]
[TD]Blablabla
[/TD]
[/TR]
[/TABLE]
Voici le code que j'utilise pour ce faire, copié-collé du Net et adapté :
Code:
Private Sub CbxEleve_Change()
'Procédure de création et remplissage des textbox
Dim Obj As Control
Dim i As Integer
Dim PosX As Long
Set Collect = New Collection
'boucle pour la création des TextBox
For i = 1 To Range("DataGen!AZ" & lign).Value 'DataGenAZ représente le nombre de lignes pour "Jean"
Set Obj = Me.Controls.Add("forms.TextBox.1")
With Obj
.Name = "TxtDiscDate" & i
.Object.Value = Range("Histo!F" & lign).Value 'Histo!F représente la colonne de la date, "lign" la variable contenant la ligne sélectionnée, soit la première contenant le nom recherché
End With
Set Obj = Me.Controls.Add("forms.TextBox.1")
With Obj
.Name = "TxtDiscFaits" & i
.Object.Value = Range("Histo!J" & lign).Value 'Histo!J représente la colonne contenant les explications
End With
Comment puis-je faire en sorte que, pour chaque ligne de Textbox qu'il crée, il aille chercher la prochaine occurrence du nom recherché? 🙂
Merci à tous!