Userform alimentant trois feuilles
bonjour le forum, et bon week end
j'ai un userform (Ajout_enregistrement) contenant plusieurs textBox, une comboBox et trois OptionBouton, j'ai deja reussi l'alimentation de la Bd (la premiere feuille) avec le bouton ajouter.
je souhaiterais recuperer certaines infos du userform afin d'alimenter les deux autres feuilles.
je me demande bien si je devrais ajouter du code dans le bouton ajouter ou dans la procédure Private Sub Worksheet_SelectionChange de chacune des deux feuilles.
ci dessous le code pour l'une des feuilles, mais ça ne marche pas. je fais en sorte que les infos s'actualise dans la feuille a chaque validation du bouton ajouter (CommandButton1)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim ctrl As Control
Do While Ajout_enregistrement.CommandButton1.Enabled
Range("J10").Value = Ajout_enregistrement.NumeroDemande.Value
For Each ctrl In Frame8.Controls
If ctrl.Object.Value = True Then
Range("C15").Value = ctrl.Object.Caption
Exit For
End If
Next ctrl
Range("D15").Value = Ajout_enregistrement.Nom_proprietaire.Value
Range("I15").Value = Ajout_enregistrement.Nationnalite.Value
Range("C16").Value = Ajout_enregistrement.Adresse.Value
Range("I16").Value = Range("U65536").End(xlUp).Value
For Each ctrl In Frame7.Controls
If ctrl.Object.Value = True Then
Range("D17").Value = ctrl.Object.Caption
Exit For
End If
Next ctrl
For Each ctrl In Frame6.Controls
If ctrl.Object.Value = True Then
Range("G17").Value = ctrl.Object.Caption
Exit For
End If
Next ctrl
Range("I17").Value = Ajout_enregistrement.ComboBox1.Value
Range("D18").Value = Ajout_enregistrement.genre.Value
Range("F18").Value = Ajout_enregistrement.vehicule.Value
Range("I18").Value = Ajout_enregistrement.Immatriculation.Value
Range("E19").Value = Ajout_enregistrement.TextBox7.Value
Range("G19").Value = Range("V65536").End(xlUp).Value
Loop
End Sub
merci de votre aide
Bonjour,
Dans la mesure où la source de tes données se trouve dans ton UserForm ... le plus simple est d'avoir trois sections dans ton CommandButton Ajouter ... et que chaque section stocke les données dans chacune des tes trois feuilles ...
merci James007,
je comprends pas la notion de section dans le commandBouton, eclaire moi encore stp
De rien ...
Ne te formalises pas sur le mot 'section' ...
Code, instructions, paragraphe, etc ... feront aussi bien l'affaire ...
Le principe est que le même bouton ... fait tout le boulot ...
alors c'est a ce niveau que je beugue parce que j'arrive pas a trouver le bon code, deja que le bouton a deja pleins de lignes de codes, ci dessous le code actuelle du bouton pour ajouter dans la feuille bd
Private Sub CommandButton1_Click()
Dim i As Integer
Dim ctrl As Control
i = 2
Do While Cells(i, 1) <> ""
Cells(i, 1).Offset(1, 0).Select
i = i + 1
Loop
ActiveCell.Value = Ajout_enregistrement.NumeroDemande.Value
ActiveCell.Offset(0, 1).Value = Ajout_enregistrement.TextBox7.Value
ActiveCell.Offset(0, 2).Value = Ajout_enregistrement.Nom_proprietaire.Value
For Each ctrl In Frame8.Controls
If ctrl.Object.Value = True Then
ActiveCell.Offset(0, 3).Value = ctrl.Object.Caption
Exit For
End If
Next ctrl
ActiveCell.Offset(0, 4).Value = Ajout_enregistrement.Naissance.Value
ActiveCell.Offset(0, 5).Value = Ajout_enregistrement.Lieu.Value
ActiveCell.Offset(0, 6).Value = Ajout_enregistrement.Nationnalite.Value
ActiveCell.Offset(0, 7).Value = Ajout_enregistrement.Adresse.Value
ActiveCell.Offset(0, 8).Value = Ajout_enregistrement.TextBox2.Value
ActiveCell.Offset(0, 9).Value = Ajout_enregistrement.Nom.Value
ActiveCell.Offset(0, 10).Value = Ajout_enregistrement.Immatriculation.Value
ActiveCell.Offset(0, 11).Value = Ajout_enregistrement.chassis.Value
ActiveCell.Offset(0, 12).Value = Ajout_enregistrement.vehicule.Value
ActiveCell.Offset(0, 13).Value = Ajout_enregistrement.genre.Value
ActiveCell.Offset(0, 14).Value = Ajout_enregistrement.places.Value
ActiveCell.Offset(0, 15).Value = Ajout_enregistrement.ptac.Value
For Each ctrl In Frame7.Controls
If ctrl.Object.Value = True Then
ActiveCell.Offset(0, 16).Value = ctrl.Object.Caption
Exit For
End If
Next ctrl
For Each ctrl In Frame6.Controls
If ctrl.Object.Value = True Then
ActiveCell.Offset(0, 17).Value = ctrl.Object.Caption
Exit For
End If
Next ctrl
ActiveCell.Offset(0, 18).Value = Ajout_enregistrement.ComboBox1.Value
If OptionButton11.Value = True And OptionButton9.Value = True And ComboBox1.Value = "TAXI" Then
ActiveCell.Offset(0, 19).Value = "TPTU"
ElseIf OptionButton11.Value = True And OptionButton9.Value = True And ComboBox1.Value = "MINIBUS" Then
ActiveCell.Offset(0, 19).Value = "TPMU"
ElseIf OptionButton11.Value = True And OptionButton9.Value = True And ComboBox1.Value = "BUS" Then
ActiveCell.Offset(0, 19).Value = "TPBU"
ElseIf OptionButton11.Value = True And OptionButton9.Value = True And ComboBox1.Value = "AUTOCAR" Then
ActiveCell.Offset(0, 19).Value = "TPAU"
ElseIf OptionButton11.Value = True And OptionButton9.Value = False And ComboBox1.Value = "TAXI" Then
ActiveCell.Offset(0, 19).Value = "TPTI"
ElseIf OptionButton11.Value = True And OptionButton9.Value = False And ComboBox1.Value = "MINIBUS" Then
ActiveCell.Offset(0, 19).Value = "TPMI"
ElseIf OptionButton11.Value = True And OptionButton9.Value = False And ComboBox1.Value = "BUS" Then
ActiveCell.Offset(0, 19).Value = "TPBI"
ElseIf OptionButton11.Value = True And OptionButton9.Value = False And ComboBox1.Value = "AUTOCAR" Then
ActiveCell.Offset(0, 19).Value = "TPAI"
ElseIf OptionButton11.Value = False And OptionButton9.Value = True And ComboBox1.Value = "MOTO" Then
ActiveCell.Offset(0, 19).Value = "TMOU"
ElseIf OptionButton11.Value = False And OptionButton9.Value = True And ComboBox1.Value = "TRICYCLES" Then
ActiveCell.Offset(0, 19).Value = "TMYU"
ElseIf OptionButton11.Value = False And OptionButton9.Value = True And ComboBox1.Value = "TAXI" Then
ActiveCell.Offset(0, 19).Value = "TMTU"
ElseIf OptionButton11.Value = False And OptionButton9.Value = True And ComboBox1.Value = "MINIBUS" Then
ActiveCell.Offset(0, 19).Value = "TMMU"
ElseIf OptionButton11.Value = False And OptionButton9.Value = True And ComboBox1.Value = "UTILITAIRES" Then
ActiveCell.Offset(0, 19).Value = "TMUU"
ElseIf OptionButton11.Value = False And OptionButton9.Value = True And ComboBox1.Value = "CAMIONNETTES" Then
ActiveCell.Offset(0, 19).Value = "TMNU"
ElseIf OptionButton11.Value = False And OptionButton9.Value = True And ComboBox1.Value = "CAMIONS" Then
ActiveCell.Offset(0, 19).Value = "TMCU"
ElseIf OptionButton11.Value = False And OptionButton9.Value = True And ComboBox1.Value = "TRACTEURS ROUTIERS" Then
ActiveCell.Offset(0, 19).Value = "TMRU"
ElseIf OptionButton11.Value = False And OptionButton9.Value = True And ComboBox1.Value = "SEMI REMORQUES" Then
ActiveCell.Offset(0, 19).Value = "TMSU"
ElseIf OptionButton11.Value = False And OptionButton9.Value = False And ComboBox1.Value = "TAXI" Then
ActiveCell.Offset(0, 19).Value = "TMTI"
ElseIf OptionButton11.Value = False And OptionButton9.Value = False And ComboBox1.Value = "MINIBUS" Then
ActiveCell.Offset(0, 19).Value = "TMMI"
ElseIf OptionButton11.Value = False And OptionButton9.Value = False And ComboBox1.Value = "UTILITAIRES" Then
ActiveCell.Offset(0, 19).Value = "TMUI"
ElseIf OptionButton11.Value = False And OptionButton9.Value = False And ComboBox1.Value = "CAMIONNETTES" Then
ActiveCell.Offset(0, 19).Value = "TMNI"
ElseIf OptionButton11.Value = False And OptionButton9.Value = False And ComboBox1.Value = "CAMIONS" Then
ActiveCell.Offset(0, 19).Value = "TMCI"
ElseIf OptionButton11.Value = False And OptionButton9.Value = False And ComboBox1.Value = "TRACTEURS ROUTIERS" Then
ActiveCell.Offset(0, 19).Value = "TMRI"
ElseIf OptionButton11.Value = False And OptionButton9.Value = False And ComboBox1.Value = "SEMI REMORQUES" Then
ActiveCell.Offset(0, 19).Value = "TMSI"
Unload Ajout_enregistrement
Ajout_enregistrement.Hide
Sheets("Licence").Visible = xlSheetVisible
Sheets("Licence").Select
End If
End Sub
merci de m'aider a trouver le bon code a ajouter au bouton pour alimenter les deux autres feuilles licence et vignettes (ou on va faire simple, on alimente que la feuille licence et la feuille vignette aura des formules pour copier le contenu des cellules dans la feuille licence??)
je te joint le fichier
Bonjour,
Sur le principe de trois sections ... dans le même CommandButton ...
Private Sub CommandButton1_Click()
' Section 1 - Alimenter Feuill 1
' ton code # 1
' Section 2 - Alimenter Feuill 2
' ton code # 2
' Section 3 - Alimenter Feuill 3
' ton code # 3
End Sub
bonjour et merci,
je le fais et reviens vers toi. comme j'ai dis je le fais juste pour deux feuilles
Bonjour,
De rien ...
Une fois que tu as saisi le principe ... je suis sûr que tu y parviendras sans difficulté ..
super, ça marche !!!! merci beaucoup
par contre dans la feuille base de donnees contient des cellules qui ont des formules dont le remplissage se fait pas avec le formulaire (je sais si je suis assez clair) et je voudrais bien recuperer ces cellules pour les mettre dans la seconde feuille licence que je remplis
ce code ci dessous ne marche pas (je sais si c'est parcequ'il est au mauvais endroit: dans le bouton commande aussi)
Ws.Range("G19").Value = Sheets("Base_de_donnees").Range("V65536").End(xlUp).Value
merci encore James007
James007,
tu peux stp m'aider avec le sujet cité dans le message precedent. j'arrive pas atrouver le bon code
Re,
Malheureusement, je ne comprends pas le problème que tu as ... ni ... le résultat que tu voudrais ...
Peux-tu clarifier ... s'il te plait ...
le premier probleme sur le remplisage des feuilles est reglé,
maintenant je souhaite recuperer les valeurs des cellules de calcul (ne se trouvant pas sur le userform) de la feuille base de données pour la feuille Licence, mais le code ci dessous ne marche pas
Ws.Range("G19").Value = Sheets("Base_de_donnees").Range("V65536").End(xlUp).Value
Bonjour,
Avant toute chose , Félicitations pour avoir réglé le premier problème ...
Concernant le code
Ws.Range("G19").Value = Sheets("Base_de_donnees").Range("V65536").End(xlUp).Value
Je l'ai cherché dans tes macros ... sans le trouver ...donc je ne sais ... toujours pas
quand et comment quelles données doivent aller de oû à oû ...
Bonjour,
James007 a écrit :quand et comment quelles données doivent aller de où à où ...
merveil00 a écrit :maintenant je souhaite récuperer les valeurs des cellules de calcul (ne se trouvant pas sur le userform)
de la feuille base de données pour la feuille Licence, mais le code ci-dessous ne marche pas
ce que j'ai compris : il faut copier sur la feuille "Licence" les données de la feuille "base de données"
si elles ne se trouvent pas sur le formulaire userform ; quand ? maintenant ! pas hier, ni demain !
Cordialement
bonjour et bonne semaine a vous,
merci de votre interet,
effectivement dhany, il s'agit de prendre les valeurs des cellules de la feuille base de donnees vers la feuille licence. a difficulte c'est que la feuille base de donnees est dynamique les lignes s'ajoutent a chaque clik du bouton ajouter du formulaire.
c'est plus clair James007 ??
svp j'epuise mon delai ce soir, merci de m'aider