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 :

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

Jusque là je ne vois pas de question : Je prend ça pour un commentaire ?

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.

22pouns-vg.xlsm (80.93 Ko)

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+

Rechercher des sujets similaires à "formulaire qui rempli specifique"