VBA code pour Userform

Bonjour a toute & tous,

Je viens vers vous car étant plus que débutant en Vba, je me casse la tête depuis un moment pour encoder mon fichier.

Etant reclassé depuis 2 mois dans un service de reprographie, plutôt que de mettre sur papier les différents travaux demandés, j’ai proposé à l’équipe d’essayer de faire un formulaire.

Le formulaire ‘UFSaisie’ est réalisé.

J’ai commencé le code dans celui-ci en m’inspirant des différents post et cours VBA sur le site (date & combo fonctionnent) mais je rencontre quelques problèmes pour le reste, je me permets de vous les exposer :

1- Quand je valide la saisie celle-ci va directement se placer sur la ligne 2 modifiant mon tableau par la même occasion (num = Range("a1048576").End(xlUp).Row + 1) ai-je la bonne méthode ?

2- Je n’arrive pas à rendre inactif certaine textbox, cela est-il possible ?

3- Je n’arrive pas non plus à mettre un « X » sinon ““ a la place de Vrai.

Bref suis une quiche mais je ne demande qu’à apprendre.

Voilà ce que j’attends du fichier :

A/ Dans l’Fr Quantité quand on entre une valeur dans TBDocument cela rend TBImprimé inactif et inversement.

B/ De même dans FR Assemblage une fois qu’une valeur est entrée Ex : (TB Agraphe) cela rend inactif les 2 autres et inversement.

C/ Dans la Fr Noir & blanc de même pour Fr couleur et Fr plastification :

Je souhaiterais qu’au lieu de voir VRAI ou Faux sur la (feuil janvier), les checkBox note un X sinon ““ à la place.

J’espère avoir était précis pour vous auquel cas je me tiens à votre disposition.

Merci à vous

Cordialement Eric

Bonjour,

Pour la question A :

Private Sub TBDocument_Change()
    If TBDocument.Text = "" Then TBImprimé.Enabled = True Else TBImprimé.Enabled = False
End Sub

Private Sub TBImprimé_Change()
    If TBImprimé.Text = "" Then TBDocument.Enabled = True Else TBDocument.Enabled = False
End Sub

Pour la question B :

Private Sub TBSpirale_Change()
    If TBSpirale.Text = "" Then TBThermo.Enabled = True: TBAgraphe.Enabled = True Else TBThermo.Enabled = False: TBAgraphe.Enabled = False
End Sub

Private Sub TBThermo_Change()
    If TBThermo.Text = "" Then TBSpirale.Enabled = True: TBAgraphe.Enabled = True Else TBSpirale.Enabled = False: TBAgraphe.Enabled = False
End Sub

Private Sub TBAgraphe_Change()
    If TBAgraphe.Text = "" Then TBThermo.Enabled = True: TBSpirale.Enabled = True Else TBThermo.Enabled = False: TBSpirale.Enabled = False
End Sub

et pour la question C :

Range("E" & num) = IIf(CBNoirA4.Value = True, "X", "")
Range("F" & num) = IIf(CBNoirA3.Value = True, "X", "")

Bonjour

pour la 1er question mettre le Sheets avant le Num

A+

Maurice

    Sheets("janvier").Activate
    num = Range("A" & Rows.Count).End(xlUp).Row + 1

Merci Theze et archer pour vos réponses , je met en application et au besoins je revient vers vous.

encore merci

Cordialement

Bonsoir je reviens vers vous , j'ai mis en application les différentes modifications et je me suis appuyer sur vos réponses pour les adapter aux autres textbox et combo .

1/ des que je valide la saisie celle-ci , les données se placent en ligne 18 .

bizarre vous avez dit bizarre

2/ depuis la mise en place des modifications quand je veux modifier ma saisie les textbox ainsi que combo-s’effacent correctement et se mettent à 0 sauf les checkbox comme certaines sont 'enabled' elles ne se réactive pas lors de la modification de la saisie.

merci pour le temps que vous passez à solutionner mon souci

je me permet de re-joindre mon fichier

Cordialement

Bonjour toutes et tous et bon Week-end

pour la question 2

Edit : toutes les checkbox oui et non sont ok de l'usf, prendre fichier ci-joint modifié sam.28 oct à 15h06

Note : Il ne reste plus que les textbox(s) :

TBAgraphe

TBThermo

TBSpirale

TBDocument

TBImprimé

crdlt,

André

Bonjour et grand merci Andre13 j'ai suivi tes conseils et cela fonctionne a merveille, j'ai un peu tricoté avec les 3 combo mais apres 10mn j'ai essayer de rajouter une condition derriere l'autre celle-ci CBPlasA4Plas.Enabled = False et true cela à fonctionné .

Private Sub CBPlasA4Nor_click()

If CBPlasA4Nor.Value = True Then

CBPlasA3Nor.Enabled = False

CBPlasA4Plas.Enabled = False

End If

If CBPlasA4Nor.Value = False Then

CBPlasA3Nor.Enabled = True

CBPlasA4Plas.Enabled = True

End If

End Sub

Encore merci ,

ne me reste plus qu'a savoir pourquoi les données se placent sur la ligne 18 et non pas ligne 3

malgré ce code

Sheets("janvier").Activate

num = Range("A" & Rows.Count).End(xlUp).Row + 1

j'y retourne

Cordialement

Re, bonjour

merci si tu es contents j'le'suis

a) pour ce qui est de la ligne question 1, il y a une date FmSaisie (Nom : TBDate textbox)

et pour coïncider une date pour que le transfert s'effectue correctement dans la feuille, il faut que le code corresponde dans ton USF

b) après j'ai vu que tu avais une colonne ' S ' qui ne se trouve pas dans ton USF (facultatif)

c) il y a des filtres dans tes colonnes de ta feuille Janvier

Si tu as fait des modifications sur ton fichier n'hésite-pas à le mettre ci-joint pour que l'on puisse trouvé pour la question 1 (décalage )

et surtout merci à tous et bon week-end

crdlt,

André

Merci pour tout ces conseils jetait très loin d'y arriver seul .

merci aussi à archer et theze.

j'ai trouvé d ou venais le problème concernant les données qui se placer en ligne 18 , j'ai refais une nouvelle feuil 'janvier' cette fois ci sans les onglets listes et le tout fonctionne âpres plusieurs ajout de données .

je vais pourvoir le poursuivre car j'en ai pas fini avec lui ,je dois le réaliser sur 12 mois .y ajouter un graphique pour les stats et qque formules de calculs.le pied en somme.

encore merci a vous et vive excel-pratique

Cordialement Eric

Le problème venait des filtres , j'ai refait une feuille 'janvier' sans les filtres et tout fonctionne

je suis entrain de faire le classeur sur 12 mois après je verrais pour le code a mettre pour qu'a l’ouverture de celui-ci il me place directement sur le mois concerné .

je suis bien motivé au vu des posts sur le site je ne peux que progresser et ceux grâce a des membres qui savent donner de leur temps à des personnes dans mon cas.

j'ai un profond respect pour ces personnes la

encore merci Andre13

Amicalement Eric

Rechercher des sujets similaires à "vba code userform"