Utilisation OptionButton

Bonjour,

Je viens encore vous embêter, je suis toujours sur mon projet. Je bloque sur l'utilisation d'un OptionButton, j'en ai deux : un oui et un non.

Lorsque que je coche "Oui" j'aimerais écrire "Oui" dans la colonne N, ici j'arrive à l'écrire mais uniquement en N4, comment modifier Range pour obtenir la dernière cellule de cette colonne ?

Voici le code que j'ai :

Private Sub OptionButton_Oui_Click()

If OptionButton_Oui.Value = True Then 'Si coché ...

Range("N4") = "Oui"

Else 'Si oui coché ...

Range("N4") = " "

End If

OptionButton_Oui.Value = True

UserForm_Réserve.Show

End Sub

Merci d'avance pour l'aide.

Bonjour,

Il conviendrait que tu te penches sur les points suivants :

-Lorsque tu cliques sur un OptionButton, il prend la valeur True ; c'est lorsque tu cliques sur un autre du même groupe qu'il prend la valeur False.

Donc là tu n'interviens que s'il a la valeur True, le test sur la valeur est par conséquent inutile.

Il deviendrait utile si tu utilises l'évènement Change... Mais dans ce cas en le remettant à True systématiquement à la fin, il sera toujours à True quoi qu'il se passe. Et donc s'il n'y a plus d'options les OptionButton deviennent inutiles.

-La procédure affecte une valeur là où tu lui dis de l'affecter. Si tu lui dis N4, ce serait un problème qu'elle aille l'affecter ailleurs.

C'est donc à toi de définir la cellule.

Une définition commençant par Range (feuille indéfinie, donc soumise à des aléas...) est un peu imprécise. Si la colonne N est la bonne mais la ligne n'est pas 4, il faut calculer la ligne avant d'affecter par .End(xlUp) ou .End(xlDown) selon ta configuration, qui te fournira la dernière ligne utilisée dans la colonne ou pointera la cellule elle-même selon ton code (il faut d'ailleurs savoir si c'est la dernière cellule occupée ou la suivante...)

Cordialement.

Bonjour,

Hum... En complément de la réponse de Ferrand, que je salue j'ai répondu à ta question tout en nettoyant un peu ton dernier fichier.

J'insiste bien en disant que c'est juste un petit nettoyage...

En particulier tu remarqueras la manière d'instancier la feuille de travail et de déterminer la ligne "en cours"

J'ai remanié aussi un peu le nom de tes UserForm et regroupé les instructions de lancement dans un module unique afin d'éviter la multiplication de Modules sans intérêts...

Il n'y a rien à gagner à utiliser des noms trop long : ça fait un code aussi long à taper que chiant à lire...

C'est comme tes Combo et autre TextBox :

CboDesign conviendrait tout aussi bien que ComboBox_Désignation

et TbDescr plutôt que TextBox_Description

ObOui et ObNon plutôt que OptionButton_Oui...

Index ne doit pas être utiliser comme variable c'est un élément du vocabulaire VBA. Il vaut mieux éviter ce genre de mélange.*

Plutôt que de pondre des formulaires "Ajout" à gogo tu devrais commencer à réfléchir sérieusement à la manière dont tu vas pouvoir modifier tes données. La bonne manière consiste à réutiliser le formulaire ajout -ce sont les mêmes- la seule chose qui change c'est qu'en mode modification le NumLigne est celui de la feuille en cours.

Qu'en tu auras bien réfléchi à ça, tu vas te rendre compte qu'il faut modifier un petit peu ta manière de charger tes formulaires. Je t'ai mis un peu sur la voie avec mes Userform_Initialize... Bon j'ai pas voulu aller trop loin pour pas te bousculer, mais c'est prioritaire...

Enfin... Tu regardes un peu TOUSSA et tu demandes...

A+

197controle-aide-vg.xlsm (163.13 Ko)

Bonjour,

Merci MFerrand pour les explications, j'ai réussi à obtenir ce que je souhaiter.

Merci galopin01, merci pour le nettoyage, et j'avais remarqué pour les modules donc dans mon dernier fichier j'avais fait la modification. Quand au appellation peut être (surement) tu as cette habitude pour ma par je me retrouve plus facilement dans mon code avec mes appellations, je pense que c'est une question d'habitude vue que j'ai toujours fait comme ça.

D'accord je ne savais pas.

Pour les formulaires je te remercie de l'indication je vais me pencher sur ce que tu m'indique.

Merci.

Bye.

Rechercher des sujets similaires à "utilisation optionbutton"