Userform

bigben66 Messages postés 3 Date d'inscription jeudi 8 mai 2008 Statut Membre Dernière intervention 20 mai 2008 - 8 mai 2008 à 05:30
bigben66 Messages postés 3 Date d'inscription jeudi 8 mai 2008 Statut Membre Dernière intervention 20 mai 2008 - 20 mai 2008 à 05:45
J'ai cree un userform dans lequel je doit saisir des montants $ qui se revoient dans un feuille excel
Mon "bug" est que j'ai 3 optionButon ( donc plusieur if....then), 3 colonnes A-B-C
et un bon nombre de montant a saisir
peut importe ce que je tente comme code, mes donnees s'inscrives toute dans la colonne A

Private Sub BoutonOK_Click()
    Dim LigneSuivante As Long
   
'  Verification que la feuille est active
    Sheets("test").Activate
   
'  Determination de la prochaine ligne
    LigneSuivante = Application.WorksheetFunction.CountA(Range("A:A")) + 1
   
'  Verification que la saisie a été faite
    If TextBox1.Text = "" Then
        MsgBox "Vous devez saisir un montant $ "
        Exit Sub
    End If
   
'  Transfert du montant
    Cells(LigneSuivante, 1) = TextBox1.Text
   
'  Transfert de la categorie
    If OptionBOEUF Then Cells(LigneSuivante, 2) = Range("b")
    If OptionPORC Then Cells(LigneSuivante, 2) = Range("c") 

besoin aide SVP

BIGBEN :)

5 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
8 mai 2008 à 07:49
salut,

tes If sont mal construits. Et tu dois préciser les propriétés / méthodes après chaque objet :

'  Transfert de la categorie
    If OptionBOEUF.Value = True Then
        Cells(LigneSuivante, 2) .Value = Range("b")
    ElseIf OptionPORC.Value = True Then
        Cells(LigneSuivante, 2). Value = Range("c")
    End If

Et Range("c") , c'est quoi pour toi ?

@++

<hr size ="2" width="100%" />( Nouveau forum : Exclusivement Office & VBA/STRON
0
cs_baz187rem Messages postés 78 Date d'inscription vendredi 23 mars 2007 Statut Membre Dernière intervention 21 juin 2010 1
8 mai 2008 à 08:55
  Et Range("c"), c'est quoi pour toi ?

 Je pense que ca doit etre la colonne dans laquelle il veut faire la saisie...
0
bigben66 Messages postés 3 Date d'inscription jeudi 8 mai 2008 Statut Membre Dernière intervention 20 mai 2008
8 mai 2008 à 15:07
1) Merci pour la rapidite de la reponse
2) En effet     If OptionBOEUF Then Cells(LigneSuivante, 2) = Range("b")
    correspond a la destination ( colonne).
3) Si je desire que les montants s'ajoute en dessous les un des autres ?
    est-ce que ma ligne de code (ligne suivante...) est bonne?

BIGBEN :)
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
9 mai 2008 à 02:46
Oui, il me semble.
L'autre alternative :

Dim LigneSuivante As integer
LigneSuivante = Range("A1").End(xlUp).Row + 1

@++

<hr size="2" width="100%" />( Nouveau forum : Exclusivement Office & VBA/STRON
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bigben66 Messages postés 3 Date d'inscription jeudi 8 mai 2008 Statut Membre Dernière intervention 20 mai 2008
20 mai 2008 à 05:45
rien a faire :(
soit message d'erreur ou copie dans la colonne A

cela ne serait pas plus simple avec des boutons de commandes?
j'ecrit le code dans le userform ou j'ajoute un module

BIGBEN :)
0
Rejoignez-nous