Combobox1

Résolu
Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour,
je suis novice dans le VBA et j'aimerais mettre une combobox dans mon userform .
j'ai 4 colonnes par exemple: "prénom, nom, adresses, code postal"
ma combobox affiche les noms et j'aimerais, quand on clique sur un nom, que la ligne entière soit sélectionnée c'est à dire avec "prénom,nom,adresses, code postal", est-ce possible?
merci de bien vouloir m'aider
cordialement

7 réponses

gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
Bonjour,

Que veux-tu faire de ta ligne sélectionnée ?
0
Utilisateur anonyme
 
bonjour,
la première sélection qu'elle se mette sur une "feuil1" en A2 et les autres en dessous.
J'ai mis nom, prénom etc. pour simplifier, mais en fait j'ai créé un petit compte bancaire avec une userform.
J'ai des débits (crédits voitures ou autres) + des salaires qui tombent tous les 15 ou 30 du mois. Ma combobox c 'est juste pour éviter de réécrire toute ces lignes de façon à sélection juste le crédit ou débit adéquat et la ligne entière s'afficherait. :)
J'avais pensé à mettre une formule comme "date" avec échéance mais je n'y arrive pas. :(
voilà si tu peux m'aider c'est vraiment sympa .
merci d'avoir répondu
Geoffroy
0
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
Bonjour,

Si tu pouvais nous mettre un exemple de structure des données, sans éléments personnels avec ce que tu as déjà fait, se serait plus facile de t'aider.
Pour communiquer ton classeur tu le télécharges sur https://www.cjoint.com/ et tu mets ici le lien obtenu.
0
Utilisateur anonyme
 
bonjour,
voici le lien :
https://www.cjoint.com/c/ECElXwpw95K
j'espère que tu pourras lire ce lien?
;)
a+
0
Utilisateur anonyme
 
re
naturellement j'ai mis quelques données bidons pour mieux comprendre le fonctionnement enfin j'espère? :)
0
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
Bonjour,

C'est vrai que cela m'est arrivé aussi et ce n'est pas facile de démarrer.

Je te suggère :
- de te mettre un sélecteur de feuille de mise à jour
- de te faire la validation de saisie
- de simplifier la gestion de tes options
- d'insérer les lignes en suivant plutôt que toujours en ligne 2
- de te mettre des listes évolutives pour les Magasin / Ordre Désignation / Observations, adaptées à chaque feuille
- supprimer la ligne choisie

Si tu es d'accord, je te propose cela demain.
0
Utilisateur anonyme
 
Bonsoir,
Wouaoooo réponse rapide trop bien !
oui je suis d'accord pour tout , par contre si cela ne te dérange pas peux-tu expliquer chaque ligne afin de me perfectionner un peu plus? :)
merci
trop sympa
bonne soirée
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
Bonjour,

- j'ai utilisé ton combobox comme sélecteur de feuille de mise à jour avec la coloration de l'onglet concerné.
- j'ai mis des listes évolutives pour les Magasin / Ordre Désignation / Observations, adaptées à chaque feuille et comme sur une textbox, il suffit d'en saisir un nouveau pour qu'il soit pris en compte.
- le bouton "validation" insère une ligne en suivant
- je t'ai mis une toupie qui permet d'afficher les lignes en remontant et j'ai rajouté un bouton qui permet de modifier la ligne affichée ou de la supprimer avec ton bouton de suppression.
Si tu choisis une ligne tu peux saisir le mois affiché sélectionné et si tu fais "valider" tu insères une nouvelle ligne : ce que tu projetais avec ton combo.

https://www.cjoint.com/c/ECFkhcgNJKK

J'ai commenté le code si tu ne comprends pas n'hésite pas.
0
Utilisateur anonyme
 
Bonjour,
Super, Vite et bien fait BRAVO!

pour les "Prêts&Paie": en fait dans "type" il n'y a que les 2 feuilles "dépenses et recettes"
Prêts&Paie: chaque ligne revient en fin de mois et chaque ligne sélectionnées doit s'ajouter soit dans dépenses soit dans recettes ( si c'est un prêt ou une paie) ...
Au départ cette feuille "Prêts&Paie" n'existait pas et c'est en voulant incorporer une combobox que je l'ai ajouté .
je ne sais pas trop si je m'exprime bien? :(
Merci c'est vraiment super ce que tu fais
je vais étudier chaque ligne :)
A+
Geoffroy
0
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
Bonjour,

