Bonjour Marc.
Comprends-tu le fait de devoir faire référence à une feuille précise lors des remplissages ?
Comme expliqué précédemment, si tu ne fais pas référence à la feuille d'où tu tires les données, la procédure va récupérer de la feuille active.
Dans notre cas, et est plus rapide, on place la procédure entre les balises With et End With, ça évite de tout devoir réécrire sur chacune des lignes le Sheets("Chiffres")
With ThisWorkbook.Sheets("Chiffres")
'ici nous allons afficher dans les textbox les valeurs par mois correspondant à notre selection
For i = 1 To 39
Bilan.Controls("textbox" & i) = .Cells(i + 1, ComboBoxParMois.ListIndex + 3)
Bilan.Controls("label" & i).Caption = Format(Cells(i + 1, 15), "0.00")
Next i
End With
Quand tu travailles comme ceci, tu dois mettre un "." devant les Range ou Cells, sur la ligne Caption il n'y en a pas, regarde la ligne Textbox tu le verras.
Egalement, en regardant ton UserForm_initialize(), tu fais encore l'erreur de ne pas mettre de majuscule à "chiffres".
ComboBoxParMois.AddItem Sheets("chiffres").Cells(1, i) 'ajoute les valeurs des cellules c1 à o1 avec la boucle
chiffres <> Chiffres