Soucis formulaire

boujour a tous,

ci joint mon classeur ou il y a 3 problemes que je ne sais pas resoudre et comme le dit le proverbe:"vaut mieux un qui sait que 10 qui cherches..."

le premier: quand je remplis mon formulaire (saisie) j envois une partie des infos dans "la feuille gestion" et une autre dans la feuille "prog"

le problème c'est que cette dernière ne passe pas a la ligne suivante...

le deuxième: toujour dans le formulaire, je coche une des case "language" "FR, EN,IT ou RU" elles sont dans une Frame mais en colonne "F" de la feuille prog seul RU apparait quelques soit celui que je coche.

et le petit troisième : serait il possible que quand je clique sur facture: en même

21gestion.zip (355.13 Ko)

temps que mes données saisie ( nom, adresse le choix du materiel etc etc) edite la facture ayant comme reference le N°de SIM, cette derniere soit automatiquement enregistré sous "C:\Users\techn\Desktop\4G Boat Protect\facturation) avec comme intitulé : le Nom et la reference (N°SIM)...?

un grand merci d avance....

Edit Dan : Modifié titre du sujet "3 petits soucis que j'ai à résoudre."

Bonjour,

1.le premier: quand je remplis mon formulaire (saisie) j envois une partie des infos dans "la feuille gestion" et une autre dans la feuille "prog".le problème c'est que cette dernière ne passe pas a la ligne suivante...

- En premier comme vous utilisez les tableaux structurés, dans votre feuille Gestion Sim, supprimez toutes les lignes entre la ligne 6 et 28.
- Dans votre Usf, remplacez le code Ajouter par celui ci-dessous

Private Sub btnajout_Click()
Dim lig As Integer
Dim i as byte

With Sheets("Prog").ListObjects("Tableau2")
   If WorksheetFunction.CountA(.DataBodyRange) = 0 Then
    lig = 1
    Else:
    lig = .ListRows.Count + 1
    .ListRows.Add
End If
   .DataBodyRange.Item(lig, 1) = textNom.Value
   .DataBodyRange.Item(lig, 2) = textNsim
   .DataBodyRange.Item(lig, 3) = textTel
   .DataBodyRange.Item(lig, 4) = textTel2
   .DataBodyRange.Item(lig, 5) = textTel3
   For i = 1 To 4
       If Controls("Checkbox" & i) = True Then .DataBodyRange.Item(lig, 6) = Controls("checkbox" & i).Caption
   Next i

End With

With Sheets("Gestion sim").ListObjects("Tableau1")
   If WorksheetFunction.CountA(.DataBodyRange) = 0 Then
    lig = 1
    Else:
    lig = .ListRows.Count + 1
    .ListRows.Add
End If
   .DataBodyRange.Item(lig, 1) = textNom
   .DataBodyRange.Item(lig, 2) = textPrenom
   .DataBodyRange.Item(lig, 3) = textAdresse
   .DataBodyRange.Item(lig, 4) = textVille
   .DataBodyRange.Item(lig, 5) = textCP
   .DataBodyRange.Item(lig, 6) = textTel
   .DataBodyRange.Item(lig, 7) = textEmail
   .DataBodyRange.Item(lig, 9) = textNsim
   .DataBodyRange.Item(lig, 10) = textBarre
End With
End Sub

EDIT

2. le deuxième: toujour dans le formulaire, je coche une des case "language" "FR, EN,IT ou RU" elles sont dans une Frame mais en colonne "F" de la feuille prog seul RU apparait quelques soit celui que je coche.

Vous utilisez des boutons Toogle pour le choix de la langue. Ce n'est pas vraiment un contrôle standard et je vous suggère de changer au profit de cases à cocher. J'ai adapté le code ci-dessus qui prévoit l'utilisation de checkbox

Cordialement

Merci Dan,

je vais essayer...

et concernant l enregistrement une idée?

et le petit troisième : serait il possible que quand je clique sur facture: en même temps que mes données saisie ( nom, adresse le choix du materiel etc etc) edite la facture ayant comme reference le N°de SIM, cette derniere soit automatiquement enregistré sous "C:\Users\techn\Desktop\4G Boat Protect\facturation) avec comme intitulé : le Nom et la reference (N°SIM)...?

Oui c'est possible à faire mais à quel moment ? quelle est la commande que vous allez utiliser -> bouton ou autre ?

