VBA et EXCEL besoin d'aide

thierrymalagnou Messages postés 49 Date d'inscription   Statut Membre Dernière intervention   -  
ShaBoo Messages postés 392 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je suis étudiant en suisse et je dois créer un programme vba sur excel.

Mon problème est le suivant: je dois avoir une base de donnée sur excel avec nom prénom domicile etc de clients. il faut pour chaque client une bouton qui ouvre la fiche client dans une fenetre (formulaire VBA) et qu'apparaissent les données sur Excel du client soit son nom prénom etc ... plus une série de 3 boutons afin de savir si "oui" "peut-etre" ou "non" on va garder ce client. selon la réponse cochée dans VBA le client va soit disparaitre pour le nom soit devenir vert pour le oui soit orange si c'est peut etre cette fois ci sur excel.

je vous remercie de votre future aide dont je vous serait éternellement reconnaisant

thierry
A voir également:

6 réponses

Papou93 Messages postés 146 Date d'inscription   Statut Membre Dernière intervention   59
 
Bonjour thierrymalagnou,

Voici un exemple de code à adapter à ton cas :

Dans le "UserForm1"

Private Sub CommandButton1_Click() ' Bouton "Oui"
ActiveCell.Range("A1:B1").Interior.ColorIndex = 4

End Sub

Private Sub CommandButton2_Click() ' Bouton "Non"
ActiveCell.EntireRow.Hidden = True
ActiveCell.EntireRow.Delete

End Sub

Private Sub CommandButton3_Click() ' Bouton "Peut-être"
ActiveCell.Range("A1:B1").Interior.ColorIndex = 45

End Sub

Private Sub UserForm_Activate()
TextBox1.Text = ActiveCell.Value
TextBox2.Text = ActiveCell.Offset(0, 1).Value

End Sub


Dans cet exemple, les données clients sont dans les colonnes "K" et "L" (j'ai limité le nombre de colonnes pour le test). Le "Userform1" comprend donc 2 zones de texte : "'TextBox1" et "TextBox2". Dans le Click du bouton 2, tu as le choix entre masquer le client (1ère ligne) ou le supprimer (2ème ligne).

Ensuite, dans chaque bouton de la feuille Clients, tu entres le code suivant :

Private Sub CommandButton1_Click()
Cells(1, 11).Select ' Sélectionne la cellule du nom du client
UserForm1.Show

End Sub


Je pense toutefois qu'il y a plus simple : un seul bouton sur la feuille client pour lancer le 'UserForm1', après avoir, bien sûr, sélectionné un nom.

Espérant t'avoir aiguillé convenablement.

Cordialement.
0
ShaBoo Messages postés 392 Date d'inscription   Statut Membre Dernière intervention   50
 
Bonjour,

Pourquoi ne pas faire 2 UserForm :

- une qui afficherait la liste des tes clients dans une ListeBox alimenté par ta feuille excel
- la deuxième qui afficherait le détail d'un des clients, sélectionné dans la ListeBox de la première UserForm, et comportant une CheckBox avec la propriété "TripleState" à True et un bouton validé.

De cette façon tu n'auras pas à gérer X boutons pour X clients !!!

@+
0
thierrymalagnou Messages postés 49 Date d'inscription   Statut Membre Dernière intervention  
 
merci pour la réponse

c'est vrai qu'un seul bouton serait mieux mais il faudrait alors séléctioner le client et appuyer sur un bouton central qui ouvrirait la fiche du client désiré?

je suis désolé mais j'ai un probleme avec les couleurs, rien n'apparait.
0
ShaBoo Messages postés 392 Date d'inscription   Statut Membre Dernière intervention   50
 
"c'est vrai qu'un seul bouton serait mieux mais il faudrait alors séléctioner le client et appuyer sur un bouton central qui ouvrirait la fiche du client désiré? "

C'est tt à fait cela ...
0
thierrymalagnou Messages postés 49 Date d'inscription   Statut Membre Dernière intervention  
 
et par tout hasard tu ne sais pas comment faire?
0
ShaBoo Messages postés 392 Date d'inscription   Statut Membre Dernière intervention   50
 
Bonjour,

Regarde ceci :

http://www.cijoint.fr/cij14005344628248.xls

Enregistre le fichier et ouvre-le.

Menu "Outils"=> "Macro"=>"Macros" : sélectionner "ShowListClient" => "Exécuter".

Bien sur, ce n'est qu'une coquille. Il te faudra faire le remplissage de la ListBox avec les éléments contenus sur ta feuille excel dans la première UserForm, et effectuer le traitement adéquat du client séléctionné et affiché dans la 2ème UserForm en fonction du choix de la CheckBox (trois états) lorsque tu appuieras sur le bouton "Valider".


Si tu as besoin de précision ...

@+
0

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

Posez votre question
thierrymalagnou Messages postés 49 Date d'inscription   Statut Membre Dernière intervention  
 
tout d'abord merci

le seul probleme est que je n'arrrive pas a remplire le premier formulaire du nom des clients.
comment faut il faire pour faire apparaitre les noms dans ce formulaire ?

j'ai une autre question. si je rajoute dans le formulaire (détail client) un multipage avec deux onglets ou je peux saisir du texte dedans. Comment dois je faire pour que le texte inséré soit sauvegardé car a chaque fois que je réouvre tout disparait

merci d'avance

thierry
0
ShaBoo Messages postés 392 Date d'inscription   Statut Membre Dernière intervention   50
 
"le seul probleme est que je n'arrrive pas a remplire le premier formulaire du nom des clients.
comment faut il faire pour faire apparaitre les noms dans ce formulaire ?"


Il faut utiliser la propriété RowSource de la ListBox.

"si je rajoute dans le formulaire (détail client) un multipage avec deux onglets ou je peux saisir du texte dedans. Comment dois je faire pour que le texte inséré soit sauvegardé car a chaque fois que je réouvre tout disparait".

Normal que cela ne sauvegade pas ton texte. Comme je te l'ai dit, c'est une coquille, il faudra faire un traitement pour associer le texte saisi à la ligne séléctionné (v. colonne caché dans la ListBox). Ainsi lorsque tu valideras, cette information ne seras pas perdue. De plus, tu
n'as pas besoin de faire un multipage. Il te suffit de dessiner une zone de saisie sur la 2ème UserForm.

voir ceci : http://www.cijoint.fr/cij14962782028255.xls


PS : je suis au taf ... je pourrais te donner plus de précision ce soir si tu veux ...
0
thierrymalagnou Messages postés 49 Date d'inscription   Statut Membre Dernière intervention  
 
ca me rend fou VBA

je sais pas comment tu fais.

merci je vais essayer de bidouiller.

bon courage au taf
0
ShaBoo Messages postés 392 Date d'inscription   Statut Membre Dernière intervention   50
 
"ca me rend fou VBA "

Il faut que tu te concentres sur les propriétés et les méthodes des objets. N'hésites pas à utiliser l'aide en ligne, il ya des exemples simples et intéressants ...

Si tu as besoin de plus de précision, fais moi parvenir un msg en MP ...

Je compléterais le fichier excel ce soir ...
0