Hello,
J'ai un souci avec mon UserForm.
Je peux :
Malheureusement dans ce 2ème cas, le pré-remplissage des informations se fait de manière aléatoire (il s'affiche soit avec les infos prévus, soit entièrement vierge). Je n'arrive pas à comprendre pourquoi parfois ça fonctionne et d'autres fois ça ne fonctionne pas.
J'ai mis des DebugPrint qui me montrent :
Par contre, elle ne termine pas dans les champs voulus
Voici un extrait de ma routine d'initialisation. Est-ce quelqu'un verrait l'erreur que j'ai commise ?
Merci d'avance et bonne soirée
Fab
J'ai un souci avec mon UserForm.
Je peux :
- Soit l'utiliser entièrement vierge (dans ce cas je mets "New" dans ma variable ObjectiveSelected). L'utilisateur rempli ensuite tout ou partie des champs qui seront sauvé dans un onglet
- Soit l'utiliser pour mettre à jour / compléter un enregistrement déjà existant (dans ce cas je mets "Update" dans ma variable ObjectiveSelected). Les informations rentrées préalablement par l'utilisateur sont alors chargées une à une dans les différents champs du UserForm au moment de son initialisation.
Malheureusement dans ce 2ème cas, le pré-remplissage des informations se fait de manière aléatoire (il s'affiche soit avec les infos prévus, soit entièrement vierge). Je n'arrive pas à comprendre pourquoi parfois ça fonctionne et d'autres fois ça ne fonctionne pas.
J'ai mis des DebugPrint qui me montrent :
- Qu'il a bien compris qu'il s'agissait d'une mise à jour (et que donc il doit suivre la condition mise à jour)
- Qu'il identifie bien la bonne ligne où se trouve les données qu'il doit rapatrier
- Qu'il arrive bien à lire les données qu'il doit rapatrier.
Par contre, elle ne termine pas dans les champs voulus
Voici un extrait de ma routine d'initialisation. Est-ce quelqu'un verrait l'erreur que j'ai commise ?
VB:
Private Sub UserForm_Initialize()
'DEBUG******************
Debug.Print "LigneAMettreAJour dans l'initialisation du Formulaire = " & LigneAMettreAJour ' Il affiche la bonne ligne
Debug.Print "ObjectiveSelected = " & ObjectiveSelected ' Il affiche la bonne valeur pour cette variable, à savoir "Update"
If ObjectiveSelected = "New" Then
cmd_Save.Caption = "Save"
ElseIf ObjectiveSelected = "Update" Then
cmd_Save.Caption = "Save Update"
' Prepopulate les différents champs
'1er onglet
txt_ProjectID.Value = Sheets("Global tracker").Range("A" & LigneAMettreAJour)
Debug.Print "valeur qu'il doit reprendre (ID) : " & Sheets("Global tracker").Range("A" & LigneAMettreAJour)' Il affiche la valeur qu'il est supposé ramené dans la TextBox
...
' Les Debug.Print montrent qu'il est au bon endroit pour récupérer la première valeur pour le champ txt_ProjectID.Value
Merci d'avance et bonne soirée
Fab