Formulaire avec liste en cascade

  • Initiateur de la discussion Initiateur de la discussion Babat
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Babat

XLDnaute Occasionnel
Bonjour, je vous contacte car j'aimerais mettre au point un formulaire mais a part remplir avec juste une liste ou changer un peu l'interface je maitrise pas grand chose en code. C'est une adapataion d'un fichier qui ne marche qu'avec des formules plutot pas mal mais pas agréable et rapide a faire (et lourd en plus).

Bref j'ai mis un descriptif (conséquent 😱 désolé) de ce que je voudrais dans l'onglet récap.

PS : j'ai déja chercher pour du code pour les liste en cascade mais la facon dont je range mes base de données sont souvent différentes de ce que j'ai vu c'est pourquoi j'arrive encore moins à adapter et comprendre. D'ailleurs je suis preneur si vous connaissez une facon très efficace pour bien ranger qui s'adapte à quasi toutes les utilisations.

PS2 : je suis sous excel 2013.

Merci.
 

Pièces jointes

Re : Formulaire avec liste en cascade

OK et puis je pense que je vais supprimer les images. C'était pour qu'il y ait une info visuelle mais c'est pas indispensable.
Je sais pas si y'a des liens avec d'autres macro, je dois enlever quoi ? juste ce qui correspond a l'image ?
 
Re : Formulaire avec liste en cascade

Tu supprimes l'image dans le usf
tu supprimes les lignes en gras de la procédure 😛rivate Sub combobox10_Change()

Private Sub ComboBox10_Change()
If ComboBox10 = "" Then Exit Sub
With ComboBox10
'.SelectedItem.ForeColor = &HFF0000
Rng = Val(ComboBox10.Column(1)) '.ListIndex(0, 1)
'Stop
'Rng = Val(.SelectedItem.ListSubItems(1).Text)
'TextNom = .SelectedItem
TextBox7 = Cells(Rng, 3)
TextBox8 = Cells(Rng, 4)
recherche = TextBox7
End With
'Set Plage = Sheets("base de données").Range("A26:A29") 'c2", Cells(Rows.Count, "c").End(xlUp))
Set Plage = Sheets("Image").Range("A2:A129") 'c2", Cells(Rows.Count, "c").End(xlUp))
With Plage
Set c = .Find(recherche)
If Not c Is Nothing Then
imag1 = c.Offset(0, 2)
adresse = c.Address
imag2 = c.Offset(0, 3)
'Stop
'Sheets("base de données").Activate
Set f = Sheets("Image")
' For Each s In f.Shapes

' Me.ComboBox11.AddItem s.Name
' Next

'Stop
'Exit Sub
Set s = f.Shapes(CStr(imag1))
s.CopyPicture
f.ChartObjects.Add(0, 0, s.Width, s.Height).Chart.Paste
f.ChartObjects(1).Chart.Export Filename:="monimage.jpg"
f.Shapes(f.Shapes.Count).Delete
Me.Image2.PictureSizeMode = fmPictureSizeModeZoom
Me.Image2.Picture = LoadPicture("monimage.jpg")

Kill "monimage.jpg"

End If
End With

End Sub
 
Re : Formulaire avec liste en cascade

Bon c'est cool j'ai remis remis au ce qui fallait dans mon fichier d'origine, ca marche nikel dans les bonnes cases.
Parfait (enfin presque !)
J'ai mis les modules et copier l'onglet Menu dans mon fichier d'origne et quand je lance la macro ca m'ouvre automatiquement mon ancien fichier (celui que nous avons bricoler babat4).
Comment faire pour ne rouvrir autamtiquement ce fichier avec ?
 
Re : Formulaire avec liste en cascade

Nan c'est bon j'ai réassocié le bouton à la macro ouverture et c'est bon.

Par contre j'aurai une demande plus pointu :
Comment faire pour rouvourir le userfrom avec les données chargées pour pouvoir les modifiés dedans ?
 
Re : Formulaire avec liste en cascade

Plus précisément, s'agit-il de reprendre les individus qui ont été enregistrés dans la feuille Récap et procéder à des modifications sur les informations qui ont été précédemment saisies?
Si c'est le cas, il vaut mieux proposer dans une listview tous les individus présents dans la feuille Récap : cliquer sur l'individu choisi, afficher les infos enregistrées, modifier ce qui doit l'être et réenregistrer sur la même ligne de la feuille Récap les infos corrigées
 
Dernière édition:
Re : Formulaire avec liste en cascade

Pour être plus précis disons que je fais ma saisie dans le formulaire, je valide et ca s'inscrit dans ma feuille récap. j'en saisie plusieurs comme ca (genre une dizaine) et j'ai besoin modifier des données sur une ligne (je pourrais le faire directement sur la feuille récap bien sur...) mais j'aimerais si je clique sur un numéro associé le userform se rouvre avec les données de la ligne et que je puisse modifier si je le souhaite.
 

Pièces jointes

Re : Formulaire avec liste en cascade

Ok
En regardant ta feuille Récap, je note qu'un même individu peut être présent sur plusieurs lignes
Quand tu parles de numéro associé, s'agit-il du numéro présent dans la colonne A ?
Dans ton mode opératoire, sais-tu a priori, que l'individu sur lequel tu veux intervenir est présent dans la feuille Récap ou est-ce que tu souhaites d'abord vérifier s'il est présent pour choisir entre une création ou une modification ?

Si tu connais parfaitement la situation : un premier bouton (Ajout / Modification) permet d'orienter la procédure (Modification : affichage listview et choix de l'individu par click et affichage des infos , correction et validation pour enregistrer les modifs). S'il s'agit d'une création : pas de changement par rapport à la démarche actuelle)
A te lire
 
Re : Formulaire avec liste en cascade

En effet, on peut avoir un individu qui est présent plusieurs fois ainsi que plusieurs autres données qui peuvent revenir.
Il ne s'agirait pas d'une création mais d'une modification. On attribut un numéro à chaque ligne (celui de la colonne A) ce qui charge les données de la ligne dans le userform. En fait l'idéal serait meme pas que j'ai a choisir depuis une listview (si c'est pas possible on fait comme ca) mais plutot que je clique sur le numéro et le userfom avec les données s'ouvre.
Après si c'est pas possible une listview, un textbox, combobox peu importe.

Merci
 
Re : Formulaire avec liste en cascade

Ok

A part ça, pas exigeant l'ami.
Je peux le faire (normalement !!)
Toutefois, si tu as 1000 lignes dans ta feuille Récap, une listview pourrait limiter la présentation aux lignes concernant l'individu en question
C'est toi qui dis
Sans avis contraire, je pars sur ton idée
Seulement, pas trop de temps cet après midi et demain
A+
 
Re : Formulaire avec liste en cascade

oui je sais je suis désolé c'est quasiment un logiciel que je demande. Juste pour faire court, j'ai environ 65 individu avec un onglet et un calendrier chacun, et chaque ligne que je rentre dans l'onglet récap va ce mettre dans le onglet calendrier de l'individu concerné. Je fais également des stats...

Après si je demande de l'aide c'est que sais pas faire donc je vais pas trop faire le difficile non plus.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

L
  • Question Question
Réponses
8
Affichages
921
L
R
Réponses
10
Affichages
2 K
E
Réponses
0
Affichages
1 K
Edrahkin
E
B
Réponses
13
Affichages
2 K
Bullrot
B
A
Réponses
4
Affichages
1 K
A
S
Réponses
2
Affichages
957
sandchat
S
K
Réponses
38
Affichages
10 K
kinders59
K
S
Réponses
5
Affichages
2 K
Retour