Userform

Signaler
Messages postés
3
Date d'inscription
jeudi 8 mai 2008
Statut
Membre
Dernière intervention
20 mai 2008
-
Messages postés
3
Date d'inscription
jeudi 8 mai 2008
Statut
Membre
Dernière intervention
20 mai 2008
-
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

Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
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
Messages postés
78
Date d'inscription
vendredi 23 mars 2007
Statut
Membre
Dernière intervention
21 juin 2010
1
  Et Range("c"), c'est quoi pour toi ?

 Je pense que ca doit etre la colonne dans laquelle il veut faire la saisie...
Messages postés
3
Date d'inscription
jeudi 8 mai 2008
Statut
Membre
Dernière intervention
20 mai 2008

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 :)
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
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
Messages postés
3
Date d'inscription
jeudi 8 mai 2008
Statut
Membre
Dernière intervention
20 mai 2008

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 :)