Help Urgent et important: pb mise à jour de USF Merci !

jf27

XLDnaute Occasionnel
Bonsoirs à tous,

j'ai un point dur sur mon appli.

Je documente via un usf une database produit (1ligne par fiche produit dans une feuille excel) + création d'une fiche produit dans un fichier xls externe.
Je boucle sur tous les ctrl de mon usf pour remplir la database et le fichier excel
Jusque là tout ok.
2ème fonction: je souhaite pouvoir modifier une fiche déjà enregistrée.
Via un 2ème usf j'affiche la liste des fiches dispo le user selectionne .
CEla réouvre donc le 1er userform en remplissant les ctrl avec les valeurs contenues dans la fiche correspondante.
Je rempli cet usf de même en bclant:( sur tous les ctrl.

Le pb est que certains ctrl sont bien remplis avec les bonnes valeurs et d'autres non alors que les cellules correspondantes sont bien documentées.
Je coince, c'est urgent c pour mon boulot.

Pouvez checker si ma boucle est correcte ainsi que mes syntaxes en rouge . D'avance merci

Est ce qu'il y a un soucis dans mes show, activate, open workbook...?
Est ce le fait d'avoir 2usf dans l'appli qui peut créer ces Pb??

Le code
************
Remplissage de la database et du fichier à partir des infos USF: ca fonectionne
Code:
'Create and fill new line in Rawdatabase worksheet
Workbooks("HBS02.xls").Activate
Sheets("Raw_Database").Activate
ActiveSheet.Unprotect
ligne = Range("C65536").End(xlUp).Row + 1
colonne = 3
For colonne = 3 To 198

For Each Ctr In UserFormNewFile.Controls
 
If Ctr.Name = Cells(4, colonne).Value Then
Cells(ligne, colonne).Value = Ctr.Value
End If
Next Ctr
Next colonne
Code:
*********2ème partie du code qui réouvre le fichier choisi et rempli le usf **
C'est là que certains ctrl ne sont pas correctement mis à jour.

 [CODE]
Dim applicationpath As String

File = FileSelect.Value
Unload Me

applicationpath = ThisWorkbook.Path
Set currentfile = Workbooks.Open(applicationpath & "\Product_Files\" & File & ".xls")
  
Sheets("data").Activate
UserFormNewFile.Show
colonne = 3
For colonne = 3 To 196
For Each Ctr In UserFormNewFile.Controls
[COLOR="Red"]If Ctr.Name = Cells(4, colonne).Value Then
Ctr.Value = Cells(5, colonne).Value[/COLOR]

End If
Next Ctr
Next colonne
 
Dernière édition:

jf27

XLDnaute Occasionnel
Re : Help Urgent et important: pb mise à jour de USF Merci !

merci de ta réponse

j'ai testé, cela marche de manière identique au code initial.

C'est la 2ème partie du code, lorsque je veux ouvrir le usf et copier les valeurs des cellules dans les ctrl, qui fonctionne mal


Code:
File = FileSelect.Value
Unload Me

applicationpath = ThisWorkbook.Path
Set currentfile = Workbooks.Open(applicationpath & "\Product_Files\" & File & ".xls")
  
Sheets("data").Activate
UserFormNewFile.Show
colonne = 3
For colonne = 3 To 200
For Each Ctrmod In UserFormNewFile.Controls
If Ctrmod.Name = Cells(4, colonne).Value Then
'MsgBox "crtname " & Ctrmod.Name & "cell " & Cells(4, colonne).Value & "ctrval " & Ctrmod.Value & "cellval " & Cells(5, colonne)

Ctrmod.Value = Cells(5, colonne).Value
End If
Next Ctrmod
Next colonne
 

Discussions similaires

Statistiques des forums

Discussions
312 495
Messages
2 088 964
Membres
103 992
dernier inscrit
Christine 974