Tu boucles de 1 à 6, peut-être qu'en boucle dans 1 à 7. et n'oublie pas de rajouter une valeur dans le array de ListCellule, la valeur doit correspondre à la colonne correspondante au textbox7.
Version imprimable
Tu boucles de 1 à 6, peut-être qu'en boucle dans 1 à 7. et n'oublie pas de rajouter une valeur dans le array de ListCellule, la valeur doit correspondre à la colonne correspondante au textbox7.
Pour la boucle de 1 à 7, j'ai déjà essayé. Cela ne fonctionne pas d'avantage. Pour la valeur dans le array il s'agit du 19. La boucle vient bien sur le 19 mais la valeur n'affiche rien. Et il y a bien une valeur dans la cellule.:D
Normal l'info que tu veux récupérer est en colonne U (21) pas S(19).
Remplace 19 par 21
Exact! Je n'ai pas fait attention que j'avais caché 2 colonnes dans ma feuille.Du coup lorsque je comptais je tombais sur 19!:oops:
Un grand merci pour ton aide et tes précieuses indications en commentaire.
Je vais continuer mon fichier et ses userform. J'aurai surement encore besoin d'aide. Si tu as encore un peu de patiente et de temps n'hésite pas à m'apporter ton aide. :ccool:
Je joins le code final au cas ou un débutant comme moi en est besoin! Par contre je retire le fichier.;)
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80 Option Explicit Dim i As Byte Dim Lig As String Private Sub CommandButton3_Click() Unload Me ' ActiveSheet.Protect "*69*", UserInterfaceOnly:=True Sheets("Gestion bobine").Select End Sub Private Sub CommandButton4_Click() Dim Lig As Long Dim ListCellule Lig = ActiveCell.Row If (TextBox1.Value = "") Or (TextBox2.Value = "") Or (TextBox3.Value = "") Or (TextBox4.Value = "") Or (TextBox5.Value = "") Or (TextBox6.Value = "") Or (TextBox7.Value = "") Then MsgBox "Remplir tous les champs !" Exit Sub End If 'On cré la liste des numéro de colonne qui seront utilisé pour renseigner les TextBox ListCellule = Array(3, 4, 5, 6, 8, 14, 21) With Sheets("BASE") 'Pour chaque textbox on va donc chercher la colonne qui recoit l'info For i = 1 To 7 'Par exemple quand i vaut 3, la valeur correspondante dans ListCellule est 5, 'on modifie donc la valeur contenu dans la 5eme colonne en lui donnant la valeur contenu dans le TextBox3 (i=3) .Cells(Lig, ListCellule(i - 1)) = Me.Controls("TextBox" & i).Value Next i End With Unload Me 'ActiveSheet.Protect "*69*", UserInterfaceOnly:=True Sheets("Gestion bobine").Select 'ActiveWorkbook.Save End Sub Private Sub CommandButton5_Click() With Sheets("BASE") Lig = ActiveCell.Row Dim ListCellule ListCellule = Array(3, 4, 5, 6, 8, 14, 21) 'Cette fois on fait directement varier de 1 à 11 For i = 1 To 7 'on utilise donc ici directement la valeur de i pour construire le nom du TextBox Me.Controls("TextBox" & i) = "" .Cells(Lig, ListCellule(i - 1)) = Me.Controls("TextBox" & i).Value Next i End With Unload Me 'ActiveSheet.Protect "*69*", UserInterfaceOnly:=True Sheets("Gestion bobine").Select 'ActiveWorkbook.Save End Sub Private Sub Label13_Click() End Sub Private Sub UserForm_Initialize() Dim ListCellule 'Chargement des valeurs de la Feuil1 dans les TextBox et les ComboBox Lig = ActiveCell.Row 'On crée la liste des numéros de colonnes qui seront utilisés pour renseigner les TextBox ListCellule = Array(3, 4, 5, 6, 8, 14, 21) With Sheets("BASE") 'Pour chaque textbox on va donc chercher la colonne qui recoit l'info For i = 1 To 7 Me.Controls("TextBox" & i).Value = .Cells(Lig, ListCellule(i - 1)) Next i End With End Sub