Pb mise à jour des ctrl d'un usf par boucle sur cells

jf27

XLDnaute Occasionnel
Bonsoirs à tous,


je refait ce post car je m'apercois en lisant une discussion sur la charte que je ne l'ai pas respectée en indiquant urgent dans le titre, je m'en excuse, je me suis laissé emporter par l'importance du pb rencontré!

donc je reprends, 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??

Merci par avance pour le coup de main


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
If Ctr.Name = Cells(4, colonne).Value Then
Ctr.Value = Cells(5, colonne).Value

End If
Next Ctr
Next colonne
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Pb mise à jour des ctrl d'un usf par boucle sur cells

Bonsoir le fil, bonsoir le forum,

À première vue tout semble normal mais il est difficile de t'aider sans un fichier exemple basé sur ton propre fichier, contenant la même structure et les deux UserForms + quelques données non confidentielles.
 

ledzepfred

XLDnaute Impliqué
Re : Pb mise à jour des ctrl d'un usf par boucle sur cells

staple (ben elle est l'où l'agraffeuse?), Robert, jf27, le forum, bonsoir

jf27: dans ta première rpocédure tu boucles de 3 à 198 colonnes, dans la seconde 3 à 196 (ce ne serait pas là qu'est l'os), il ne te manquerait pas les valeurs des deux derniers controls (197 et 198)


a+
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
314 628
Messages
2 111 333
Membres
111 104
dernier inscrit
JEMADA