Edit :
La sauvegarde de la feuille doit être sous quel format --> dans un nouveau fichier excel ou un fichier PDF ?
Un exemple ici --> https://forum.excel-pratique.com/s/goto/177929

sur le formulaire, j'ai crée un bouton Facture (j'en ai un autre "print facture" et un 3emme "erase" pour vider la facture

je veux utiliser le bouton "facture", en fait quand je rempli mon formulaire toute la partie de droite est a facturer, le reste c'est de la donnée pour moi

donc j aimerais enregister la facture en PDF au moment ou je clic sur (facture) en même temps que je l edid ... ou pour simplifier je crée un bouton dedié a l enregistrement

donc j aimerais enregister la facture en PDF au moment ou je clic sur (facture) en même temps que je l edid ... ou pour simplifier je crée un bouton dedié a l enregistrement

C'est peut être mieux un bouton dédié à l'enregistrement car vous n'enregistrerez la facture qu'après l'avoir imprimée et que vous êtes sûr que les données de facture soient bonnes. Maintenant il ne faut pas l'oublier non plus.... A vous de choisir

Dites moi si je dois faire quelque chose et si oui, répondez à mes questions posées dans mon post précédent

Bonsoir Dan

j'ai remplacé les toggle par des checkbox, j'ai renommé les "Caption" en FR, EN, IT et RU

j'ai remplacé le code du BTNAJOUT par celui que vous avez modifié mais j'ai un message d'erreur

"If WorksheetFunction.CountA(.DataBodyRange) = 0 Then"...

j'ai remplacé le code du BTNAJOUT par celui que vous avez modifié mais j'ai un message d'erreur

Dans le code il y a deux fois l'instruction. C'est à quel endroit ?

Private Sub btnajout_Click()

Dim lig As Integer

Dim i As Byte

With Sheets("Prog").ListObjects("Tableau2")

If WorksheetFunction.CountA(.DataBodyRange) = 0 Then<----------------------------------- ici

j 'ai plus rien qui marche............

Bonjour

Le tableau dans votre feuille Prog est bien nommé Tableau2 comme dans le fichier que vous avez posté ?

Bonjour,

dans le visual basic il est indiqué : feuille3 (Prog)

Non ce n'est pas cela dont je parlais mais de la définition du tableau que vous trouvez dans le menu Formule -> Gestionnaire de noms

Sinon mettez votre fichier en ligne je vérifierai
8gestion.zip (356.64 Ko)

Bon d'abord dans votre code Private Sub btnajout_Click() il y a une erreur car vous mettez Tableau3 alors que dans le code que je vous ai donné c'est Tableau2

Ensuite c'est assez incompréhensible que cela ne fonctionne pas dans votre fichier posté ce jour. Peut être une crasse dans la feuille Prog ?

Je vous poste celui sur lequel j'ai testé ma proposition. Faites un test avec celui ci

5gestion2.zip (341.51 Ko)

Impec Dan...

comment je code le bouton enregister facture?

et.... merci mille fois!

Bonjour

comment je code le bouton enregister facture?

Ben je vous ai donné un lien dans mon message précédent https://forum.excel-pratique.com/s/goto/929304 avec le code qu'il vous faut

- remplacez "Feuil1" par "Facture"
- dans "dossiersauvegarde = "C:...." --> vous mettez votre répertoire à la place
- dans "nomfichier =.range..." --> vous remplacez par .range("C6") & "-" & .range("B14") & ".pdf" (C6 étant la cellule contenant le nom du client, B14 la reférence de la facture)

Si vous voulez avoir la refSIM, il faudrait savoir où vous la mettez dans votre facture pour l'ajouter au nom du fichier

bonjour Dan

je met le code dans un module aussi? comment je fais avec le bouton enregistrement de mon formulaire?

je met le code dans un module aussi?

Oui dans votre module saisie en dessous de l'autre macro

comment je fais avec le bouton enregistrement de mon formulaire?

Accédez au formulaire "sim", double click sur le bouton concerné par l'action de sauvegarde

Dans la macro, mettez -> CALL + le nom de votre macro (sans le SUB et sans les parenthèses. Ex : si la macro est nommée "ENREG_PDF", mettez "CALL ENREG_PDF"

hummm vous pourriez me le faire?

le n°de sim est en B14

Nom en C6, D6

le repertoire de destination :C:\Users\techn\Desktop\4G Boat Protect

je vous en demande beaucoup .... en tout cas mille merci de votre aide...

Rechercher des sujets similaires à "soucis formulaire"