Il te suffit de rajouter 2 boutons "crédits" "débits dans ton "frame1" et tu pourras saisir de même sur cette feuille en récupérant le mois précédent et en modifiant le mois et éventuellement le montant.

je vais étudier chaque ligne : j'y compte bien ! et si tu ne comprends pas même si j'ai essayé d'être simple, tu reviens demander.
0
Utilisateur anonyme > gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention  
 
Bonjour,
merci pour tout, j'adore ce que tu m'as fait surtout pour la "modification" c'est trop bien. Oui j'étudie chaque ligne même si parfois j'ai du mal à capter :( ...
mais je ne vais pas te déranger à chaque fois c'est déjà beaucoup ce que tu m'as fait :).
Par contre pour la suppression de ligne si je veux revenir en arrière (si parfois je supprime une ligne qu'il ne fallait pas) , Comme quand on est dans une feuille Excel et qu'on fait "CTRL+Z" ce n'est pas possible en VBA (j'ai vu sur le net qui il y avait "Application.undo " mais pas trop compris ?
Pour les échéances je ne penses pas que j'ai été bien clair dans mes explications? est-ce qu'on peut mettre une formule ou un code vba afin d'obtenir ceci:
Chaque 15 du mois les prêts véhicules, les assurances, les loyer, ou autres, s'ajoutent AUTOMATIQUEMENT (quand arrive la date) dans la feuille "débit" et de même pour les "payes" ou autres rentrée d'argent mais qui s'ajouteraient dans la feuille "Recette" sans qu'on soit obligé de saisir chaque ligne , ou alors saisir qu'un seul mot et toute la ligne apparait?
encore merci car c'est vraiment bien


A+
0
Utilisateur anonyme > gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention  
 
bonsoir,
désolé mais je n'ai pas tout compris ta phrase:
Il te suffit de rajouter 2 boutons crédits débits dans ton frame1 et tu pourras saisir de même sur cette feuille en récupérant le mois précédent et en modifiant le mois et éventuellement le montant
.
je pense que les boutons ce sont les même dans Option (CB,Retrait,Chèque,etc)? mais là
'cette feuille en récupérant le mois précédent'
, je ne vois pas?
je pense que c'est cette ligne
"For Each ctl In Frame1.Controls         If ctl.Object.Value = True Then                  .Cells(lig, "F").Value = ctl.Object.Caption"
qui s'occupe des options?
Oups je viens de comprendre enfin je crois...une fois saisie le mois on peut ensuite sélectionner la ligne mais le problème c'est qu'on aura qu'un seul compte à l'infini. Alors que j'aurais voulu faire mon compte mois par mois donc comment si prendre pour ces "échéances" ?
une feuille avec ces données style 'Dico' qu'on a juste à sélectionner la ligne , c'est possible?
merci
0
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
Bonjour,

Je dois t'avouer que je n'avais pas compris ce que tu voulais avec ta troisième feuille qui en fait est un échéancier. J'ai rajouté une colonne pour la feuille "type" concernée et une autre pour la périodicité.
D'autre part je t'ai mis une procédure qui se lance à l'ouverture et qui recopie les lignes à échéance en faisant évoluer la date prochaine : cela devrait plus correspondre à ce que tu voulais et non compris !

https://www.cjoint.com/c/EDbjpEVU7XV
0
Utilisateur anonyme
 
Bonjour,
Chapeau bas Monsieur :)
merci, je ne comprends pas tout la procédure de "échéances()" pffff mais ça fonctionne super bien....:)
et excuses-moi car je me suis vraiment mal expliqué
Grandiose, excellent, en fait je ne sais pas quoi dire c'est de l'ART ce que tu m'as fait !
Merci encore
Par contre pour le fameux "CTRL+Z" d'Excel est-ce que c'est possible en VBA?
:)
0
Utilisateur anonyme
 
re,
j'ai quand une question (en fait j'en ai des tonnes à te poser ;) )
1- où se trouve le code de la procédure "échéances" pour insérer la ligne dans la bonne feuille "dépenses" ou "recettes"?
merci
0
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
re,
la procédure "échéances" se trouve dans le module avec ton lancement de formulaire.

j'ai vu sur le net qui il y avait "Application.undo " mais pas trop compris ?
C'est bien cela mais il y a pas mal de restrictions car cela ne fonctionne que sur des accès feuilles et dans certaines conditions. Le ctrl+z a aussi des limites, par exemple si tu modifies des objets. "Application.undo " te permet de supprimer une action de l'utilisateur sur la feuille mais si l'action a été effectuée en vba, c'est à gérer dans ton code.
0
Utilisateur anonyme > gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention  
 
