Bonjour,
J'ai créé un système de gestion de navigabilité pour gérer les avions de mon aéroclub. J'ai un fichier Excel par avion qui regroupe toutes les données et jusqu'à maintenant un second fichier Excel pour générer les dossiers de visite de maintenance.
J'ai modifié mon système pour ne plus avoir qu'un seul fichier de dossier de visite commun à tous les avions. Ca implique que je dois sélectionner l'avion sur lequel je veux travailler.
Pour ça j'utilise une Userform avec des OptionButton,et j'affecte à chaque OptionButton l'immatriculation d'un avion avec le code
UserForm1.OptionButton1.Caption = Sheets("Récap").Range("P85").Value
Et ça marche sans problème.
Aujourd'hui, il y a 6 UserForm successives et je suis en train de les compiler pour n'en faire plus qu'une. J'ai donc créé des OptionButton sur la UserForm unique et je reprends le même code
UserForm7.OptionButton1.Caption = Sheets("Récap").Range("P85").Value
Ca a très bien marché jusqu'à hier matin et depuis, sans aucune action de ma part, j'ai une erreur 438 qui apparait quand je lance la macro sur la UserForm7, alors que tout marche très bien sur la UserFom1.
Les OptionButton de la Userfom7 ont les mêmes propriétés que ceux de la Userfom1 (vérifié item par item) et la seule différence que je vois, et que je n'explique pas, c'est le type de OptionButton.caption renvoyé par l'espion de VBA : String pour la UserForm1, Integer pour la UserForm7.
Je ne peux bien évidemment pas déclarer UserForm7.OptionButton1.Caption as String, ce serait trop facile...
Pour info, le format de cellule de P85 et les suivantes est Standard. J'ai essayé de le passer en Texte ça n'a rien changé. Les données contenues dans les cellules sont de la forme lettre / tiret haut / 4 lettres, donc une chaine de caractères, pas un nombre.
Si vous avez une explication et une solution je prends. A mon petit niveau avec un minimum d'intérêt pour l'informatique je bloque, mais ce système est destiné à être utilisé par des " anciens " allergiques à tout ce qui n'est pas du papier. D'où la fiabilité maximale nécessaire...
Merci d'avance.
Manu