Formulaire qui rempli des cellules specifique
Bonsoir tous le monde.
Voici en pièce jointe mon devis.
Je souhaite ouvrir le formulaire, le remplir et lorsque je clique sur generer devis, ca me remplisse les cases correspondante.
Dans le formulaire j'ai mis des cases à cocher qui corresponde aux cases à cocher sur la partie bleu a droite du devis.
Lorsque je coche une case, ca me recopie l'intitulé dans mon devis à gauche.
Bonjour,
Je tricote lentement ton projet ... mais là, j'ai quelques questions ...
Dans ton formulaire, tu as placé des ListBox au lieu des TextBox ... Y a-t-il une raison particulière ou des TextBox ferait l'affaire ?
ListBox supporte plusieurs lignes
TextBox ne supporte qu'une ligne
Dans ton formulaire, dans quelle cellule du Devis devrait s'écrire les infos ...
- Nombre de radar vidéo supp. =
- Nombre de spot Led =
- Nombre de tableau électrique =
- Nombre de Protection Latérale =
- Tarif Raccordement cabane =
Toujours dans ton formulaire ... Sélectionner le type de protection ... ça fait référence à quoi ?
Merci des précisions ...
Gelinotte
Salut,
Dans le classeur essaiformulaire que j'ai mis à 23h38 quand tu coche une case, ca recopie l'intitulé automatiquement dans le devis de gauche.
Prend celui ci, ca sera beaucoup plus facile, c'est vraiment celui que j'utilise, mais avec toute les infos perso de supprimé.
textbox feront l'affaire
merci encore
Bonjour,
Je me suis rendu jusqu'où je pouvais avec les informations fournies.
Dans le code du formulaire, il reste plusieurs adresses de cellules à définir.
Espérant le tout conforme
Gelinotte
Super par contre je ne peux pas ecrire dans les cases.
je peux juste cocher et utiliser la liste deroulante des clients
Alors je viens de modifier un peu le code.
J'ai mis des textbox pour pouvoir ecrire dedans.
Par contre quand je coche une case par ex nbr radar supp, il me recopie bien la ligne et le nombre indiqué en L15
Par contre quand je le fait par le formulaire, je coche la case nbr radar supp, il me recopie bien la ligne mais sans le nombre indiqué en L15 et qui se trouve à gauche de la case à cocher.
Oups ah non ca l'air de fonctionner. je test et j'edit le post
Alors voici ton fichier que j'ai du modifier pour pouvoir ecrire dedans.
Il fonctionne a merveille seul bemol, je n'arrive pas a mettre M10 en monetaire comme M15 je n'ai pas le meme resultat.
Et quand j'ouvre le formulaire et je doit d'abord ecrire le nombre d'option qu'il me faut, puis generer devis puis cocher les cases des options à mettre dans le devis.
Est-il possible de changer l'ordre.
Ex je tape 2 dans nombre de radar, je coche
je tape 1 dans spot led, je coche puis ensuite je fait generer devis, et ca me recopie tout d'un seul coup.
Peut fermer le formulaire quand on clique sur generer devis.
Merci d'avance pour ces dernieres aides sur ce projet.
Petit soucis j'ai deplacer le formulaire dans mon classeur perso, puis j'ai copier le contenu de module1 dans mon module1
j'ai copier le contenu de la feuil1 devis sur la feuil1 devis de mon classeur perso.
et j'ai l'erreur suivante :
erreur d'execution 9
l'indice n'appartient pas à la selection.
et il me surligne en jaune formulairedevisechaf.Show
une idée stp?
bonjour,
A partir de la ligne surlignée appuyer sur la touche F8, F8,F8, F8,F8, F8,F8, F8,F8, F8... jusqu'à détecter la véritable ligne qui t'éjecte...
A+
C'est tout ca qui bug.
Alors il est vrai que je n'ai pas copier la feuille sources car mes données sont sur une feuille qui s'appel Client et Prospect
Et j'ai une validation des données pour la liste deroulante pour choisir le client ==SI(K8<>"";DECALER(dpt;EQUIV(K8&"*";dpt;0)-1;;SOMMEPROD((STXT(dpt;1;NBCAR(K8))=TEXTE(K8;"0"))*1));dpt)
Et le type de protection se trouve aussi par une validation des données =kitbase
Private Sub UserForm_Initialize()
Dim derLigClients, derLigTypeProtection As Integer
With Sheets("Client et Prospect")
derLigClients = .Range("A65535").End(xlUp).Row
derLigTypeProtection = .Range("K65535").End(xlUp).Row
ComboBoxClients.List = .Range("A1:A" & derLigClients).Value
ComboBoxTypeProtection.List = .Range("K1:K" & derLigTypeProtection).Value
End With
Dans le module de la feuil1 devis du classeur que tu as fait j'ai comme code
Option Explicit
Private Sub CheckBox1_Change()
With Me
If CheckBox1 = True Then
.[C25].Value = .[J15].Value
.[B25].Value = .[L15].Value
.[F25].Value = .[M15].Value
.[E25].Value = .[N15].Value
CheckBox1.Caption = "décocher"
Else
.[C25].Value = vbNullString
.[B25].Value = vbNullString
.[F25].Value = vbNullString
.[E25].Value = vbNullString
CheckBox1.Caption = "cocher"
End If
End With
End Sub
Private Sub CheckBox2_Change()
With Me
If CheckBox2 = True Then
.[c26].Value = .[J16].Value
.[B26].Value = .[l16].Value
.[F26].Value = .[M16].Value
.[E26].Value = .[N16].Value
CheckBox2.Caption = "décocher"
Else
.[c26].Value = vbNullString
.[B26].Value = vbNullString
.[F26].Value = vbNullString
.[E26].Value = vbNullString
CheckBox2.Caption = "cocher"
End If
End With
End Sub
Private Sub CheckBox3_Change()
With Me
If CheckBox3 = True Then
.[c27].Value = .[J17].Value
.[B27].Value = .[l17].Value
.[F27].Value = .[M17].Value
.[E27].Value = .[N17].Value
CheckBox3.Caption = "décocher"
Else
.[c27].Value = vbNullString
.[B27].Value = vbNullString
.[F27].Value = vbNullString
.[E27].Value = vbNullString
CheckBox3.Caption = "cocher"
End If
End With
End Sub
Private Sub CheckBox4_Change()
With Me
If CheckBox4 = True Then
.[c28].Value = .[J18].Value
.[B28].Value = .[l18].Value
.[F28].Value = .[M18].Value
.[E28].Value = .[N18].Value
CheckBox4.Caption = "décocher"
Else
.[c28].Value = vbNullString
.[B28].Value = vbNullString
.[F28].Value = vbNullString
.[E28].Value = vbNullString
CheckBox4.Caption = "cocher"
End If
End With
End Sub
Private Sub CheckBox5_Change()
With Me
If CheckBox5 = True Then
.[C29].Value = .[J19].Value
.[B29].Value = .[l19].Value
.[F29].Value = .[M19].Value
.[E29].Value = .[N19].Value
CheckBox5.Caption = "décocher"
Else
.[C29].Value = vbNullString
.[B29].Value = vbNullString
.[F29].Value = vbNullString
.[E29].Value = vbNullString
CheckBox5.Caption = "cocher"
End If
End With
End Sub
Private Sub CheckBox6_Change()
With Me
If CheckBox6 = True Then
.[C30].Value = .[J21].Value
.[B30].Value = .[L21].Value
.[F30].Value = .[M21].Value
.[E30].Value = .[n21].Value
CheckBox6.Caption = "décocher"
Else
.[C30].Value = vbNullString
.[B30].Value = vbNullString
.[F30].Value = vbNullString
.[E30].Value = vbNullString
CheckBox6.Caption = "cocher"
End If
End With
End Sub
Private Sub CheckBox6_Click()
End Sub
Dans mon classeur perso j'ai dans le module de la feuil1 devis le code ci-dessous
Option Explicit
Private Sub CheckBox1_Click()
With Me
If CheckBox1 = True Then
.[C25].Value = .[J15].Value
.[B25].Value = .[L15].Value
.[F25].Value = .[M15].Value
.[E25].Value = .[N15].Value
CheckBox1.Caption = "décocher"
Else
.[C25].Value = vbNullString
.[B25].Value = vbNullString
.[F25].Value = vbNullString
.[E25].Value = vbNullString
CheckBox1.Caption = "cocher"
End If
End With
End Sub
Private Sub CheckBox2_Click()
With Me
If CheckBox2 = True Then
.[C26].Value = .[J16].Value
.[B26].Value = .[L16].Value
.[F26].Value = .[M16].Value
.[E26].Value = .[N16].Value
CheckBox2.Caption = "décocher"
Else
.[C26].Value = vbNullString
.[B26].Value = vbNullString
.[F26].Value = vbNullString
.[E26].Value = vbNullString
CheckBox2.Caption = "cocher"
End If
End With
End Sub
Private Sub CheckBox3_Click()
With Me
If CheckBox3 = True Then
.[C27].Value = .[J17].Value
.[B27].Value = .[L17].Value
.[F27].Value = .[M17].Value
.[E27].Value = .[N17].Value
CheckBox3.Caption = "décocher"
Else
.[C27].Value = vbNullString
.[B27].Value = vbNullString
.[F27].Value = vbNullString
.[E27].Value = vbNullString
CheckBox3.Caption = "cocher"
End If
End With
End Sub
Private Sub CheckBox4_Click()
With Me
If CheckBox4 = True Then
.[C28].Value = .[J18].Value
.[B28].Value = .[L18].Value
.[F28].Value = .[M18].Value
.[E28].Value = .[N18].Value
CheckBox4.Caption = "décocher"
Else
.[C28].Value = vbNullString
.[B28].Value = vbNullString
.[F28].Value = vbNullString
.[E28].Value = vbNullString
CheckBox4.Caption = "cocher"
End If
End With
End Sub
Private Sub CheckBox5_Click()
With Me
If CheckBox5 = True Then
.[C29].Value = .[J19].Value
.[B29].Value = .[L19].Value
.[F29].Value = .[M19].Value
.[E29].Value = .[N19].Value
CheckBox5.Caption = "décocher"
Else
.[C29].Value = vbNullString
.[B29].Value = vbNullString
.[F29].Value = vbNullString
.[E29].Value = vbNullString
CheckBox5.Caption = "cocher"
End If
End With
End Sub
Private Sub CheckBox6_Click()
With Me
If CheckBox6 = True Then
.[C30].Value = .[J21].Value
.[B30].Value = .[L21].Value
.[F30].Value = .[m21].Value
.[E30].Value = .[n21].Value
CheckBox6.Caption = "décocher"
Else
.[C30].Value = vbNullString
.[B30].Value = vbNullString
.[F30].Value = vbNullString
.[E30].Value = vbNullString
CheckBox6.Caption = "cocher"
End If
End With
End Sub
c'est grave docteur
Bonjour,
Bon. Avec 212 sous ton profil t'es plus un bleu hein... Tu dois savoir comment on fait pour appuyer sur le bouton joindre un fichier. Non ?
Allez bon dimanche !
A+
Coucou,
Alors voici mon classeur perso que j'ai extrait dans un classeur pour le post.
Donc en K8 j'ai une validation des données avec la formule suivante
=SI(K8<>"";DECALER(dpt;EQUIV(K8&"*";dpt;0)-1;;SOMMEPROD((STXT(dpt;1;NBCAR(K8))=TEXTE(K8;"0"))*1));dpt)
qui fait reference à la feuille Client et Prospect et qui me permet d'ecrire seulement quelque lettre du client et ainsi avoir le nom des clients contenant les lettres ecrites lorsque je fait defiler la liste deroulante.
Ensuite en J14 j'ai une validation des données qui se nomme =kitbase et qui fait reference à la feuil3
Ensuite M10 ne veut pas s'affiche 10,00€ il me met tt simplement 10.
Je souhaite que par defaut il y ai 0 dans L16 L17 L18 L19
merci infiniment de ton aide.
Bonjour,
C'est pas évident de décoder quelle est la question dans ton dernier message :
Jusque là je ne vois pas de question : Je prend ça pour un commentaire ?Alors voici mon classeur perso que j'ai extrait dans un classeur pour le post.
Donc en K8 j'ai une validation des données avec la formule suivante
=SI(K8<>"";DECALER(dpt;EQUIV(K8&"*";dpt;0)-1;;SOMMEPROD((STXT(dpt;1;NBCAR(K8))=TEXTE(K8;"0"))*1));dpt)
qui fait reference à la feuille Client et Prospect et qui me permet d'ecrire seulement quelque lettre du client et ainsi avoir le nom des clients contenant les lettres écrites lorsque je fait defiler la liste deroulante.
Ensuite en J14 j'ai une validation des données qui se nomme =kitbase et qui fait reference à la feuil3
Là, ça peut passer pour une question :
Ensuite M10 ne veut pas s'affiche 10,00€ il me met tt simplement 10.
=>Normal dans le CmdButtonGenererDevis_Click() de ton formulaire il y a écrit (entre autre) :
.[M10] = Me.TextBox3
Les TextBox renvoient du texte donc s'il y a écrit 10 dans ton TextBox3, tu as un string "10" en M10.
Si tu veux écrire un nombre qui sera ensuite formaté comme il faut par ta feuille de calcul, il faut écrire :
.[M10] = Val(TextBox3)
Il en va de même pour L16 L17 L18 L19 : Si les TextBox sont vides ils vont renvoyer du vide.
il faut donc convertir ce vide en valeur...
Par suite :
.[L16] = Val(TextBox12)
.[L17] = Val(TextBox14)
.[L18] = Val(TextBox9)
.[L19] = Val(TextBox10
devraient convenir.
Vala...
A+
Oupssssss jai oublier du coup de poser mes questions lol
En faite dans la liste deroulante du formulaire qui correspond a la liste des clients je souhaite appliquer la formule suivante : =SI(K8<>"";DECALER(dpt;EQUIV(K8&"*";dpt;0)-1;;SOMMEPROD((STXT(dpt;1;NBCAR(K8))=TEXTE(K8;"0"))*1));dpt)
Formule qui me sert a afficher uniquement les clients dont j'ai tapé les 1eres lettres
Ensuite je souhaite que dans la 2e liste deroulante appliquer la validation des données =kitbase
Merci de ton aide
bonsoir,
ça ne se passe pas comme ça ! Un formulaire n'est pas une feuille de calcul.
YAPA de formule de validation de données pour les Combos de Formulaire.
Pour autant je comprend ce que tu veux (Des listes intuitives avec des combos qui se réduisent au fur et à mesure en fonction des premières saisies...)
J'ai donc fait à ma façon... Pour cela j'ai du créer dans le Gestionnaire de Nom un Range nommé [ListClient] (parce que les noms existant ne convenaient pas)
Voir Fichier joint.
Ca m'a l'air super merci infiniment.
Le seul soucis, c'est que quand je rajoute un client dans Client et Prospect, il ne figure pas dans la liste deroulante du formulaire.
une idée?
Bonjour,
Dans le gestionnaire des Noms ... ListClient ... La formule est :
=DECALER('Client et Prospect'!$A$1;1;;NBVAL('Client et Prospect'!$A:$A)-1)
elle devrait être :
=DECALER('Client et Prospect'!$A$1;1;;NBVAL('Client et Prospect'!$A:$A))
Le -1 enlève a dernière entrée.
Gelinotte
Pfffff tu es tres fort, merciiiiii bcp mais alors vraiment merci ..
Je vais m'amuser un peu avec, car j'aurais encore quelques questions si je n'arrive pas a faire les quelques petites modif.
merci encore.
Ah oui un truc que j'avais remarquer, mais c'etait pas la priorité.
Quand je met par exemple 2 dans nbr de radar supp, si je coche la case, ca m'inscris bien la ligne, mais pas le nombre.
Pour cela, il faut que j'inscrire le nbr, puis ensuite je fait generer devis, et ensuite je coche la case.
serais t-il possible que des que j'inscris un chiffre, ca me coche automatiquement la case?
gelinotte a écrit :Bonjour,
Dans le gestionnaire des Noms ... ListClient ... La formule est :
=DECALER('Client et Prospect'!$A$1;1;;NBVAL('Client et Prospect'!$A:$A)-1)
elle devrait être :
=DECALER('Client et Prospect'!$A$1;1;;NBVAL('Client et Prospect'!$A:$A))
Le -1 enlève a dernière entrée.
Gelinotte
NON ! Elle enlève théoriquement la première entrée (le titre de la colonne). Le véritable problème c'est la ligne 2 à demi-masquée et qui ne comporte rien dans la colonne A. Mais comme ce fichier démo est un petit peu "pourri", j'ai pas trop insisté...
Au vrai, si on laisse subsister cette ligne qui ne sert à rien, il faudrait plutôt écrire :
=DECALER('Client et Prospect'!$A$1;2;;NBVAL('Client et Prospect'!$A:$A)-1)
C'est le 2 qui se chargerait d'éviter cette ligne indésirable.
Mais comme je ne sais pas jusqu'à quel point je peux faire confiance à cette démo, je ne peux pas trop être catégorique.
A+