re,
oui je l'ai vu la procédure mais pas trouvé comment elle peut savoir si c'est "recette" ou "dépenses" quelle doit insérer la ligne c'est ça qui m'intrigue :)
je suis encore en admiration pour ce que t'as fait BRAVO!
En plus ma femme n'arrêtait pas de me dire que c'était surement possible de le faire en automatique les échéances (mdr).
J'ai galéré pendant des jours et des nuits (sérieux j'ai mes yeux on dirait E.T.) et toi tu me ponds un truc de 10 lignes qui t'as pris surement quelques minutes et ça fonctionne à merveille :)
pour CTRL+Z vais laisser tomber pour le moment. j'ai une autre macro que j'avais fait avec Excel4 et j'ai pu la refaire en VBA mais en toute modestie.
alors si tu as encore du temps à me consacré je t'envoie mon fichier, sinon c'est pas grave et merci encore .
0
Utilisateur anonyme > gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention  
 
Bonjour,
j'ai un petit problème avec les échéances.
J'ai mis tous les échéances mais quand j'ouvre le compte, une seule ligne s'affiche dans recette ou dépense, même si j'ai plusieurs échéances à la même date il prend la dernière de la liste ou la date la plus récente.
Tu peux m'expliquer ou me dire ce que je dois modifier?
merci
0
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
Bonjour,

mal pris mon message sur la pagaille? : j'aurais dû mettre l'émoticône car j'ai bien aimé, d'où le gras !

ça fonctionne très bien quand on suit la procédure
Je ne vois toujours pas où est le souci : cela me turlupine ;-)

j'ai toujours les images superposées
Essaies de changer la fameuse proportion, par exemple
.Columns(nbn).ColumnWidth = ndl / 5     ' largeur colonne
:à toi de jouer pour que cela s'adapte à ta résolution.
@+
Toujours zen
La perfection est atteinte, non pas lorsqu'il n'y a plus rien à ajouter, mais lorsqu'il n'y a plus rien à retirer. Antoine de Saint-Exupéry
0
Utilisateur anonyme
 
re
(ha je préfère ouf) :)
je viens de trouver autre chose :)
dans onglet phrase si j'agrandi la ligne 1
et je lance soit "phrase" ou expression"
apparait la base dans la première ligne
je ne l'avais pas vu avant car la ligne était trop petite
mais ce n'est pas vraiment la base on dirait une image de la base
merci mais j'ai déjà essayé et rien ni fait ça ne bougeait pas
:(
mais j'ai refait un test avec 5 et ça fonctionne
merci
elle va être super PRO ta macro à force de retoucher à cause de mes pinailleries

( bizarre le mot 'pinailleries ' ici il est marqué faux et pourtant sur Wiltionnaire il existe) Oui je triche un peu en cherchant sur le net avant de mettre un mot car sinon tu vas être obligé d'embaucher un interprète pour mes messages;)

@+
0
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
Re
Quand tu lances userform1 tu actives la base et tu la tries et je t'avais mis un commentaire de signalement
Sheets("base").Activate    ' : ne pas activer la feuille car lance le formulaire
: je ne vois pas l'intérêt de ce code ?
@+
0
Utilisateur anonyme
 
oui j'avais vu et j'ai rectifié
t'inquiète j'ai toujours ma loupe pour voir tes codes.
merci
mais c'est peut-être mon pc qui bug
je vais relancer pour voir

mais non c'est toujours pareille
essaye en élargissant la hauteur de la ligne 1 dans phrases et lance une des commande rouge ou jaune
juste pour voir si ça ne vient pas de mon pc?
merci

je ne vois pas l'intérêt de ce code ?
moi non plus maintenant que je commence à comprendre :)
bonne appétit
@+
0
Utilisateur anonyme
 
re
j'ai trouvé cette ligne:
 .SetRange Range("A1:B" & lig)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply

j'ai enlevé ceci : .Apply
et ça ne le fait plus
je ne sais pas si c'est bon ce que je fais ? :)
@+
0
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
Re

Je le voyais comme ceci :

https://www.cjoint.com/c/EEjs5cGl027

en restant sur la feuille mais c'est toi qui vois ce que tu veux faire : je ne fait qu'essayer de comprendre sans me préoccuper de l'utilisation finale qui peut demander de faire autrement.
Bonne soirée et @+
0