Insérer dans feuille info de bouton option d'userform
Je n'ai pas compris le cours vba sur les boutons option, en l'occurrence, d'où sortait colonne et ligne
Bref !!
Quel code va permettre de copier l'intitulé du bouton option (par exemple espèce) dans la feuille excel ?
Voilà UF et la feuille :
Yvouille, si tu lis ceci, tu ne pourras pas me reprocher de pas être concis !!
Merci
bonjour,
voila le canevas du code demandé
à toi d'adapter
frame_typepaiement (mettre le nom que tu as donné)
Feuil1 (mettre le nom de la feuille où la donnée doit être copiée)
cells(x,y) (remplacer les x et y pr les numéros de ligne et et de colonne où la donnée doit être copiée)
for each tp in frame_typepaiement
if tp then worksheets("Feuil1").cells(x,y)=tp.caption:exit for
next
désolé h2so4 je n'y arrive pas. J'ai essayé en m'aidant de ton explication et du cours vba mais rien à faire çà génère des erreurs.
En voulant être concis je l'ai été peut-être un peu trop !
(C'est de la faute d'Yvouille aussi qui dit que je suis trop long quand je présente qqchose !!
Confirmation : je suppose que le code va bien dans le bouton "valider" ?
Vu que mon UF sert de saisie journalière je ne connais pas les coordonnées de l'emplacement de mon "type de paiement", sauf sur la dernière ligne écrite.
Mon bouton valider ressemble déjà à çà et il faut que j'y ajoute mon type de règlement dans colonne K.
Private Sub BTCValider_Click()
'déclaration de variable
Dim DernLigne As Long
'insérer infos en dernière ligne
DernLigne = Range("B" & Rows.Count).End(xlUp).Row + 1
'déclarer contenu des cellules
Range("B" & DernLigne) = CDate(TxBDate)
Range("F" & DernLigne) = CBxCat
Range("G" & DernLigne) = CBxObjet
Range("H" & DernLigne) = TxBCodeClient
Range("I" & DernLigne) = TxBDoc
Range("J" & DernLigne) = TxBDési
Range("M" & DernLigne) = TxBCrédit.Value
Range("N" & DernLigne) = TxBDébit.Value
'efface saisies après validation
TxBDate = emply
CBxCat = emply
CBxObjet = emply
TxBCodeClient = emply
TxBDoc = emply
TxBDési = emply
TxBCrédit = emply
TxBDébit = emply
End Sub
Voilà j'espère avoir été clair et complet.
h2so4 (quel drole de nom on dirait que je parle avec un robot !!
merci
Bonjour,
voici ce à quoi devrait ressembler ton code. la seule inconnue pour moi est le nom de l'objet frame qui contient tes radio-buttons pour les types de paiement. Tu devras l'adapter
Private Sub BTCValider_Click()
'déclaration de variable
Dim DernLigne As Long
dim tp as object, typepaiement as string
'insérer infos en dernière ligne
DernLigne = Range("B" & Rows.Count).End(xlUp).Row + 1
for each tp in frame_typepaiement
if tp then typepaiement=tp.caption:exit for
next
'déclarer contenu des cellules
Range("B" & DernLigne) = CDate(TxBDate)
Range("F" & DernLigne) = CBxCat
Range("G" & DernLigne) = CBxObjet
Range("H" & DernLigne) = TxBCodeClient
Range("I" & DernLigne) = TxBDoc
Range("J" & DernLigne) = TxBDési
Range("M" & DernLigne) = TxBCrédit.Value
Range("N" & DernLigne) = TxBDébit.Value
Range("K" & dernligne)=typepaiement
'efface saisies après validation
TxBDate = emply
CBxCat = emply
CBxObjet = emply
TxBCodeClient = emply
TxBDoc = emply
TxBDési = emply
TxBCrédit = emply
TxBDébit = emply
End Sub
Re
Je vais peut-être te paraitre lourd mais si j'ai bien compris la méthode, je m'embrouille avec le "tp" dont tu ne m'as pas dit d'où il sort.
Voici les propriétés de Type de Paiement
Dans ton code :
dim tp as object, typepaiement as string
Par quoi je dois remplacer tp et typepaiement ?
Si tu as besoin de savoir autre chose dis moi.
Merci mille fois
a+
re bonjour,
typepaiement est une variable que j'ai définie et qui servira à contenir le nom(caption) du radio button sélectionné. Cette variable est utilisée plus loin dans la procédure dans l'instruction range("K" & dernLigne.
tp est une variable que j'ai définie et qui servira à recevoir les objets qui font partie du frame FrTdP.
l'instruction For each xx in yy, permet de prendre 1 a 1 les objets appartenant à yy et les mettre dans la variable xx. On peut par la suite exploiter cet objet via le nom xx. en prendre la valeur xx.value, en prendre le caption xx.caption, le nom xx.name etc...
J'ai adapté le code pour intégrer le nom du frame typedepaiment que tu as donné FrTdP.
Private Sub BTCValider_Click()
'déclaration de variable
Dim DernLigne As Long
dim tp as object, typepaiement as string
'insérer infos en dernière ligne
DernLigne = Range("B" & Rows.Count).End(xlUp).Row + 1
for each tp in FrTdP
if tp then typepaiement=tp.caption:exit for
next
'déclarer contenu des cellules
Range("B" & DernLigne) = CDate(TxBDate)
Range("F" & DernLigne) = CBxCat
Range("G" & DernLigne) = CBxObjet
Range("H" & DernLigne) = TxBCodeClient
Range("I" & DernLigne) = TxBDoc
Range("J" & DernLigne) = TxBDési
Range("M" & DernLigne) = TxBCrédit.Value
Range("N" & DernLigne) = TxBDébit.Value
Range("K" & dernligne)=typepaiement
'efface saisies après validation
TxBDate = emply
CBxCat = emply
CBxObjet = emply
TxBCodeClient = emply
TxBDoc = emply
TxBDési = emply
TxBCrédit = emply
TxBDébit = emply
End Sub
super !!
Tu es terrible j'ai tout compris !
Juste une question ou confirmation :
le nom des variables (tp et typepaiement) sont inventées et on peut leur donner le nom que l'on veut ? (si je veux changer typepaiement par expl ?)
Je demande çà aussi pour une autre utilisation de pareil cas.
Merci à toi
riridenimes a écrit :super !!
Tu es terrible j'ai tout compris !
Juste une question ou confirmation :
le nom des variables (tp et typepaiement) sont inventées et on peut leur donner le nom que l'on veut ? (si je veux changer typepaiement par expl ?)
Je demande çà aussi pour une autre utilisation de pareil cas.
Merci à toi
effectivement tu peux leur donner le nom que tu veux.
Super !
Bon prof, malgré ton nom de robot !!
Je vais essayer d'appliquer maintenant...
J'aurais d'autres questions sur d'autres thèmes plus tard.
Au plaisir de te retrouver.
Cordialement
RiRidenimes